Files
headroom/frontend/node_modules/daisyui/components/kbd.css
Santhosh Janardhanan de2d83092e feat: Reinitialize frontend with SvelteKit and TypeScript
- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
2026-02-17 16:19:59 -05:00

1 line
6.0 KiB
CSS

/*! 🌼 daisyUI 5.5.17 - MIT License */ @layer utilities{.kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}@media (width>=640px){.sm\:kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.sm\:kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.sm\:kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.sm\:kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.sm\:kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.sm\:kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}}@media (width>=768px){.md\:kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.md\:kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.md\:kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.md\:kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.md\:kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.md\:kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}}@media (width>=1024px){.lg\:kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.lg\:kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.lg\:kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.lg\:kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.lg\:kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.lg\:kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}}@media (width>=1280px){.xl\:kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.xl\:kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.xl\:kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.xl\:kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.xl\:kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.xl\:kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}}@media (width>=1536px){.\32 xl\:kbd{box-shadow:none;@layer daisyui.l1.l2.l3{&{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-inline:.5em;font-size:.875rem;display:inline-flex}}}.\32 xl\:kbd-xs{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*4);font-size:.625rem}}}.\32 xl\:kbd-sm{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*5);font-size:.75rem}}}.\32 xl\:kbd-md{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*6);font-size:.875rem}}}.\32 xl\:kbd-lg{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*7);font-size:1rem}}}.\32 xl\:kbd-xl{@layer daisyui.l1.l2{&{--size:calc(var(--size-selector,.25rem)*8);font-size:1.125rem}}}}}