From 3f828a754b3a7967e12e26a5481dcc601bf31b93 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 6 Nov 2025 09:24:44 +0100 Subject: [PATCH] feat(frontend): main page --- .env.example | 11 +- .envrc.local | 5 + .gitignore | 1 + .volarrc | 9 + frontend/README.org | 25 + frontend/app/app.vue | 26 +- frontend/app/assets/css/colors.css | 132 ++ frontend/app/assets/css/main.css | 7 + frontend/app/assets/css/tailwind.css | 84 ++ frontend/app/assets/css/ui/background.css | 14 + frontend/app/assets/css/ui/border.css | 12 + frontend/app/assets/css/ui/colors.css | 16 + frontend/app/assets/css/ui/index.css | 4 + frontend/app/assets/css/ui/text.css | 16 + frontend/app/components/AppFooter.vue | 33 + frontend/app/components/AppNavbar.vue | 29 + .../components/navbar/LanguageSwitcher.vue | 30 + .../app/components/navbar/ThemeSwitcher.vue | 31 + .../composables/useBackend.ts} | 0 frontend/app/layouts/default.vue | 5 + frontend/app/pages/contact.vue | 5 + frontend/app/pages/index.vue | 3 + frontend/app/pages/languages.vue | 5 + frontend/app/pages/resume.vue | 5 + frontend/app/pages/vocal-synthesis.vue | 5 + frontend/app/types/dictionary.ts | 3 + frontend/components/Navbar.vue | 11 - frontend/content.config.ts | 1 - frontend/i18n/locales/en.json | 37 + frontend/i18n/locales/fr.json | 37 + frontend/nuxt.config.ts | 43 +- frontend/package.json | 13 + frontend/pnpm-lock.yaml | 1309 +++++++++++------ frontend/shell.nix | 11 +- 34 files changed, 1536 insertions(+), 442 deletions(-) create mode 100644 .envrc.local create mode 100644 .volarrc create mode 100644 frontend/app/assets/css/colors.css create mode 100644 frontend/app/assets/css/main.css create mode 100644 frontend/app/assets/css/tailwind.css create mode 100644 frontend/app/assets/css/ui/background.css create mode 100644 frontend/app/assets/css/ui/border.css create mode 100644 frontend/app/assets/css/ui/colors.css create mode 100644 frontend/app/assets/css/ui/index.css create mode 100644 frontend/app/assets/css/ui/text.css create mode 100644 frontend/app/components/AppFooter.vue create mode 100644 frontend/app/components/AppNavbar.vue create mode 100644 frontend/app/components/navbar/LanguageSwitcher.vue create mode 100644 frontend/app/components/navbar/ThemeSwitcher.vue rename frontend/{.volarrc => app/composables/useBackend.ts} (100%) create mode 100644 frontend/app/layouts/default.vue create mode 100644 frontend/app/pages/contact.vue create mode 100644 frontend/app/pages/index.vue create mode 100644 frontend/app/pages/languages.vue create mode 100644 frontend/app/pages/resume.vue create mode 100644 frontend/app/pages/vocal-synthesis.vue create mode 100644 frontend/app/types/dictionary.ts delete mode 100644 frontend/components/Navbar.vue create mode 100644 frontend/i18n/locales/en.json create mode 100644 frontend/i18n/locales/fr.json diff --git a/.env.example b/.env.example index 6dd087c..106d151 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,12 @@ +APP_ENVIRONMENT=dev +APP__EMAIL__HOST=mail.example.com +APP__EMAIL__PORT=465 +APP__EMAIL__TLS=true +APP__EMAIL__STARTTLS=no +APP__EMAIL__USER="username" +APP__EMAIL__PASSWORD="changeme" +APP__EMAIL__RECIPIENT="Recipient " +APP__EMAIL__FROM="Contact Form " +NUXT_PUBLIC_BACKEND_URL=http://localhost:3100 NUXT_PUBLIC_TURNSTILE_SITE_KEY="changeme" NUXT_TURNSTILE_SECRET_KEY="changeme" -NUXT_BACKEND=http://localhost:3001 diff --git a/.envrc.local b/.envrc.local new file mode 100644 index 0000000..b1a99ff --- /dev/null +++ b/.envrc.local @@ -0,0 +1,5 @@ +export NIX_SHELL_NAME=frontend + +# Local Variables: +# mode: dotenv +# End: diff --git a/.gitignore b/.gitignore index 1223924..7eb6a5d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ node_modules # Nix result +.data/ diff --git a/.volarrc b/.volarrc new file mode 100644 index 0000000..1731d06 --- /dev/null +++ b/.volarrc @@ -0,0 +1,9 @@ +{ + "vueCompilerOptions": { + "target": 3.5, + "extensions": [".vue"] + }, + "typescript": { + "tsdk": "frontend/node_modules/typescript/lib" + } +} diff --git a/frontend/README.org b/frontend/README.org index 528b7fc..caea59a 100644 --- a/frontend/README.org +++ b/frontend/README.org @@ -107,3 +107,28 @@ bun run preview #+end_src Check out the [[https://nuxt.com/docs/getting-started/deployment][deployment documentation]] for more information. + +* Known Issues +** =better-sqlite3= self-registration error +If you encounter an error stating that =better-sqlite3= does not +self-register when running =pnpm run dev=, this is typically caused by +the native module being compiled for a different Node.js version. + +*Solution:* Rebuild the native module for your current Node.js version: + +#+begin_src bash +# Rebuild just better-sqlite3 +pnpm rebuild better-sqlite3 + +# Or rebuild all native modules +pnpm rebuild + +# Or reinstall everything (nuclear option) +rm -rf node_modules +pnpm install +#+end_src + +*Why this happens:* =better-sqlite3= contains native C++ code that +needs to be compiled for each specific Node.js version. When you +update Node.js or switch between versions, native modules need to be +rebuilt. diff --git a/frontend/app/app.vue b/frontend/app/app.vue index 6b51a0a..89e1c3b 100644 --- a/frontend/app/app.vue +++ b/frontend/app/app.vue @@ -1,5 +1,25 @@ + + diff --git a/frontend/app/assets/css/colors.css b/frontend/app/assets/css/colors.css new file mode 100644 index 0000000..07f158a --- /dev/null +++ b/frontend/app/assets/css/colors.css @@ -0,0 +1,132 @@ +:root { + --text-50: oklch(96.68% 0.005 95.1); + --text-100: oklch(93.31% 0.012 96.43); + --text-200: oklch(86.46% 0.023 98.68); + --text-300: oklch(79.55% 0.036 98.17); + --text-400: oklch(72.45% 0.047 99.12); + --text-500: oklch(65.27% 0.06 98.88); + --text-600: oklch(55.54% 0.05 99.33); + --text-700: oklch(45.43% 0.04 98.55); + --text-800: oklch(34.63% 0.028 99.26); + --text-900: oklch(22.99% 0.017 97.01); + --text: oklch(17.69% 0.01 97.92); + --text-950: oklch(16.34% 0.008 95.54); + + --background: oklch(97.33% 0.007 88.64); + --background-50: oklch(96.7% 0.008 91.48); + --background-100: oklch(93.46% 0.017 88); + --background-200: oklch(86.85% 0.034 88.07); + --background-300: oklch(80.17% 0.051 88.07); + --background-400: oklch(73.62% 0.069 89.26); + --background-500: oklch(66.8% 0.085 88.59); + --background-600: oklch(56.88% 0.071 88.9); + --background-700: oklch(46.26% 0.056 87.6); + --background-800: oklch(35.24% 0.04 87.71); + --background-900: oklch(23.27% 0.023 87.9); + --background-950: oklch(16.86% 0.012 91.89); + + --primary-50: oklch(97.22% 0.012 96.42); + --primary-100: oklch(94.41% 0.025 97.12); + --primary-200: oklch(88.75% 0.05 98.42); + --primary-300: oklch(83.15% 0.074 98.36); + --primary-400: oklch(77.55% 0.097 98.29); + --primary: oklch(74.12% 0.109 98.34); + --primary-500: oklch(72% 0.116 97.93); + --primary-600: oklch(61.14% 0.097 98.09); + --primary-700: oklch(49.77% 0.077 98.34); + --primary-800: oklch(37.71% 0.055 98.79); + --primary-900: oklch(24.68% 0.033 97.74); + --primary-950: oklch(17.23% 0.018 97.53); + + --secondary-50: oklch(97.69% 0.019 100.12); + --secondary-100: oklch(95.28% 0.036 96.71); + --secondary-200: oklch(90.57% 0.07 97.74); + --secondary-300: oklch(86.23% 0.103 98.42); + --secondary: oklch(83.86% 0.116 98.04); + --secondary-400: oklch(81.72% 0.129 98.31); + --secondary-500: oklch(77.44% 0.146 97.07); + --secondary-600: oklch(65.69% 0.123 97.5); + --secondary-700: oklch(53.48% 0.099 97.52); + --secondary-800: oklch(40.18% 0.072 97.19); + --secondary-900: oklch(26.04% 0.043 96.76); + --secondary-950: oklch(18.17% 0.026 97.52); + + --accent-50: oklch(97.77% 0.019 96.86); + --accent-100: oklch(95.53% 0.039 97.44); + --accent-200: oklch(91.16% 0.076 97.81); + --accent-300: oklch(86.92% 0.11 97.94); + --accent: oklch(82.74% 0.136 98); + --accent-400: oklch(82.74% 0.136 98); + --accent-500: oklch(78.81% 0.152 96.76); + --accent-600: oklch(66.8% 0.128 96.97); + --accent-700: oklch(54.33% 0.103 96.65); + --accent-800: oklch(40.98% 0.076 96.95); + --accent-900: oklch(26.42% 0.045 97.53); + --accent-950: oklch(18.44% 0.029 102.49); +} +.dark { + --text-50: oklch(16.34% 0.008 95.54); + --text: oklch(96.05% 0.007 97.35); + --text-100: oklch(22.99% 0.017 97.01); + --text-200: oklch(34.63% 0.028 99.26); + --text-300: oklch(45.43% 0.04 98.55); + --text-400: oklch(55.54% 0.05 99.33); + --text-500: oklch(65.27% 0.06 98.88); + --text-600: oklch(72.45% 0.047 99.12); + --text-700: oklch(79.55% 0.036 98.17); + --text-800: oklch(86.46% 0.023 98.68); + --text-900: oklch(93.31% 0.012 96.43); + --text-950: oklch(96.68% 0.005 95.1); + + --background-50: oklch(16.86% 0.012 91.89); + --background-100: oklch(23.27% 0.023 87.9); + --background-200: oklch(35.24% 0.04 87.71); + --background-300: oklch(46.26% 0.056 87.6); + --background-400: oklch(56.88% 0.071 88.9); + --background-500: oklch(66.8% 0.085 88.59); + --background-600: oklch(73.62% 0.069 89.26); + --background-700: oklch(80.17% 0.051 88.07); + --background-800: oklch(86.85% 0.034 88.07); + --background-900: oklch(93.46% 0.017 88); + --background-950: oklch(96.7% 0.008 91.48); + --background: oklch(15.48% 0.011 89.86); + + --primary-50: oklch(17.23% 0.018 97.53); + --primary-100: oklch(24.68% 0.033 97.74); + --primary-200: oklch(37.71% 0.055 98.79); + --primary-300: oklch(49.77% 0.077 98.34); + --primary-400: oklch(61.14% 0.097 98.09); + --primary: oklch(67.74% 0.108 98.2); + --primary-500: oklch(72% 0.116 97.93); + --primary-600: oklch(77.55% 0.097 98.29); + --primary-700: oklch(83.15% 0.074 98.36); + --primary-800: oklch(88.75% 0.05 98.42); + --primary-900: oklch(94.41% 0.025 97.12); + --primary-950: oklch(97.22% 0.012 96.42); + + --secondary-50: oklch(18.17% 0.026 97.52); + --secondary-100: oklch(26.04% 0.043 96.76); + --secondary-200: oklch(40.18% 0.072 97.19); + --secondary-300: oklch(53.48% 0.099 97.52); + --secondary: oklch(59.61% 0.111 97.84); + --secondary-400: oklch(65.69% 0.123 97.5); + --secondary-500: oklch(77.44% 0.146 97.07); + --secondary-600: oklch(81.72% 0.129 98.31); + --secondary-700: oklch(86.23% 0.103 98.42); + --secondary-800: oklch(90.57% 0.07 97.74); + --secondary-900: oklch(95.28% 0.036 96.71); + --secondary-950: oklch(97.69% 0.019 100.12); + + --accent-50: oklch(18.44% 0.029 102.49); + --accent-100: oklch(26.42% 0.045 97.53); + --accent-200: oklch(40.98% 0.076 96.95); + --accent-300: oklch(54.33% 0.103 96.65); + --accent: oklch(66.8% 0.128 96.97); + --accent-400: oklch(66.8% 0.128 96.97); + --accent-500: oklch(78.81% 0.152 96.76); + --accent-600: oklch(82.74% 0.136 98); + --accent-700: oklch(86.92% 0.11 97.94); + --accent-800: oklch(91.16% 0.076 97.81); + --accent-900: oklch(95.53% 0.039 97.44); + --accent-950: oklch(97.77% 0.019 96.86); +} diff --git a/frontend/app/assets/css/main.css b/frontend/app/assets/css/main.css new file mode 100644 index 0000000..26b3bb8 --- /dev/null +++ b/frontend/app/assets/css/main.css @@ -0,0 +1,7 @@ +@import 'tailwindcss'; +@import '@nuxt/ui'; +@import './colors.css'; +@import './ui/index.css'; +@import './tailwind.css'; + +@source "../../../content/**/*"; diff --git a/frontend/app/assets/css/tailwind.css b/frontend/app/assets/css/tailwind.css new file mode 100644 index 0000000..f1e20e7 --- /dev/null +++ b/frontend/app/assets/css/tailwind.css @@ -0,0 +1,84 @@ +@layer base { + --color-text-50: var(--text-50); + --color-text: var(--text); + --color-text-100: var(--text-100); + --color-text-200: var(--text-200); + --color-text-300: var(--text-300); + --color-text-400: var(--text-400); + --color-text-500: var(--text-500); + --color-text-600: var(--text-600); + --color-text-700: var(--text-700); + --color-text-800: var(--text-800); + --color-text-900: var(--text-900); + --color-text-950: var(--text-950); + + --color-background-50: var(--background-50); + --color-background-100: var(--background-100); + --color-background-200: var(--background-200); + --color-background-300: var(--background-300); + --color-background-400: var(--background-400); + --color-background-500: var(--background-500); + --color-background-600: var(--background-600); + --color-background-700: var(--background-700); + --color-background-800: var(--background-800); + --color-background-900: var(--background-900); + --color-background-950: var(--background-950); + --color-background: var(--background); + + --color-primary-50: var(--primary-50); + --color-primary-100: var(--primary-100); + --color-primary-200: var(--primary-200); + --color-primary-300: var(--primary-300); + --color-primary-400: var(--primary-400); + --color-primary: var(--primary); + --color-primary-500: var(--primary-500); + --color-primary-600: var(--primary-600); + --color-primary-700: var(--primary-700); + --color-primary-800: var(--primary-800); + --color-primary-900: var(--primary-900); + --color-primary-950: var(--primary-950); + + --color-secondary-50: var(--secondary-50); + --color-secondary-100: var(--secondary-100); + --color-secondary-200: var(--secondary-200); + --color-secondary-300: var(--secondary-300); + --color-secondary: var(--secondary); + --color-secondary-400: var(--secondary-400); + --color-secondary-500: var(--secondary-500); + --color-secondary-600: var(--secondary-600); + --color-secondary-700: var(--secondary-700); + --color-secondary-800: var(--secondary-800); + --color-secondary-900: var(--secondary-900); + --color-secondary-950: var(--secondary-950); + + --color-accent-50: var(--accent-50); + --color-accent-100: var(--accent-100); + --color-accent-200: var(--accent-200); + --color-accent-300: var(--accent-300); + --color-accent: var(--accent); + --color-accent-400: var(--accent-400); + --color-accent-500: var(--accent-500); + --color-accent-600: var(--accent-600); + --color-accent-700: var(--accent-700); + --color-accent-800: var(--accent-800); + --color-accent-900: var(--accent-900); + --color-accent-950: var(--accent-950); + + --text-sm: 0.75rem; + --text-base: 1rem; + --text-xl: 1.333rem; + --text-2xl: 1.777rem; + --text-3xl: 2.369rem; + --text-4xl: 3.158rem; + --text-5xl: 4.21rem; + + --text-weight-normal: 400; + --text-weight-bold: 700; + + --font-sans: + Noto Sans, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-title: + Wittgenstein, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} diff --git a/frontend/app/assets/css/ui/background.css b/frontend/app/assets/css/ui/background.css new file mode 100644 index 0000000..a6ba866 --- /dev/null +++ b/frontend/app/assets/css/ui/background.css @@ -0,0 +1,14 @@ +:root { + --ui-bg: var(--background); + --ui-bg-muted: var(--background-300); + --ui-bg-elevated: var(--background-100); + --ui-bg-accented: var(--backgsound-200); + --ui-bg-inverted: var(--background-900); +} +.dark { + --ui-bg: var(--background); + --ui-bg-muted: var(--background-100); + --ui-bg-elevated: var(--background-200); + --ui-bg-accented: var(--background-300); + --ui-bg-inverted: var(--background-900); +} diff --git a/frontend/app/assets/css/ui/border.css b/frontend/app/assets/css/ui/border.css new file mode 100644 index 0000000..0db3558 --- /dev/null +++ b/frontend/app/assets/css/ui/border.css @@ -0,0 +1,12 @@ +:root { + --ui-border: var(--background-200); + --ui-border-muted: var(--background-200); + --ui-border-accented: var(--background-300); + --ui-border-inverted: var(--background-900); +} +.dark { + --ui-border: var(--background-100); + --ui-border-muted: var(--background-200); + --ui-border-accented: var(--background-200); + --ui-border-inverted: var(--background-900); +} diff --git a/frontend/app/assets/css/ui/colors.css b/frontend/app/assets/css/ui/colors.css new file mode 100644 index 0000000..81f239f --- /dev/null +++ b/frontend/app/assets/css/ui/colors.css @@ -0,0 +1,16 @@ +:root { + --ui-primary: var(--color-primary); + --ui-secondary: var(--color-secondary); + --ui-success: var(--color-accent); + --ui-info: var(--ui-color-info-500); + --ui-warning: var(--ui-color-warning-500); + --ui-error: var(--ui-color-error-500); +} +.dark { + --ui-primary: var(--color-primary-dark); + --ui-secondary: var(--color-secondary-dark); + --ui-success: var(--color-accent); + --ui-info: var(--ui-color-info-400); + --ui-warning: var(--ui-color-warning-400); + --ui-error: var(--ui-color-error-400); +} diff --git a/frontend/app/assets/css/ui/index.css b/frontend/app/assets/css/ui/index.css new file mode 100644 index 0000000..51c7b8a --- /dev/null +++ b/frontend/app/assets/css/ui/index.css @@ -0,0 +1,4 @@ +@import "./colors.css"; +@import "./text.css"; +@import "./background.css"; +@import "./border.css"; diff --git a/frontend/app/assets/css/ui/text.css b/frontend/app/assets/css/ui/text.css new file mode 100644 index 0000000..c213533 --- /dev/null +++ b/frontend/app/assets/css/ui/text.css @@ -0,0 +1,16 @@ +:root { + --ui-text-dimmed: var(--text-400); + --ui-text-muted: var(--text-500); + --ui-text-toned: var(--text-600); + --ui-text: var(--text); + --ui-text-highlighted: var(--text-900); + --ui-text-inverted: var(--text-50); +} +.dark { + --ui-text-dimmed: var(--text-500); + --ui-text-muted: var(--text-400); + --ui-text-toned: var(--text-300); + --ui-text: var(--text); + --ui-text-highlighted: var(--text); + --ui-text-inverted: var(--text-50); +} diff --git a/frontend/app/components/AppFooter.vue b/frontend/app/components/AppFooter.vue new file mode 100644 index 0000000..06b76b5 --- /dev/null +++ b/frontend/app/components/AppFooter.vue @@ -0,0 +1,33 @@ + + + diff --git a/frontend/app/components/AppNavbar.vue b/frontend/app/components/AppNavbar.vue new file mode 100644 index 0000000..95c2c80 --- /dev/null +++ b/frontend/app/components/AppNavbar.vue @@ -0,0 +1,29 @@ + + + diff --git a/frontend/app/components/navbar/LanguageSwitcher.vue b/frontend/app/components/navbar/LanguageSwitcher.vue new file mode 100644 index 0000000..22cc8db --- /dev/null +++ b/frontend/app/components/navbar/LanguageSwitcher.vue @@ -0,0 +1,30 @@ + + + diff --git a/frontend/app/components/navbar/ThemeSwitcher.vue b/frontend/app/components/navbar/ThemeSwitcher.vue new file mode 100644 index 0000000..c97d08b --- /dev/null +++ b/frontend/app/components/navbar/ThemeSwitcher.vue @@ -0,0 +1,31 @@ + + + diff --git a/frontend/.volarrc b/frontend/app/composables/useBackend.ts similarity index 100% rename from frontend/.volarrc rename to frontend/app/composables/useBackend.ts diff --git a/frontend/app/layouts/default.vue b/frontend/app/layouts/default.vue new file mode 100644 index 0000000..56a8b72 --- /dev/null +++ b/frontend/app/layouts/default.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/app/pages/contact.vue b/frontend/app/pages/contact.vue new file mode 100644 index 0000000..ecbdae7 --- /dev/null +++ b/frontend/app/pages/contact.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/app/pages/index.vue b/frontend/app/pages/index.vue new file mode 100644 index 0000000..5408d05 --- /dev/null +++ b/frontend/app/pages/index.vue @@ -0,0 +1,3 @@ + diff --git a/frontend/app/pages/languages.vue b/frontend/app/pages/languages.vue new file mode 100644 index 0000000..6a6d42c --- /dev/null +++ b/frontend/app/pages/languages.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/app/pages/resume.vue b/frontend/app/pages/resume.vue new file mode 100644 index 0000000..7c60895 --- /dev/null +++ b/frontend/app/pages/resume.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/app/pages/vocal-synthesis.vue b/frontend/app/pages/vocal-synthesis.vue new file mode 100644 index 0000000..5e5aa53 --- /dev/null +++ b/frontend/app/pages/vocal-synthesis.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/app/types/dictionary.ts b/frontend/app/types/dictionary.ts new file mode 100644 index 0000000..0a7e95e --- /dev/null +++ b/frontend/app/types/dictionary.ts @@ -0,0 +1,3 @@ +export interface Dictionary { + [key: K]: T +} diff --git a/frontend/components/Navbar.vue b/frontend/components/Navbar.vue deleted file mode 100644 index 7cbe040..0000000 --- a/frontend/components/Navbar.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/frontend/content.config.ts b/frontend/content.config.ts index b02dd96..3a19a08 100644 --- a/frontend/content.config.ts +++ b/frontend/content.config.ts @@ -1,6 +1,5 @@ import { defineCollection, defineContentConfig } from '@nuxt/content'; import { z } from 'zod'; -z; const commonSchema = z.object({}); diff --git a/frontend/i18n/locales/en.json b/frontend/i18n/locales/en.json new file mode 100644 index 0000000..efc1f7c --- /dev/null +++ b/frontend/i18n/locales/en.json @@ -0,0 +1,37 @@ +{ + "website": { + "name": "Lucien Cartier-Tilet", + "langSwitch": "Language" + }, + "menu": { + "name": "Menu" + }, + "theme": { + "name": "theme", + "dark": "Dark", + "light": "Light", + "system": "System" + }, + "pages": { + "home": { + "name": "Home" + }, + "resume": { + "name": "Resume" + }, + "vocal-synthesis": { + "name": "Vocal Synthesis" + }, + "languages": { + "name": "Languages & Worldbuilding" + }, + "contact": { + "name": "Contact" + } + }, + "footer": { + "links": { + "source": "Website’s source code" + } + } +} diff --git a/frontend/i18n/locales/fr.json b/frontend/i18n/locales/fr.json new file mode 100644 index 0000000..f3a1c57 --- /dev/null +++ b/frontend/i18n/locales/fr.json @@ -0,0 +1,37 @@ +{ + "website": { + "name": "Lucien Cartier-Tilet", + "langSwitch": "Language" + }, + "menu": { + "name": "Menu" + }, + "theme": { + "name": "Thème", + "dark": "Sombre", + "light": "Clair", + "system": "Système" + }, + "pages": { + "home": { + "name": "Accueil" + }, + "resume": { + "name": "CV" + }, + "vocal-synthesis": { + "name": "Synthèse Vocale" + }, + "languages": { + "name": "Langues et Univers Fictifs" + }, + "contact": { + "name": "Contact" + } + }, + "footer": { + "links": { + "source": "Code source du site web " + } + } +} diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index dad5111..5c8f0a7 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -8,16 +8,22 @@ export default defineNuxtConfig({ }, modules: [ - '@nuxt/content', '@nuxt/eslint', '@nuxt/image', '@nuxt/test-utils', '@nuxt/ui', + '@nuxt/content', '@vueuse/nuxt', '@nuxtjs/i18n', '@nuxtjs/turnstile', + '@nuxtjs/device', + '@nuxt/icon', + '@nuxt/fonts', + '@nuxtjs/color-mode', + '@nuxtjs/tailwindcss', ], + css: ['~/assets/css/main.css'], content: { database: { type: 'sqlite', @@ -26,19 +32,44 @@ export default defineNuxtConfig({ }, i18n: { locales: [ - { code: 'en', name: 'English', language: 'en-UK' }, - { code: 'fr', name: 'Français', language: 'fr-FR' }, - { code: 'lfn', name: 'Lingua Franca Nova', language: 'lfn' }, + { code: 'en', name: 'English', language: 'en-UK', file: 'en.json' }, + { code: 'fr', name: 'Français', language: 'fr-FR', file: 'fr.json' }, + // { code: 'lfn', name: 'Lingua Franca Nova', language: 'lfn', file: 'lfn.json' }, + // { code: 'ei', name: 'Eittlandic', language: 'ei-ST', file: 'ei.json' }, ], - strategy: 'prefix_except_default', + strategy: 'no_prefix', defaultLocale: 'en', }, + fonts: { + provider: 'google', + processCSSVariables: true, + defaults: { + weights: [400, 700], + styles: ['normal', 'italic'], + }, + families: [ + { name: 'Noto Sans', provider: 'google' }, + { name: 'Wittgenstein', provider: 'google' } + ] + }, + icon: { + serverBundle: { + collections: ['material-symbols'] + } + }, + postcss: { + plugins: { + '@tailwindcss/postcss': {}, + 'autoprefixer': {} + } + }, turnstile: { siteKey: '', // Overridden by NUXT_PUBLIC_TURNSTILE_SITE_KEY + addValidateEndpoint: true }, runtimeConfig: { turnstile: { secretKey: '', // Overriden by NUXT_TURNSTILE_SECRET_KEY }, }, -}); +}); \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 3f0fb65..86dd5db 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,11 +13,17 @@ "dependencies": { "@nuxt/content": "3.8.0", "@nuxt/eslint": "1.10.0", + "@nuxt/fonts": "0.12.1", + "@nuxt/icon": "2.1.0", "@nuxt/image": "1.11.0", "@nuxt/scripts": "^0.12.2", "@nuxt/test-utils": "3.20.1", "@nuxt/ui": "4.1.0", + "@nuxtjs/color-mode": "3.5.2", + "@nuxtjs/device": "3.2.4", + "@nuxtjs/tailwindcss": "7.0.0-beta.0", "@nuxtjs/turnstile": "1.1.1", + "@vueuse/core": "^14.0.0", "@vueuse/nuxt": "14.0.0", "better-sqlite3": "^12.4.1", "eslint": "^9.39.1", @@ -30,7 +36,14 @@ "vue-router": "^4.6.3" }, "devDependencies": { + "@iconify-json/material-symbols": "^1.2.44", + "@iconify-json/material-symbols-light": "^1.2.44", "@nuxtjs/i18n": "^10.2.0", + "@tailwindcss/postcss": "^4.1.17", + "autoprefixer": "^10.4.22", + "less": "^4.4.2", + "postcss": "^8.5.6", + "tailwindcss": "^4.1.17", "zod": "^4.1.12" } } diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 9668ed6..af63c92 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -13,25 +13,43 @@ importers: version: 3.8.0(better-sqlite3@12.4.1)(magicast@0.5.1)(valibot@1.1.0(typescript@5.9.3)) '@nuxt/eslint': specifier: 1.10.0 - version: 1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1))(magicast@0.5.1)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + version: 1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1))(magicast@0.5.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@nuxt/fonts': + specifier: 0.12.1 + version: 0.12.1(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@nuxt/icon': + specifier: 2.1.0 + version: 2.1.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) '@nuxt/image': specifier: 1.11.0 version: 1.11.0(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1) '@nuxt/scripts': specifier: ^0.12.2 - version: 0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) + version: 0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)) '@nuxt/test-utils': specifier: 3.20.1 version: 3.20.1(magicast@0.5.1)(typescript@5.9.3) '@nuxt/ui': specifier: 4.1.0 - version: 4.1.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.4.1))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(valibot@1.1.0(typescript@5.9.3))(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))(zod@4.1.12) + version: 4.1.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.4.1))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(valibot@1.1.0(typescript@5.9.3))(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))(zod@4.1.12) + '@nuxtjs/color-mode': + specifier: 3.5.2 + version: 3.5.2(magicast@0.5.1) + '@nuxtjs/device': + specifier: 3.2.4 + version: 3.2.4 + '@nuxtjs/tailwindcss': + specifier: 7.0.0-beta.0 + version: 7.0.0-beta.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) '@nuxtjs/turnstile': specifier: 1.1.1 - version: 1.1.1(@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(magicast@0.5.1) + version: 1.1.1(@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)))(magicast@0.5.1) + '@vueuse/core': + specifier: ^14.0.0 + version: 14.0.0(vue@3.5.23(typescript@5.9.3)) '@vueuse/nuxt': specifier: 14.0.0 - version: 14.0.0(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + version: 14.0.0(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) better-sqlite3: specifier: ^12.4.1 version: 12.4.1 @@ -46,31 +64,52 @@ importers: version: 3.30.0 nuxt: specifier: ^4.2.0 - version: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1) + version: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1) typescript: specifier: ^5.9.3 version: 5.9.3 vite: specifier: ^7.1.12 - version: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + version: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) vue: specifier: ^3.5.22 - version: 3.5.22(typescript@5.9.3) + version: 3.5.23(typescript@5.9.3) vue-router: specifier: ^4.6.3 - version: 4.6.3(vue@3.5.22(typescript@5.9.3)) + version: 4.6.3(vue@3.5.23(typescript@5.9.3)) devDependencies: + '@iconify-json/material-symbols': + specifier: ^1.2.44 + version: 1.2.44 + '@iconify-json/material-symbols-light': + specifier: ^1.2.44 + version: 1.2.44 '@nuxtjs/i18n': specifier: ^10.2.0 - version: 10.2.0(@vue/compiler-dom@3.5.22)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.5.1)(rollup@4.52.5)(vue@3.5.22(typescript@5.9.3)) + version: 10.2.0(@vue/compiler-dom@3.5.23)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.5.1)(rollup@4.52.5)(vue@3.5.23(typescript@5.9.3)) + '@tailwindcss/postcss': + specifier: ^4.1.17 + version: 4.1.17 + autoprefixer: + specifier: ^10.4.22 + version: 10.4.22(postcss@8.5.6) + less: + specifier: ^4.4.2 + version: 4.4.2 + postcss: + specifier: ^8.5.6 + version: 8.5.6 + tailwindcss: + specifier: ^4.1.17 + version: 4.1.17 zod: specifier: ^4.1.12 version: 4.1.12 packages: - '@ai-sdk/gateway@2.0.6': - resolution: {integrity: sha512-FmhR6Tle09I/RUda8WSPpJ57mjPWzhiVVlB50D+k+Qf/PBW0CBtnbAUxlNSR5v+NIZNLTK3C56lhb23ntEdxhQ==} + '@ai-sdk/gateway@2.0.7': + resolution: {integrity: sha512-/AI5AKi4vOK9SEb8Z1dfXkhsJ5NAfWsoJQc96B/mzn2KIrjw5occOjIwD06scuhV9xWlghCoXJT1sQD9QH/tyg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -85,8 +124,8 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/vue@2.0.87': - resolution: {integrity: sha512-aO5LHCIvwdaZuztPXNe0YntdEmx8akmQcmbA6rG+OnXdOblMyKo1+4ewYK2zOEqf+KHMq73YzLZerM3eSLD3IQ==} + '@ai-sdk/vue@2.0.88': + resolution: {integrity: sha512-z/fku6yldwSgQLbAza/+jrKPFCcLYz45WJ3rLhzd55ut1VRGPIGRPOkVytzJJbtoV9nvh2Kxx7w491waa6jc6w==} engines: {node: '>=18'} peerDependencies: vue: ^3.3.4 @@ -240,6 +279,10 @@ packages: '@capsizecss/unpack@2.4.0': resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==} + '@capsizecss/unpack@3.0.0': + resolution: {integrity: sha512-+ntATQe1AlL7nTOYjwjj6w3299CgRot48wL761TUGYpYgAou3AaONZazp0PKZyCyWhudWsjhq1nvRHOvbMzhTA==} + engines: {node: '>=18'} + '@clack/core@0.5.0': resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} @@ -517,8 +560,14 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify/collections@1.0.614': - resolution: {integrity: sha512-j+5AM/tcMXicNktY1N6ZfnRH8WrK4NurONe2LejP2eQi6aN7R+IH7tDax+7CJAIf+G25pRxlFOTDv4+X7FmerA==} + '@iconify-json/material-symbols-light@1.2.44': + resolution: {integrity: sha512-KV7SIldb8GExceMjlXiF69dZpJig3plyXto7yB45kh8wlamTO04uQE6ua/9XqNAnZyaXf4UljDsFUabaTrkJPg==} + + '@iconify-json/material-symbols@1.2.44': + resolution: {integrity: sha512-NAJjhswaK9FxBeIzFFsNygws7wHtmAkBWhF4YEwn1NZIMbA+LNITqhUiq6sP5mOdKQqnoritFTlQaZ47a5BgBg==} + + '@iconify/collections@1.0.615': + resolution: {integrity: sha512-OBBvPu0CAdl042CfDBxt4zWVUxTwnK2kRBatab/y8d/t2XML9QGrA8A2hpaIFpYPPILSs6a4+gBkAGVXSKkBsQ==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -771,6 +820,9 @@ packages: '@nuxt/fonts@0.11.4': resolution: {integrity: sha512-GbLavsC+9FejVwY+KU4/wonJsKhcwOZx/eo4EuV57C4osnF/AtEmev8xqI0DNlebMEhEGZbu1MGwDDDYbeR7Bw==} + '@nuxt/fonts@0.12.1': + resolution: {integrity: sha512-ALajI/HE+uqqL/PWkWwaSUm1IdpyGPbP3mYGy2U1l26/o4lUZBxjFaduMxaZ85jS5yQeJfCu2eEHANYFjAoujQ==} + '@nuxt/icon@2.1.0': resolution: {integrity: sha512-m+XQrgzeK5gQ1HkB7G7u1os6egoD07fiHKijG7NPxqT5yZUGOjKJ7X/Le10l3QWRKyCB+IiU0t+eUqSvh+SULg==} @@ -786,6 +838,10 @@ packages: resolution: {integrity: sha512-1yN3LL6RDN5GjkNLPUYCbNRkaYnat6hqejPyfIBBVzrWOrpiQeNMGxQM/IcVdaSuBJXAnu0sUvTKXpXkmPhljg==} engines: {node: '>=18.12.0'} + '@nuxt/kit@4.2.1': + resolution: {integrity: sha512-lLt8KLHyl7IClc3RqRpRikz15eCfTRlAWL9leVzPyg5N87FfKE/7EWgWvpiL/z4Tf3dQCIqQb88TmHE0JTIDvA==} + engines: {node: '>=18.12.0'} + '@nuxt/nitro-server@4.2.0': resolution: {integrity: sha512-1fZwAV+VTQwmPVUYKH+eoeB+3jPE+c/mreK3PpuY6vvrIDuMh9L4QIeLFB0fIcY2MJ4XkvjU/5w3B9uu3GR9yQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -901,12 +957,18 @@ packages: '@nuxtjs/color-mode@3.5.2': resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} + '@nuxtjs/device@3.2.4': + resolution: {integrity: sha512-jIvN6QeodBNrUrL/1FCHk4bebsiLsGHlJd8c/m2ksLrGY4IZ0npA8IYhDTdYV92epGxoe8+3iZOzCjav+6TshQ==} + '@nuxtjs/i18n@10.2.0': resolution: {integrity: sha512-noQTJICmiWLgi6QgF26n//IwBT0p4ntEV+CALhj+/4EFGEoBxl5/AEm1Ved6WSLBWHodrayMk3dRGVfQdRP2nQ==} engines: {node: '>=20.11.1'} - '@nuxtjs/mdc@0.18.0': - resolution: {integrity: sha512-/rWEOiLpD6oNx2FC/UsYxLn1pP31pvRmaX5y8GurBOogATKDWd3jlfKCGgshLnsWM6dCKgNkF0mCZQCMZMfpIQ==} + '@nuxtjs/mdc@0.18.2': + resolution: {integrity: sha512-pdeWd2/oOPriPVa1F6QNoK4fZCp/b4sxEVoouXJJCETCBIFSNS4OOtdRTY1ATLM1Gr+6ZvNyNPABvaaUEGC4Lw==} + + '@nuxtjs/tailwindcss@7.0.0-beta.0': + resolution: {integrity: sha512-0I7RBg6KUC6TqUpaUSJTuhoE5aV1m9QAjDuHa5+6van+DG0kYSeLSKSpSl//l/tboxQ02Zq5TPNqwVCeCy+JTA==} '@nuxtjs/turnstile@1.1.1': resolution: {integrity: sha512-EiS0JgzzSRhTYXhZSmqT7643f6eKOHeB7jouejepsPkcomSdQ/sf7Fkh9AEU8fhDYAfYc+spuK524LQ4u2CLng==} @@ -1294,8 +1356,8 @@ packages: '@rolldown/pluginutils@1.0.0-beta.29': resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} - '@rolldown/pluginutils@1.0.0-beta.46': - resolution: {integrity: sha512-xMNwJo/pHkEP/mhNVnW+zUiJDle6/hxrwO0mfSJuEVRbBfgrJFuUSRoZx/nYUw5pCjrysl9OkNXCkAdih8GCnA==} + '@rolldown/pluginutils@1.0.0-beta.47': + resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==} '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} @@ -1488,26 +1550,26 @@ packages: cpu: [x64] os: [win32] - '@shikijs/core@3.14.0': - resolution: {integrity: sha512-qRSeuP5vlYHCNUIrpEBQFO7vSkR7jn7Kv+5X3FO/zBKVDGQbcnlScD3XhkrHi/R8Ltz0kEjvFR9Szp/XMRbFMw==} + '@shikijs/core@3.15.0': + resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==} - '@shikijs/engine-javascript@3.14.0': - resolution: {integrity: sha512-3v1kAXI2TsWQuwv86cREH/+FK9Pjw3dorVEykzQDhwrZj0lwsHYlfyARaKmn6vr5Gasf8aeVpb8JkzeWspxOLQ==} + '@shikijs/engine-javascript@3.15.0': + resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==} - '@shikijs/engine-oniguruma@3.14.0': - resolution: {integrity: sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==} + '@shikijs/engine-oniguruma@3.15.0': + resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==} - '@shikijs/langs@3.14.0': - resolution: {integrity: sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==} + '@shikijs/langs@3.15.0': + resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==} - '@shikijs/themes@3.14.0': - resolution: {integrity: sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==} + '@shikijs/themes@3.15.0': + resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==} - '@shikijs/transformers@3.14.0': - resolution: {integrity: sha512-i67zQnY9wLMMnKasonVW1L9fKneSLZDj1ePsA4o0AZWU4uUobmJY9baRDa36z+a9/g0aG76/2tybQvm4hrwxIQ==} + '@shikijs/transformers@3.15.0': + resolution: {integrity: sha512-Hmwip5ovvSkg+Kc41JTvSHHVfCYF+C8Cp1omb5AJj4Xvd+y9IXz2rKJwmFRGsuN0vpHxywcXJ1+Y4B9S7EG1/A==} - '@shikijs/types@3.14.0': - resolution: {integrity: sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==} + '@shikijs/types@3.15.0': + resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1553,60 +1615,117 @@ packages: '@tailwindcss/node@4.1.16': resolution: {integrity: sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==} + '@tailwindcss/node@4.1.17': + resolution: {integrity: sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==} + '@tailwindcss/oxide-android-arm64@4.1.16': resolution: {integrity: sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] + '@tailwindcss/oxide-android-arm64@4.1.17': + resolution: {integrity: sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + '@tailwindcss/oxide-darwin-arm64@4.1.16': resolution: {integrity: sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] + '@tailwindcss/oxide-darwin-arm64@4.1.17': + resolution: {integrity: sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + '@tailwindcss/oxide-darwin-x64@4.1.16': resolution: {integrity: sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] + '@tailwindcss/oxide-darwin-x64@4.1.17': + resolution: {integrity: sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + '@tailwindcss/oxide-freebsd-x64@4.1.16': resolution: {integrity: sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] + '@tailwindcss/oxide-freebsd-x64@4.1.17': + resolution: {integrity: sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16': resolution: {integrity: sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17': + resolution: {integrity: sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + '@tailwindcss/oxide-linux-arm64-gnu@4.1.16': resolution: {integrity: sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@tailwindcss/oxide-linux-arm64-gnu@4.1.17': + resolution: {integrity: sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@tailwindcss/oxide-linux-arm64-musl@4.1.16': resolution: {integrity: sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@tailwindcss/oxide-linux-arm64-musl@4.1.17': + resolution: {integrity: sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@tailwindcss/oxide-linux-x64-gnu@4.1.16': resolution: {integrity: sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@tailwindcss/oxide-linux-x64-gnu@4.1.17': + resolution: {integrity: sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@tailwindcss/oxide-linux-x64-musl@4.1.16': resolution: {integrity: sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@tailwindcss/oxide-linux-x64-musl@4.1.17': + resolution: {integrity: sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@tailwindcss/oxide-wasm32-wasi@4.1.16': resolution: {integrity: sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==} engines: {node: '>=14.0.0'} @@ -1619,24 +1738,52 @@ packages: - '@emnapi/wasi-threads' - tslib + '@tailwindcss/oxide-wasm32-wasi@4.1.17': + resolution: {integrity: sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + '@tailwindcss/oxide-win32-arm64-msvc@4.1.16': resolution: {integrity: sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] + '@tailwindcss/oxide-win32-arm64-msvc@4.1.17': + resolution: {integrity: sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + '@tailwindcss/oxide-win32-x64-msvc@4.1.16': resolution: {integrity: sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] + '@tailwindcss/oxide-win32-x64-msvc@4.1.17': + resolution: {integrity: sha512-SKWM4waLuqx0IH+FMDUw6R66Hu4OuTALFgnleKbqhgGU30DY20NORZMZUKgLRjQXNN2TLzKvh48QXTig4h4bGw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@tailwindcss/oxide@4.1.16': resolution: {integrity: sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==} engines: {node: '>= 10'} - '@tailwindcss/postcss@4.1.16': - resolution: {integrity: sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A==} + '@tailwindcss/oxide@4.1.17': + resolution: {integrity: sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.17': + resolution: {integrity: sha512-+nKl9N9mN5uJ+M7dBOOCzINw94MPstNR/GtIhz1fpZysxL/4a+No64jCBD6CPN+bIHWFx3KWuu8XJRrj/572Dw==} '@tailwindcss/vite@4.1.16': resolution: {integrity: sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==} @@ -1936,17 +2083,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.22': - resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} + '@vue/compiler-core@3.5.23': + resolution: {integrity: sha512-nW7THWj5HOp085ROk65LwaoxuzDsjIxr485F4iu63BoxsXoSqKqmsUUoP4A7Gl67DgIgi0zJ8JFgHfvny/74MA==} - '@vue/compiler-dom@3.5.22': - resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} + '@vue/compiler-dom@3.5.23': + resolution: {integrity: sha512-AT8RMw0vEzzzO0JU5gY0F6iCzaWUIh/aaRVordzMBKXRpoTllTT4kocHDssByPsvodNCfump/Lkdow2mT/O5KQ==} - '@vue/compiler-sfc@3.5.22': - resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==} + '@vue/compiler-sfc@3.5.23': + resolution: {integrity: sha512-3QTEUo4qg7FtQwaDJa8ou1CUikx5WTtZlY61rRRDu3lK2ZKrGoAGG8mvDgOpDsQ4A1bez9s+WtBB6DS2KuFCPw==} - '@vue/compiler-ssr@3.5.22': - resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==} + '@vue/compiler-ssr@3.5.23': + resolution: {integrity: sha512-Hld2xphbMjXs9Q9WKxPf2EqmE+Rq/FEDnK/wUBtmYq74HCV4XDdSCheAaB823OQXIIFGq9ig/RbAZkF9s4U0Ow==} '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} @@ -1970,22 +2117,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.22': - resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==} + '@vue/reactivity@3.5.23': + resolution: {integrity: sha512-ji5w0qvrPyBmBx5Ldv4QGNsw0phgRreEvjt0iUf1lei2Sm8//9ZAi78uM2ZjsT5gk0YZilLuoRCIMvtuZlHMJw==} - '@vue/runtime-core@3.5.22': - resolution: {integrity: sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==} + '@vue/runtime-core@3.5.23': + resolution: {integrity: sha512-LMB0S6/G7mFJcpQeQaZrbsthFbWrIX8FVTzu5x9U3Ec8YW5MY1CGAnBBHNj+TPOBu3pIbtPpjrXtcaN04X+aBw==} - '@vue/runtime-dom@3.5.22': - resolution: {integrity: sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==} + '@vue/runtime-dom@3.5.23': + resolution: {integrity: sha512-r/PYc8W9THzEL0UExpTkV+d31zO+Jid/RMZIDG6aS/NekOEUHuCJkJgftySWZw7JTJO/+q9Kxkg8p+i7Q7Q+ew==} - '@vue/server-renderer@3.5.22': - resolution: {integrity: sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==} + '@vue/server-renderer@3.5.23': + resolution: {integrity: sha512-NiWZsNCsXA20/VufcrW5u+Trt/PyFlpMmxaB2KERYM8eZgUoKUjXxJQb9ypq+LZ0Sp3XHJGNBR8DkhRnkKAMUw==} peerDependencies: - vue: 3.5.22 + vue: 3.5.23 - '@vue/shared@3.5.22': - resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} + '@vue/shared@3.5.23': + resolution: {integrity: sha512-0YZ1DYuC5o/YJPf6pFdt2KYxVGDxkDbH/1NYJnVJWUkzr8ituBEmFVQRNX2gCaAsFEjEDnLkWpgqlZA7htgS/g==} '@vueuse/core@10.11.1': resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} @@ -2109,8 +2256,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ai@5.0.87: - resolution: {integrity: sha512-9Cjx7o8IY9zAczigX0Tk/BaQwjPe/M6DpEjejKSBNrf8mOPIvyM+pJLqJSC10IsKci3FPsnaizJeJhoetU1Wfw==} + ai@5.0.88: + resolution: {integrity: sha512-72nSwQT6iMgfbblwDo59cmFTtsNzfyMVH9MigeIh5IHiqoDqxRAkv0IBb9XYj6RD52tAJw7Wj/n+LEhezvYqkw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -2118,8 +2265,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - alien-signals@3.0.5: - resolution: {integrity: sha512-+2bRQFO1f9GLeIabDQWJlluL1NspZlLjpjaSSwwpl+9Tz5tS/3KrceHdwjNvIMEbYWSpoqtOPuXLTSoPgvIEWw==} + alien-signals@3.0.6: + resolution: {integrity: sha512-gCs0YqC1mkYGC6IRXsSrA62ShOSv1FlVN5tRp/Cs2vRWLK/BAeluWIdfsl253pFQPznKEvRmHhfep7crWfyfWQ==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -2178,8 +2325,8 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - autoprefixer@10.4.21: - resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + autoprefixer@10.4.22: + resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -2240,8 +2387,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.23: - resolution: {integrity: sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==} + baseline-browser-mapping@2.8.25: + resolution: {integrity: sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==} hasBin: true better-sqlite3@12.4.1: @@ -2327,8 +2474,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001753: - resolution: {integrity: sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==} + caniuse-lite@1.0.30001754: + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2464,6 +2611,9 @@ packages: cookie-es@2.0.0: resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + copy-anything@4.0.5: resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} engines: {node: '>=18'} @@ -2710,8 +2860,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.244: - resolution: {integrity: sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==} + electron-to-chromium@1.5.245: + resolution: {integrity: sha512-rdmGfW47ZhL/oWEJAY4qxRtdly2B98ooTJ0pdEI4jhVLZ6tNf8fPtov2wS1IRKwFJT92le3x4Knxiwzl7cPPpQ==} embla-carousel-auto-height@8.6.0: resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} @@ -2795,6 +2945,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} @@ -3092,15 +3246,28 @@ packages: fontaine@0.6.0: resolution: {integrity: sha512-cfKqzB62GmztJhwJ0YXtzNsmpqKAcFzTqsakJ//5COTzbou90LU7So18U+4D8z+lDXr4uztaAUZBonSoPDcj1w==} + fontaine@0.7.0: + resolution: {integrity: sha512-vlaWLyoJrOnCBqycmFo/CA8ZmPzuyJHYmgu261KYKByZ4YLz9sTyHZ4qoHgWSYiDsZXhiLo2XndVMz0WOAyZ8Q==} + engines: {node: '>=18.12.0'} + fontkit@2.0.4: resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + fontless@0.1.0: + resolution: {integrity: sha512-KyvRd732HuVd/XP9iEFTb1w8Q01TPSA5GaCJV9HYmPiEs/ZZg/on2YdrQmlKfi9gDGpmN5Bn27Ze/CHqk0vE+w==} + engines: {node: '>=18.12.0'} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} framer-motion@12.23.12: resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} @@ -3314,6 +3481,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -3328,6 +3499,11 @@ packages: image-meta@0.2.2: resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==} + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -3451,6 +3627,9 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + is-what@5.5.0: resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} engines: {node: '>=18'} @@ -3571,6 +3750,11 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} + less@4.4.2: + resolution: {integrity: sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==} + engines: {node: '>=14'} + hasBin: true + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3716,6 +3900,10 @@ packages: magicast@0.5.1: resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -3867,6 +4055,11 @@ packages: resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} engines: {node: '>= 0.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -3976,6 +4169,11 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + engines: {node: '>= 4.4.x'} + hasBin: true + nitropack@2.12.9: resolution: {integrity: sha512-t6qqNBn2UDGMWogQuORjbL2UPevB8PvIPsPHmqvWpeGOlPr4P8Oc5oA8t3wFwGmaolM2M/s2SwT23nx9yARmOg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4175,6 +4373,10 @@ packages: parse-imports-exports@0.2.4: resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + parse-path@7.1.0: resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} @@ -4248,6 +4450,10 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -4473,6 +4679,9 @@ packages: protocols@2.0.2: resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==} + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -4587,11 +4796,8 @@ packages: remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - remark-mdc-edge@3.6.0-29333381.8558577: - resolution: {integrity: sha512-kI1hczSecJMgLPzD5YKNpsOsmMBroZNaF8XitfbBxx7dGP9V3O5CBEHxCjgkVBmfOXN50i8db/bLuk8lbLsjmg==} - - remark-mdc@3.8.0: - resolution: {integrity: sha512-jOdR4WA4znxyFH642wG4Y9aeDTqQUV0JV1clajgWHUm8sXHclV4s+O41TfT0hgQFlA6WaRPa29dsa/FYxEROAA==} + remark-mdc@3.8.1: + resolution: {integrity: sha512-TGFY61OhgziAITAomenbw4THQvEHC7MxZI1kO1YL/VuWQTHZ0RG20G6GGATIFeGnq65IUe7dngiQVcVIeFdB/g==} remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} @@ -4670,8 +4876,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.4.2: - resolution: {integrity: sha512-FySGAa0RGcFiN6zfrO9JvK1r7TB59xuzCcTHOBXBNoKgDejlOQCR2KL/FGk3/iDlsqyYg1ELZpOmlg09B01Czw==} + sax@1.4.3: + resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} scslre@0.3.0: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} @@ -4680,6 +4886,10 @@ packages: scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -4726,8 +4936,8 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} - shiki@3.14.0: - resolution: {integrity: sha512-J0yvpLI7LSig3Z3acIuDLouV5UCKQqu8qOArwMx+/yPVC3WRMgrP67beaG8F+j4xfEWE0eVC4GeBCIXeOPra1g==} + shiki@3.15.0: + resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -4806,8 +5016,8 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} - srvx@0.9.4: - resolution: {integrity: sha512-yACjRbHWbI3ehhPCrEKBZvAooe/xgJIdA7QRYiYFI1VtsiGyDpSQS5r9Q6ZgTa+R0umaoJhs2umKuGlL3/nDbQ==} + srvx@0.9.5: + resolution: {integrity: sha512-nQsA2c8q3XwbSn6kTxVQjz0zS096rV+Be2pzJwrYEAdtnYszLw4MTy8JWJjz1XEGBZwP0qW51SUIX3WdjdRemQ==} engines: {node: '>=20.16.0'} hasBin: true @@ -4943,6 +5153,9 @@ packages: tailwindcss@4.1.16: resolution: {integrity: sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==} + tailwindcss@4.1.17: + resolution: {integrity: sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==} + tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} @@ -4964,8 +5177,8 @@ packages: resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} engines: {node: '>=18'} - terser@5.44.0: - resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} engines: {node: '>=10'} hasBin: true @@ -4978,8 +5191,9 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinyexec@1.0.1: - resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} @@ -5087,6 +5301,9 @@ packages: unifont@0.4.1: resolution: {integrity: sha512-zKSY9qO8svWYns+FGKjyVdLvpGPwqmsCjeJLN1xndMiqxHWBAhoWDMYMG960MxeV48clBmG+fDP59dHY1VoZvg==} + unifont@0.6.0: + resolution: {integrity: sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==} + unimport@5.5.0: resolution: {integrity: sha512-/JpWMG9s1nBSlXJAQ8EREFTFy3oy6USFd8T6AoBaw1q2GGcF4R9yp3ofg32UODZlYEO5VD0EWE1RpI9XDWyPYg==} engines: {node: '>=18.12.0'} @@ -5234,6 +5451,9 @@ packages: unwasm@0.3.11: resolution: {integrity: sha512-Vhp5gb1tusSQw5of/g3Q697srYgMXvwMgXMjcG4ZNga02fDX9coxJ9fAb0Ci38hM2Hv/U1FXRPGgjP2BYqhNoQ==} + unwasm@0.4.2: + resolution: {integrity: sha512-/DWXXXn63zAbdoQ6jtdbhr1WP2Cz6ax2nwIu4/yqj4617VWmva4UAzNH16q2fD4I6fym4tSAXFT8P89weXn2AA==} + update-browserslist-db@1.1.4: resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} hasBin: true @@ -5334,14 +5554,14 @@ packages: '@nuxt/kit': optional: true - vite-plugin-vue-tracer@1.1.0: - resolution: {integrity: sha512-SnjWJO58WaVGprPoOKkGYIRPSegQYPUOjjTpRvmYhEpBPqr/KTuy2IhY73hDps/z87UHwQzGKVhuaKhHv3GIaA==} + vite-plugin-vue-tracer@1.1.1: + resolution: {integrity: sha512-54771R+SVU59wqC9yk5tD+oGCzEzhG1k2husVI7Qs7s7c1wm5PTlfIiHWu2MbNJqyrbaavws3aM7Y8yM4UUOvA==} peerDependencies: vite: ^6.0.0 || ^7.0.0 vue: ^3.5.0 - vite@7.1.12: - resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} + vite@7.2.1: + resolution: {integrity: sha512-qTl3VF7BvOupTR85Zc561sPEgxyUSNSvTQ9fit7DEMP7yPgvvIGm5Zfa1dOM+kOwWGNviK9uFM9ra77+OjK7lQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -5428,8 +5648,8 @@ packages: peerDependencies: vue: ^3.5.0 - vue@3.5.22: - resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==} + vue@3.5.23: + resolution: {integrity: sha512-CfvZv/vI52xUhumUvHtD6iFIS78nGWfX4IJnHfBGhpqMI0CwDq2YEngXOeaBFMRmiArcqczuVrLxurvesTYT9w==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -5580,7 +5800,7 @@ packages: snapshots: - '@ai-sdk/gateway@2.0.6(zod@4.1.12)': + '@ai-sdk/gateway@2.0.7(zod@4.1.12)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12) @@ -5598,13 +5818,13 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/vue@2.0.87(vue@3.5.22(typescript@5.9.3))(zod@4.1.12)': + '@ai-sdk/vue@2.0.88(vue@3.5.23(typescript@5.9.3))(zod@4.1.12)': dependencies: '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12) - ai: 5.0.87(zod@4.1.12) - swrv: 1.1.0(vue@3.5.22(typescript@5.9.3)) + ai: 5.0.88(zod@4.1.12) + swrv: 1.1.0(vue@3.5.23(typescript@5.9.3)) optionalDependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) zod: 4.1.12 '@alloc/quick-lru@5.2.0': {} @@ -5612,7 +5832,7 @@ snapshots: '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.5.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 '@antfu/utils@9.3.0': {} @@ -5804,6 +6024,10 @@ snapshots: transitivePeerDependencies: - encoding + '@capsizecss/unpack@3.0.0': + dependencies: + fontkit: 2.0.4 + '@clack/core@0.5.0': dependencies: picocolors: 1.1.1 @@ -6024,11 +6248,11 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@floating-ui/vue@1.1.9(vue@3.5.22(typescript@5.9.3))': + '@floating-ui/vue@1.1.9(vue@3.5.23(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@floating-ui/utils': 0.2.10 - vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -6050,7 +6274,15 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify/collections@1.0.614': + '@iconify-json/material-symbols-light@1.2.44': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/material-symbols@1.2.44': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/collections@1.0.615': dependencies: '@iconify/types': 2.0.0 @@ -6069,10 +6301,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/vue@5.0.0(vue@3.5.22(typescript@5.9.3))': + '@iconify/vue@5.0.0(vue@3.5.23(typescript@5.9.3))': dependencies: '@iconify/types': 2.0.0 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) '@internationalized/date@3.10.0': dependencies: @@ -6082,7 +6314,7 @@ snapshots: dependencies: '@swc/helpers': 0.5.17 - '@intlify/bundle-utils@11.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))': + '@intlify/bundle-utils@11.0.1(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))': dependencies: '@intlify/message-compiler': 11.1.12 '@intlify/shared': 11.1.12 @@ -6094,7 +6326,7 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.3.0 optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3)) '@intlify/core-base@11.1.12': dependencies: @@ -6118,12 +6350,12 @@ snapshots: '@intlify/shared@11.1.12': {} - '@intlify/unplugin-vue-i18n@11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': + '@intlify/unplugin-vue-i18n@11.0.1(@vue/compiler-dom@3.5.23)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)) - '@intlify/bundle-utils': 11.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3))) + '@intlify/bundle-utils': 11.0.1(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3))) '@intlify/shared': 11.1.12 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.23)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) '@rollup/pluginutils': 5.3.0(rollup@4.52.5) '@typescript-eslint/scope-manager': 8.46.3 '@typescript-eslint/typescript-estree': 8.46.3(typescript@5.9.3) @@ -6132,9 +6364,9 @@ snapshots: pathe: 2.0.3 picocolors: 1.1.1 unplugin: 2.3.10 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -6144,14 +6376,14 @@ snapshots: '@intlify/utils@0.13.0': {} - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.23)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))': dependencies: '@babel/parser': 7.28.5 optionalDependencies: '@intlify/shared': 11.1.12 - '@vue/compiler-dom': 3.5.22 - vue: 3.5.22(typescript@5.9.3) - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + '@vue/compiler-dom': 3.5.23 + vue: 3.5.23(typescript@5.9.3) + vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3)) '@ioredis/commands@1.4.0': {} @@ -6286,9 +6518,9 @@ snapshots: pkg-types: 2.3.0 scule: 1.3.0 semver: 7.7.3 - srvx: 0.9.4 + srvx: 0.9.5 std-env: 3.10.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 ufo: 1.6.1 youch: 4.1.0-beta.12 transitivePeerDependencies: @@ -6297,8 +6529,8 @@ snapshots: '@nuxt/content@3.8.0(better-sqlite3@12.4.1)(magicast@0.5.1)(valibot@1.1.0(typescript@5.9.3))': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@nuxtjs/mdc': 0.18.0(magicast@0.5.1) - '@shikijs/langs': 3.14.0 + '@nuxtjs/mdc': 0.18.2(magicast@0.5.1) + '@shikijs/langs': 3.15.0 '@sqlite.org/sqlite-wasm': 3.50.4-build1 '@standard-schema/spec': 1.0.0 '@webcontainer/env': 1.1.1 @@ -6329,9 +6561,9 @@ snapshots: ohash: 2.0.11 pathe: 2.0.3 pkg-types: 2.3.0 - remark-mdc: 3.8.0 + remark-mdc: 3.8.1 scule: 1.3.0 - shiki: 3.14.0 + shiki: 3.15.0 slugify: 1.6.6 socket.io-client: 4.8.1 std-env: 3.10.0 @@ -6357,27 +6589,27 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@2.7.0(magicast@0.3.5)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@nuxt/devtools-kit@2.7.0(magicast@0.3.5)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@nuxt/kit': 3.20.0(magicast@0.3.5) execa: 8.0.1 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@2.7.0(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@nuxt/devtools-kit@2.7.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@nuxt/kit': 3.20.0(magicast@0.5.1) execa: 8.0.1 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.0.1(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@nuxt/devtools-kit@3.0.1(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) execa: 8.0.1 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - magicast @@ -6392,12 +6624,12 @@ snapshots: prompts: 2.4.2 semver: 7.7.3 - '@nuxt/devtools@2.7.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@nuxt/devtools@2.7.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': dependencies: - '@nuxt/devtools-kit': 2.7.0(magicast@0.3.5)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.3.5)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) '@nuxt/devtools-wizard': 2.7.0 '@nuxt/kit': 3.20.0(magicast@0.3.5) - '@vue/devtools-core': 7.7.7(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@vue/devtools-core': 7.7.7(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) '@vue/devtools-kit': 7.7.7 birpc: 2.7.0 consola: 3.4.2 @@ -6422,9 +6654,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 1.0.0 tinyglobby: 0.2.15 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vite-plugin-inspect: 11.3.3(@nuxt/kit@3.20.0(magicast@0.3.5))(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - vite-plugin-vue-tracer: 1.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vite-plugin-inspect: 11.3.3(@nuxt/kit@3.20.0(magicast@0.3.5))(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + vite-plugin-vue-tracer: 1.1.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) which: 5.0.0 ws: 8.18.3 transitivePeerDependencies: @@ -6433,7 +6665,7 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@nuxt/eslint-config@1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 0.11.0 @@ -6452,7 +6684,7 @@ snapshots: eslint-plugin-regexp: 2.10.0(eslint@9.39.1(jiti@2.6.1)) eslint-plugin-unicorn: 62.0.0(eslint@9.39.1(jiti@2.6.1)) eslint-plugin-vue: 10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.39.1(jiti@2.6.1)))(@typescript-eslint/parser@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.1(jiti@2.6.1))) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1)) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1)) globals: 16.5.0 local-pkg: 1.1.2 pathe: 2.0.3 @@ -6473,11 +6705,11 @@ snapshots: - supports-color - typescript - '@nuxt/eslint@1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1))(magicast@0.5.1)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@nuxt/eslint@1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1))(magicast@0.5.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@eslint/config-inspector': 1.3.0(eslint@9.39.1(jiti@2.6.1)) - '@nuxt/devtools-kit': 3.0.1(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - '@nuxt/eslint-config': 1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@nuxt/devtools-kit': 3.0.1(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@nuxt/eslint-config': 1.10.0(@typescript-eslint/utils@8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@nuxt/eslint-plugin': 1.10.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) '@nuxt/kit': 4.2.0(magicast@0.5.1) chokidar: 4.0.3 @@ -6501,9 +6733,9 @@ snapshots: - utf-8-validate - vite - '@nuxt/fonts@0.11.4(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@nuxt/fonts@0.11.4(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: - '@nuxt/devtools-kit': 2.7.0(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) '@nuxt/kit': 3.20.0(magicast@0.5.1) consola: 3.4.2 css-tree: 3.1.0 @@ -6547,13 +6779,59 @@ snapshots: - uploadthing - vite - '@nuxt/icon@2.1.0(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@nuxt/fonts@0.12.1(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: - '@iconify/collections': 1.0.614 + '@nuxt/devtools-kit': 3.0.1(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@nuxt/kit': 4.2.1(magicast@0.5.1) + consola: 3.4.2 + css-tree: 3.1.0 + defu: 6.1.4 + esbuild: 0.25.12 + fontaine: 0.7.0 + fontless: 0.1.0(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + h3: 1.15.4 + jiti: 2.6.1 + magic-regexp: 0.10.0 + magic-string: 0.30.21 + node-fetch-native: 1.6.7 + ohash: 2.0.11 + pathe: 2.0.3 + sirv: 3.0.2 + tinyglobby: 0.2.15 + ufo: 1.6.1 + unifont: 0.6.0 + unplugin: 2.3.10 + unstorage: 1.17.2(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - magicast + - uploadthing + - vite + + '@nuxt/icon@2.1.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': + dependencies: + '@iconify/collections': 1.0.615 '@iconify/types': 2.0.0 '@iconify/utils': 3.0.2 - '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) - '@nuxt/devtools-kit': 2.7.0(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + '@iconify/vue': 5.0.0(vue@3.5.23(typescript@5.9.3)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) '@nuxt/kit': 4.2.0(magicast@0.5.1) consola: 3.4.2 local-pkg: 1.1.2 @@ -6685,12 +6963,37 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/nitro-server@4.2.0(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.9.3)': + '@nuxt/kit@4.2.1(magicast@0.5.1)': + dependencies: + c12: 3.3.1(magicast@0.5.1) + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.7 + ignore: 7.0.5 + jiti: 2.6.1 + klona: 2.0.6 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.7.3 + tinyglobby: 0.2.15 + ufo: 1.6.1 + unctx: 2.4.1 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/nitro-server@4.2.0(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.9.3)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) - '@vue/shared': 3.5.22 + '@unhead/vue': 2.0.19(vue@3.5.23(typescript@5.9.3)) + '@vue/shared': 3.5.23 consola: 3.4.2 defu: 6.1.4 destr: 2.0.5 @@ -6703,7 +7006,7 @@ snapshots: klona: 2.0.6 mocked-exports: 0.1.1 nitropack: 2.12.9(better-sqlite3@12.4.1) - nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1) + nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1) pathe: 2.0.3 pkg-types: 2.3.0 radix3: 1.1.2 @@ -6711,7 +7014,7 @@ snapshots: ufo: 1.6.1 unctx: 2.4.1 unstorage: 1.17.2(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 transitivePeerDependencies: @@ -6751,18 +7054,18 @@ snapshots: '@nuxt/schema@4.2.0': dependencies: - '@vue/shared': 3.5.22 + '@vue/shared': 3.5.23 defu: 6.1.4 pathe: 2.0.3 pkg-types: 2.3.0 std-env: 3.10.0 - '@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))': + '@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))': dependencies: '@googlemaps/markerclusterer': 2.6.2 '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@unhead/vue': 2.0.19(vue@3.5.23(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3)) consola: 3.4.2 defu: 6.1.4 h3: 1.15.4 @@ -6839,34 +7142,34 @@ snapshots: radix3: 1.1.2 scule: 1.3.0 std-env: 3.10.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 ufo: 1.6.1 unplugin: 2.3.10 vitest-environment-nuxt: 1.0.1(magicast@0.5.1)(typescript@5.9.3) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - magicast - typescript - '@nuxt/ui@4.1.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.4.1))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(valibot@1.1.0(typescript@5.9.3))(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))(zod@4.1.12)': + '@nuxt/ui@4.1.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.4.1))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(valibot@1.1.0(typescript@5.9.3))(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3))(zod@4.1.12)': dependencies: - '@ai-sdk/vue': 2.0.87(vue@3.5.22(typescript@5.9.3))(zod@4.1.12) - '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) + '@ai-sdk/vue': 2.0.88(vue@3.5.23(typescript@5.9.3))(zod@4.1.12) + '@iconify/vue': 5.0.0(vue@3.5.23(typescript@5.9.3)) '@internationalized/date': 3.10.0 '@internationalized/number': 3.6.5 - '@nuxt/fonts': 0.11.4(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - '@nuxt/icon': 2.1.0(magicast@0.5.1)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@nuxt/fonts': 0.11.4(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@nuxt/icon': 2.1.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) '@nuxt/kit': 4.2.0(magicast@0.5.1) '@nuxt/schema': 4.2.0 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.1) '@standard-schema/spec': 1.0.0 - '@tailwindcss/postcss': 4.1.16 - '@tailwindcss/vite': 4.1.16(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - '@tanstack/vue-table': 8.21.3(vue@3.5.22(typescript@5.9.3)) - '@tanstack/vue-virtual': 3.13.12(vue@3.5.22(typescript@5.9.3)) - '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) - '@vueuse/integrations': 13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.22(typescript@5.9.3)) + '@tailwindcss/postcss': 4.1.17 + '@tailwindcss/vite': 4.1.16(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@tanstack/vue-table': 8.21.3(vue@3.5.23(typescript@5.9.3)) + '@tanstack/vue-virtual': 3.13.12(vue@3.5.23(typescript@5.9.3)) + '@unhead/vue': 2.0.19(vue@3.5.23(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3)) + '@vueuse/integrations': 13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.23(typescript@5.9.3)) colortranslator: 5.0.0 consola: 3.4.2 defu: 6.1.4 @@ -6875,31 +7178,31 @@ snapshots: embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) - embla-carousel-vue: 8.6.0(vue@3.5.22(typescript@5.9.3)) + embla-carousel-vue: 8.6.0(vue@3.5.23(typescript@5.9.3)) embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) fuse.js: 7.1.0 hookable: 5.5.3 knitwork: 1.2.0 magic-string: 0.30.21 mlly: 1.8.0 - motion-v: 1.7.4(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + motion-v: 1.7.4(@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) ohash: 2.0.11 pathe: 2.0.3 - reka-ui: 2.6.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) + reka-ui: 2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)) scule: 1.3.0 tailwind-merge: 3.3.1 - tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.16) - tailwindcss: 4.1.16 + tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.17) + tailwindcss: 4.1.17 tinyglobby: 0.2.15 typescript: 5.9.3 unplugin: 2.3.10 - unplugin-auto-import: 20.2.0(@nuxt/kit@4.2.0(magicast@0.5.1))(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))) - unplugin-vue-components: 30.0.0(@babel/parser@7.28.5)(@nuxt/kit@4.2.0(magicast@0.5.1))(vue@3.5.22(typescript@5.9.3)) - vaul-vue: 0.4.1(reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + unplugin-auto-import: 20.2.0(@nuxt/kit@4.2.0(magicast@0.5.1))(@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3))) + unplugin-vue-components: 30.0.0(@babel/parser@7.28.5)(@nuxt/kit@4.2.0(magicast@0.5.1))(vue@3.5.23(typescript@5.9.3)) + vaul-vue: 0.4.1(reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) vue-component-type-helpers: 3.1.3 optionalDependencies: valibot: 1.1.0(typescript@5.9.3) - vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) + vue-router: 4.6.3(vue@3.5.23(typescript@5.9.3)) zod: 4.1.12 transitivePeerDependencies: - '@azure/app-configuration' @@ -6943,13 +7246,13 @@ snapshots: - vite - vue - '@nuxt/vite-builder@4.2.0(eslint@9.39.1(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1)': + '@nuxt/vite-builder@4.2.0(eslint@9.39.1(jiti@2.6.1))(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))(yaml@2.8.1)': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) '@rollup/plugin-replace': 6.0.3(rollup@4.52.5) - '@vitejs/plugin-vue': 6.0.1(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) - '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) - autoprefixer: 10.4.21(postcss@8.5.6) + '@vitejs/plugin-vue': 6.0.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) + autoprefixer: 10.4.22(postcss@8.5.6) consola: 3.4.2 cssnano: 7.1.2(postcss@8.5.6) defu: 6.1.4 @@ -6963,7 +7266,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 - nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1) + nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1) pathe: 2.0.3 pkg-types: 2.3.0 postcss: 8.5.6 @@ -6972,10 +7275,10 @@ snapshots: std-env: 3.10.0 ufo: 1.6.1 unenv: 2.0.0-rc.24 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vite-node: 3.2.4(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vite-plugin-checker: 0.11.0(eslint@9.39.1(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - vue: 3.5.22(typescript@5.9.3) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vite-node: 3.2.4(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vite-plugin-checker: 0.11.0(eslint@9.39.1(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + vue: 3.5.23(typescript@5.9.3) vue-bundle-renderer: 2.2.0 transitivePeerDependencies: - '@biomejs/biome' @@ -7011,17 +7314,21 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxtjs/i18n@10.2.0(@vue/compiler-dom@3.5.22)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.5.1)(rollup@4.52.5)(vue@3.5.22(typescript@5.9.3))': + '@nuxtjs/device@3.2.4': + dependencies: + defu: 6.1.4 + + '@nuxtjs/i18n@10.2.0(@vue/compiler-dom@3.5.23)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.5.1)(rollup@4.52.5)(vue@3.5.23(typescript@5.9.3))': dependencies: '@intlify/core': 11.1.12 '@intlify/h3': 0.7.4 '@intlify/shared': 11.1.12 - '@intlify/unplugin-vue-i18n': 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + '@intlify/unplugin-vue-i18n': 11.0.1(@vue/compiler-dom@3.5.23)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) '@intlify/utils': 0.13.0 '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.52.5) '@nuxt/kit': 4.2.0(magicast@0.5.1) '@rollup/plugin-yaml': 4.1.2(rollup@4.52.5) - '@vue/compiler-sfc': 3.5.22 + '@vue/compiler-sfc': 3.5.23 defu: 6.1.4 devalue: 5.4.2 h3: 1.15.4 @@ -7037,10 +7344,10 @@ snapshots: typescript: 5.9.3 ufo: 1.6.1 unplugin: 2.3.10 - unplugin-vue-router: 0.16.1(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + unplugin-vue-router: 0.16.1(@vue/compiler-sfc@3.5.23)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) unstorage: 1.17.2(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2) - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) - vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) + vue-i18n: 11.1.12(vue@3.5.23(typescript@5.9.3)) + vue-router: 4.6.3(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -7069,16 +7376,16 @@ snapshots: - uploadthing - vue - '@nuxtjs/mdc@0.18.0(magicast@0.5.1)': + '@nuxtjs/mdc@0.18.2(magicast@0.5.1)': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@shikijs/core': 3.14.0 - '@shikijs/langs': 3.14.0 - '@shikijs/themes': 3.14.0 - '@shikijs/transformers': 3.14.0 + '@shikijs/core': 3.15.0 + '@shikijs/langs': 3.15.0 + '@shikijs/themes': 3.15.0 + '@shikijs/transformers': 3.15.0 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@vue/compiler-core': 3.5.22 + '@vue/compiler-core': 3.5.23 consola: 3.4.2 debug: 4.4.3 defu: 6.1.4 @@ -7102,26 +7409,37 @@ snapshots: rehype-sort-attributes: 5.0.1 remark-emoji: 5.0.2 remark-gfm: 4.0.1 - remark-mdc: remark-mdc-edge@3.6.0-29333381.8558577 + remark-mdc: 3.8.1 remark-parse: 11.0.0 remark-rehype: 11.1.2 remark-stringify: 11.0.0 scule: 1.3.0 - shiki: 3.14.0 + shiki: 3.15.0 ufo: 1.6.1 unified: 11.0.5 unist-builder: 4.0.0 unist-util-visit: 5.0.0 - unwasm: 0.3.11 + unwasm: 0.4.2 vfile: 6.0.3 transitivePeerDependencies: - magicast - supports-color - '@nuxtjs/turnstile@1.1.1(@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(magicast@0.5.1)': + '@nuxtjs/tailwindcss@7.0.0-beta.0(magicast@0.5.1)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@nuxt/kit': 3.20.0(magicast@0.5.1) - '@nuxt/scripts': 0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) + '@tailwindcss/postcss': 4.1.17 + '@tailwindcss/vite': 4.1.16(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + pathe: 2.0.3 + tailwindcss: 4.1.17 + transitivePeerDependencies: + - magicast + - vite + + '@nuxtjs/turnstile@1.1.1(@nuxt/scripts@0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)))(magicast@0.5.1)': + dependencies: + '@nuxt/kit': 3.20.0(magicast@0.5.1) + '@nuxt/scripts': 0.12.2(@googlemaps/markerclusterer@2.6.2)(@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3)))(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)) '@types/cloudflare-turnstile': 0.2.2 defu: 6.1.4 pathe: 2.0.3 @@ -7357,7 +7675,7 @@ snapshots: '@rolldown/pluginutils@1.0.0-beta.29': {} - '@rolldown/pluginutils@1.0.0-beta.46': {} + '@rolldown/pluginutils@1.0.0-beta.47': {} '@rollup/plugin-alias@5.1.1(rollup@4.52.5)': optionalDependencies: @@ -7410,7 +7728,7 @@ snapshots: dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 - terser: 5.44.0 + terser: 5.44.1 optionalDependencies: rollup: 4.52.5 @@ -7496,38 +7814,38 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.52.5': optional: true - '@shikijs/core@3.14.0': + '@shikijs/core@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.14.0': + '@shikijs/engine-javascript@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 - '@shikijs/engine-oniguruma@3.14.0': + '@shikijs/engine-oniguruma@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.14.0': + '@shikijs/langs@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 - '@shikijs/themes@3.14.0': + '@shikijs/themes@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 - '@shikijs/transformers@3.14.0': + '@shikijs/transformers@3.15.0': dependencies: - '@shikijs/core': 3.14.0 - '@shikijs/types': 3.14.0 + '@shikijs/core': 3.15.0 + '@shikijs/types': 3.15.0 - '@shikijs/types@3.14.0': + '@shikijs/types@3.15.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -7574,42 +7892,88 @@ snapshots: source-map-js: 1.2.1 tailwindcss: 4.1.16 + '@tailwindcss/node@4.1.17': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.3 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.17 + '@tailwindcss/oxide-android-arm64@4.1.16': optional: true + '@tailwindcss/oxide-android-arm64@4.1.17': + optional: true + '@tailwindcss/oxide-darwin-arm64@4.1.16': optional: true + '@tailwindcss/oxide-darwin-arm64@4.1.17': + optional: true + '@tailwindcss/oxide-darwin-x64@4.1.16': optional: true + '@tailwindcss/oxide-darwin-x64@4.1.17': + optional: true + '@tailwindcss/oxide-freebsd-x64@4.1.16': optional: true + '@tailwindcss/oxide-freebsd-x64@4.1.17': + optional: true + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16': optional: true + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17': + optional: true + '@tailwindcss/oxide-linux-arm64-gnu@4.1.16': optional: true + '@tailwindcss/oxide-linux-arm64-gnu@4.1.17': + optional: true + '@tailwindcss/oxide-linux-arm64-musl@4.1.16': optional: true + '@tailwindcss/oxide-linux-arm64-musl@4.1.17': + optional: true + '@tailwindcss/oxide-linux-x64-gnu@4.1.16': optional: true + '@tailwindcss/oxide-linux-x64-gnu@4.1.17': + optional: true + '@tailwindcss/oxide-linux-x64-musl@4.1.16': optional: true + '@tailwindcss/oxide-linux-x64-musl@4.1.17': + optional: true + '@tailwindcss/oxide-wasm32-wasi@4.1.16': optional: true + '@tailwindcss/oxide-wasm32-wasi@4.1.17': + optional: true + '@tailwindcss/oxide-win32-arm64-msvc@4.1.16': optional: true + '@tailwindcss/oxide-win32-arm64-msvc@4.1.17': + optional: true + '@tailwindcss/oxide-win32-x64-msvc@4.1.16': optional: true + '@tailwindcss/oxide-win32-x64-msvc@4.1.17': + optional: true + '@tailwindcss/oxide@4.1.16': optionalDependencies: '@tailwindcss/oxide-android-arm64': 4.1.16 @@ -7625,34 +7989,49 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.16 '@tailwindcss/oxide-win32-x64-msvc': 4.1.16 - '@tailwindcss/postcss@4.1.16': + '@tailwindcss/oxide@4.1.17': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.17 + '@tailwindcss/oxide-darwin-arm64': 4.1.17 + '@tailwindcss/oxide-darwin-x64': 4.1.17 + '@tailwindcss/oxide-freebsd-x64': 4.1.17 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.17 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.17 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.17 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.17 + '@tailwindcss/oxide-linux-x64-musl': 4.1.17 + '@tailwindcss/oxide-wasm32-wasi': 4.1.17 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.17 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.17 + + '@tailwindcss/postcss@4.1.17': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.16 - '@tailwindcss/oxide': 4.1.16 + '@tailwindcss/node': 4.1.17 + '@tailwindcss/oxide': 4.1.17 postcss: 8.5.6 - tailwindcss: 4.1.16 + tailwindcss: 4.1.17 - '@tailwindcss/vite@4.1.16(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.16(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': dependencies: '@tailwindcss/node': 4.1.16 '@tailwindcss/oxide': 4.1.16 tailwindcss: 4.1.16 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) '@tanstack/table-core@8.21.3': {} '@tanstack/virtual-core@3.13.12': {} - '@tanstack/vue-table@8.21.3(vue@3.5.22(typescript@5.9.3))': + '@tanstack/vue-table@8.21.3(vue@3.5.23(typescript@5.9.3))': dependencies: '@tanstack/table-core': 8.21.3 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) - '@tanstack/vue-virtual@3.13.12(vue@3.5.22(typescript@5.9.3))': + '@tanstack/vue-virtual@3.13.12(vue@3.5.23(typescript@5.9.3))': dependencies: '@tanstack/virtual-core': 3.13.12 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) '@trysound/sax@0.2.0': optional: true @@ -7799,11 +8178,11 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3))': + '@unhead/vue@2.0.19(vue@3.5.23(typescript@5.9.3))': dependencies: hookable: 5.5.3 unhead: 2.0.19 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -7885,23 +8264,23 @@ snapshots: '@vercel/oidc@3.0.3': {} - '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) - '@rolldown/pluginutils': 1.0.0-beta.46 + '@rolldown/pluginutils': 1.0.0-beta.47 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vue: 3.5.22(typescript@5.9.3) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.1(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vue: 3.5.22(typescript@5.9.3) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vue: 3.5.23(typescript@5.9.3) '@volar/language-core@2.4.23': dependencies: @@ -7915,15 +8294,15 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue-macros/common@3.1.1(vue@3.5.22(typescript@5.9.3))': + '@vue-macros/common@3.1.1(vue@3.5.23(typescript@5.9.3))': dependencies: - '@vue/compiler-sfc': 3.5.22 + '@vue/compiler-sfc': 3.5.23 ast-kit: 2.1.3 local-pkg: 1.1.2 magic-string-ast: 1.0.3 unplugin-utils: 0.3.1 optionalDependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) '@vue/babel-helper-vue-transform-on@1.5.0': {} @@ -7937,7 +8316,7 @@ snapshots: '@babel/types': 7.28.5 '@vue/babel-helper-vue-transform-on': 1.5.0 '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5) - '@vue/shared': 3.5.22 + '@vue/shared': 3.5.23 optionalDependencies: '@babel/core': 7.28.5 transitivePeerDependencies: @@ -7950,51 +8329,51 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 '@babel/parser': 7.28.5 - '@vue/compiler-sfc': 3.5.22 + '@vue/compiler-sfc': 3.5.23 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.22': + '@vue/compiler-core@3.5.23': dependencies: '@babel/parser': 7.28.5 - '@vue/shared': 3.5.22 + '@vue/shared': 3.5.23 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.22': + '@vue/compiler-dom@3.5.23': dependencies: - '@vue/compiler-core': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/compiler-core': 3.5.23 + '@vue/shared': 3.5.23 - '@vue/compiler-sfc@3.5.22': + '@vue/compiler-sfc@3.5.23': dependencies: '@babel/parser': 7.28.5 - '@vue/compiler-core': 3.5.22 - '@vue/compiler-dom': 3.5.22 - '@vue/compiler-ssr': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/compiler-core': 3.5.23 + '@vue/compiler-dom': 3.5.23 + '@vue/compiler-ssr': 3.5.23 + '@vue/shared': 3.5.23 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.22': + '@vue/compiler-ssr@3.5.23': dependencies: - '@vue/compiler-dom': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/compiler-dom': 3.5.23 + '@vue/shared': 3.5.23 '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.7.7(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@vue/devtools-core@7.7.7(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': dependencies: '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) - vue: 3.5.22(typescript@5.9.3) + vite-hot-client: 2.1.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - vite @@ -8015,45 +8394,45 @@ snapshots: '@vue/language-core@3.1.3(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.23 - '@vue/compiler-dom': 3.5.22 - '@vue/shared': 3.5.22 - alien-signals: 3.0.5 + '@vue/compiler-dom': 3.5.23 + '@vue/shared': 3.5.23 + alien-signals: 3.0.6 muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.3 optionalDependencies: typescript: 5.9.3 - '@vue/reactivity@3.5.22': + '@vue/reactivity@3.5.23': dependencies: - '@vue/shared': 3.5.22 + '@vue/shared': 3.5.23 - '@vue/runtime-core@3.5.22': + '@vue/runtime-core@3.5.23': dependencies: - '@vue/reactivity': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/reactivity': 3.5.23 + '@vue/shared': 3.5.23 - '@vue/runtime-dom@3.5.22': + '@vue/runtime-dom@3.5.23': dependencies: - '@vue/reactivity': 3.5.22 - '@vue/runtime-core': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/reactivity': 3.5.23 + '@vue/runtime-core': 3.5.23 + '@vue/shared': 3.5.23 csstype: 3.1.3 - '@vue/server-renderer@3.5.22(vue@3.5.22(typescript@5.9.3))': + '@vue/server-renderer@3.5.23(vue@3.5.23(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.22 - '@vue/shared': 3.5.22 - vue: 3.5.22(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.23 + '@vue/shared': 3.5.23 + vue: 3.5.23(typescript@5.9.3) - '@vue/shared@3.5.22': {} + '@vue/shared@3.5.23': {} - '@vueuse/core@10.11.1(vue@3.5.22(typescript@5.9.3))': + '@vueuse/core@10.11.1(vue@3.5.23(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.22(typescript@5.9.3)) - vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) + '@vueuse/shared': 10.11.1(vue@3.5.23(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8063,29 +8442,29 @@ snapshots: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 12.8.2 '@vueuse/shared': 12.8.2(typescript@5.9.3) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + '@vueuse/shared': 13.9.0(vue@3.5.23(typescript@5.9.3)) + vue: 3.5.23(typescript@5.9.3) - '@vueuse/core@14.0.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/core@14.0.0(vue@3.5.23(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.0.0 - '@vueuse/shared': 14.0.0(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + '@vueuse/shared': 14.0.0(vue@3.5.23(typescript@5.9.3)) + vue: 3.5.23(typescript@5.9.3) - '@vueuse/integrations@13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.22(typescript@5.9.3))': + '@vueuse/integrations@13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.23(typescript@5.9.3))': dependencies: - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) - '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3)) + '@vueuse/shared': 13.9.0(vue@3.5.23(typescript@5.9.3)) + vue: 3.5.23(typescript@5.9.3) optionalDependencies: change-case: 5.4.4 fuse.js: 7.1.0 @@ -8098,37 +8477,37 @@ snapshots: '@vueuse/metadata@14.0.0': {} - '@vueuse/nuxt@14.0.0(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@vueuse/nuxt@14.0.0(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3))': dependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@vueuse/core': 14.0.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 14.0.0(vue@3.5.23(typescript@5.9.3)) '@vueuse/metadata': 14.0.0 local-pkg: 1.1.2 - nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1) - vue: 3.5.22(typescript@5.9.3) + nuxt: 4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - magicast - '@vueuse/shared@10.11.1(vue@3.5.22(typescript@5.9.3))': + '@vueuse/shared@10.11.1(vue@3.5.23(typescript@5.9.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/shared@12.8.2(typescript@5.9.3)': dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/shared@13.9.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/shared@13.9.0(vue@3.5.23(typescript@5.9.3))': dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) - '@vueuse/shared@14.0.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/shared@14.0.0(vue@3.5.23(typescript@5.9.3))': dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) '@webcontainer/env@1.1.1': {} @@ -8150,9 +8529,9 @@ snapshots: agent-base@7.1.4: {} - ai@5.0.87(zod@4.1.12): + ai@5.0.88(zod@4.1.12): dependencies: - '@ai-sdk/gateway': 2.0.6(zod@4.1.12) + '@ai-sdk/gateway': 2.0.7(zod@4.1.12) '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12) '@opentelemetry/api': 1.9.0 @@ -8165,7 +8544,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - alien-signals@3.0.5: {} + alien-signals@3.0.6: {} ansi-regex@5.0.1: {} @@ -8229,11 +8608,11 @@ snapshots: async@3.2.6: {} - autoprefixer@10.4.21(postcss@8.5.6): + autoprefixer@10.4.22(postcss@8.5.6): dependencies: browserslist: 4.27.0 - caniuse-lite: 1.0.30001753 - fraction.js: 4.3.7 + caniuse-lite: 1.0.30001754 + fraction.js: 5.3.4 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.6 @@ -8284,7 +8663,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.8.23: {} + baseline-browser-mapping@2.8.25: {} better-sqlite3@12.4.1: dependencies: @@ -8326,9 +8705,9 @@ snapshots: browserslist@4.27.0: dependencies: - baseline-browser-mapping: 2.8.23 - caniuse-lite: 1.0.30001753 - electron-to-chromium: 1.5.244 + baseline-browser-mapping: 2.8.25 + caniuse-lite: 1.0.30001754 + electron-to-chromium: 1.5.245 node-releases: 2.0.27 update-browserslist-db: 1.1.4(browserslist@4.27.0) @@ -8398,11 +8777,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.27.0 - caniuse-lite: 1.0.30001753 + caniuse-lite: 1.0.30001754 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001753: {} + caniuse-lite@1.0.30001754: {} ccount@2.0.1: {} @@ -8516,6 +8895,10 @@ snapshots: cookie-es@2.0.0: {} + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + copy-anything@4.0.5: dependencies: is-what: 5.5.0 @@ -8735,7 +9118,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.244: {} + electron-to-chromium@1.5.245: {} embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): dependencies: @@ -8761,11 +9144,11 @@ snapshots: dependencies: embla-carousel: 8.6.0 - embla-carousel-vue@8.6.0(vue@3.5.22(typescript@5.9.3)): + embla-carousel-vue@8.6.0(vue@3.5.23(typescript@5.9.3)): dependencies: embla-carousel: 8.6.0 embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) embla-carousel-wheel-gestures@8.1.0(embla-carousel@8.6.0): dependencies: @@ -8811,6 +9194,11 @@ snapshots: entities@6.0.1: {} + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + error-stack-parser-es@1.0.5: {} errx@0.1.0: {} @@ -8976,9 +9364,9 @@ snapshots: '@stylistic/eslint-plugin': 5.5.0(eslint@9.39.1(jiti@2.6.1)) '@typescript-eslint/parser': 8.46.3(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.1(jiti@2.6.1)): + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.23)(eslint@9.39.1(jiti@2.6.1)): dependencies: - '@vue/compiler-sfc': 3.5.22 + '@vue/compiler-sfc': 3.5.23 eslint: 9.39.1(jiti@2.6.1) eslint-scope@8.4.0: @@ -9181,6 +9569,16 @@ snapshots: transitivePeerDependencies: - encoding + fontaine@0.7.0: + dependencies: + '@capsizecss/unpack': 3.0.0 + css-tree: 3.1.0 + magic-regexp: 0.10.0 + magic-string: 0.30.21 + pathe: 2.0.3 + ufo: 1.6.1 + unplugin: 2.3.10 + fontkit@2.0.4: dependencies: '@swc/helpers': 0.5.17 @@ -9193,12 +9591,50 @@ snapshots: unicode-properties: 1.4.1 unicode-trie: 2.0.0 + fontless@0.1.0(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)): + dependencies: + consola: 3.4.2 + css-tree: 3.1.0 + defu: 6.1.4 + esbuild: 0.25.12 + fontaine: 0.7.0 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + unifont: 0.6.0 + unstorage: 1.17.2(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2) + optionalDependencies: + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - uploadthing + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fraction.js@4.3.7: {} + fraction.js@5.3.4: {} framer-motion@12.23.12: dependencies: @@ -9490,6 +9926,11 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -9498,6 +9939,9 @@ snapshots: image-meta@0.2.2: {} + image-size@0.5.5: + optional: true + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -9645,6 +10089,8 @@ snapshots: is-stream@3.0.0: {} + is-what@3.14.1: {} + is-what@5.5.0: {} is-wsl@2.2.0: @@ -9748,6 +10194,20 @@ snapshots: dependencies: readable-stream: 2.3.8 + less@4.4.2: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -9895,6 +10355,12 @@ snapshots: '@babel/types': 7.28.5 source-map-js: 1.2.1 + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + markdown-table@3.0.4: {} mdast-util-find-and-replace@3.0.2: @@ -10224,6 +10690,9 @@ snapshots: dependencies: mime-db: 1.54.0 + mime@1.6.0: + optional: true + mime@3.0.0: {} mime@4.1.0: {} @@ -10279,13 +10748,13 @@ snapshots: motion-utils@12.23.6: {} - motion-v@1.7.4(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): + motion-v@1.7.4(@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)): dependencies: - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3)) framer-motion: 12.23.12 hey-listen: 1.0.8 motion-dom: 12.23.12 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - '@emotion/is-prop-valid' - react @@ -10309,6 +10778,12 @@ snapshots: natural-compare@1.4.0: {} + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.4.3 + optional: true + nitropack@2.12.9(better-sqlite3@12.4.1): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 @@ -10466,7 +10941,7 @@ snapshots: nuxt-component-meta@https://pkg.pr.new/nuxt-component-meta@e3eb2c4(magicast@0.5.1): dependencies: - '@nuxt/kit': 4.2.0(magicast@0.5.1) + '@nuxt/kit': 4.2.1(magicast@0.5.1) citty: 0.1.6 json-schema-to-zod: 2.6.1 mlly: 1.8.0 @@ -10480,18 +10955,18 @@ snapshots: nuxt-define@1.0.0: {} - nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1): + nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1): dependencies: '@dxup/nuxt': 0.2.1(magicast@0.5.1) '@nuxt/cli': 3.30.0(magicast@0.5.1) - '@nuxt/devtools': 2.7.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@nuxt/devtools': 2.7.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)) '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@nuxt/nitro-server': 4.2.0(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.9.3) + '@nuxt/nitro-server': 4.2.0(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(ioredis@5.8.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(typescript@5.9.3) '@nuxt/schema': 4.2.0 '@nuxt/telemetry': 2.6.6(magicast@0.5.1) - '@nuxt/vite-builder': 4.2.0(eslint@9.39.1(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.22)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1) - '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) - '@vue/shared': 3.5.22 + '@nuxt/vite-builder': 4.2.0(eslint@9.39.1(jiti@2.6.1))(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(nuxt@4.2.0(@parcel/watcher@2.5.1)(@vue/compiler-sfc@3.5.23)(better-sqlite3@12.4.1)(db0@0.3.4(better-sqlite3@12.4.1))(eslint@9.39.1(jiti@2.6.1))(ioredis@5.8.2)(less@4.4.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(yaml@2.8.1))(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.1)(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3))(yaml@2.8.1) + '@unhead/vue': 2.0.19(vue@3.5.23(typescript@5.9.3)) + '@vue/shared': 3.5.23 c12: 3.3.1(magicast@0.5.1) chokidar: 4.0.3 compatx: 0.2.0 @@ -10535,10 +11010,10 @@ snapshots: unctx: 2.4.1 unimport: 5.5.0 unplugin: 2.3.10 - unplugin-vue-router: 0.16.1(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + unplugin-vue-router: 0.16.1(@vue/compiler-sfc@3.5.23)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)) untyped: 2.0.0 - vue: 3.5.22(typescript@5.9.3) - vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.23(typescript@5.9.3) + vue-router: 4.6.3(vue@3.5.23(typescript@5.9.3)) optionalDependencies: '@parcel/watcher': 2.5.1 transitivePeerDependencies: @@ -10605,7 +11080,7 @@ snapshots: consola: 3.4.2 pathe: 2.0.3 pkg-types: 2.3.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 object-deep-merge@2.0.0: {} @@ -10762,6 +11237,8 @@ snapshots: dependencies: parse-statements: 1.0.11 + parse-node-version@1.0.1: {} + parse-path@7.1.0: dependencies: protocols: 2.0.2 @@ -10816,6 +11293,9 @@ snapshots: picomatch@4.0.3: {} + pify@4.0.1: + optional: true + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -11033,6 +11513,9 @@ snapshots: protocols@2.0.2: {} + prr@1.0.1: + optional: true + pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -11172,19 +11655,19 @@ snapshots: '@types/hast': 3.0.4 unist-util-visit: 5.0.0 - reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)): + reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)): dependencies: '@floating-ui/dom': 1.7.4 - '@floating-ui/vue': 1.1.9(vue@3.5.22(typescript@5.9.3)) + '@floating-ui/vue': 1.1.9(vue@3.5.23(typescript@5.9.3)) '@internationalized/date': 3.10.0 '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.12(vue@3.5.22(typescript@5.9.3)) + '@tanstack/vue-virtual': 3.13.12(vue@3.5.23(typescript@5.9.3)) '@vueuse/core': 12.8.2(typescript@5.9.3) '@vueuse/shared': 12.8.2(typescript@5.9.3) aria-hidden: 1.2.6 defu: 6.1.4 ohash: 2.0.11 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' - typescript @@ -11208,30 +11691,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdc-edge@3.6.0-29333381.8558577: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - flat: 6.0.1 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark: 4.0.2 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 - scule: 1.3.0 - stringify-entities: 4.0.4 - unified: 11.0.5 - unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.2 - yaml: 2.8.1 - transitivePeerDependencies: - - supports-color - - remark-mdc@3.8.0: + remark-mdc@3.8.1: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -11348,7 +11808,7 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.4.2: {} + sax@1.4.3: {} scslre@0.3.0: dependencies: @@ -11358,6 +11818,9 @@ snapshots: scule@1.3.0: {} + semver@5.7.2: + optional: true + semver@6.3.1: {} semver@7.7.3: {} @@ -11423,14 +11886,14 @@ snapshots: shell-quote@1.8.3: {} - shiki@3.14.0: + shiki@3.15.0: dependencies: - '@shikijs/core': 3.14.0 - '@shikijs/engine-javascript': 3.14.0 - '@shikijs/engine-oniguruma': 3.14.0 - '@shikijs/langs': 3.14.0 - '@shikijs/themes': 3.14.0 - '@shikijs/types': 3.14.0 + '@shikijs/core': 3.15.0 + '@shikijs/engine-javascript': 3.15.0 + '@shikijs/engine-oniguruma': 3.15.0 + '@shikijs/langs': 3.15.0 + '@shikijs/themes': 3.15.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -11517,7 +11980,7 @@ snapshots: speakingurl@14.0.1: {} - srvx@0.9.4: {} + srvx@0.9.5: {} stable-hash-x@0.2.0: {} @@ -11626,11 +12089,11 @@ snapshots: css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 - sax: 1.4.2 + sax: 1.4.3 - swrv@1.1.0(vue@3.5.22(typescript@5.9.3)): + swrv@1.1.0(vue@3.5.23(typescript@5.9.3)): dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) system-architecture@0.1.0: {} @@ -11638,14 +12101,16 @@ snapshots: tailwind-merge@3.3.1: {} - tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.16): + tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.17): dependencies: - tailwindcss: 4.1.16 + tailwindcss: 4.1.17 optionalDependencies: tailwind-merge: 3.3.1 tailwindcss@4.1.16: {} + tailwindcss@4.1.17: {} + tapable@2.3.0: {} tar-fs@2.1.4: @@ -11693,7 +12158,7 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - terser@5.44.0: + terser@5.44.1: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 @@ -11710,7 +12175,7 @@ snapshots: tiny-invariant@1.3.3: {} - tinyexec@1.0.1: {} + tinyexec@1.0.2: {} tinyglobby@0.2.15: dependencies: @@ -11814,6 +12279,12 @@ snapshots: css-tree: 3.1.0 ohash: 2.0.11 + unifont@0.6.0: + dependencies: + css-tree: 3.1.0 + ofetch: 1.5.1 + ohash: 2.0.11 + unimport@5.5.0: dependencies: acorn: 8.15.0 @@ -11863,7 +12334,7 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - unplugin-auto-import@20.2.0(@nuxt/kit@4.2.0(magicast@0.5.1))(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))): + unplugin-auto-import@20.2.0(@nuxt/kit@4.2.0(magicast@0.5.1))(@vueuse/core@13.9.0(vue@3.5.23(typescript@5.9.3))): dependencies: local-pkg: 1.1.2 magic-string: 0.30.21 @@ -11873,7 +12344,7 @@ snapshots: unplugin-utils: 0.3.1 optionalDependencies: '@nuxt/kit': 4.2.0(magicast@0.5.1) - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.23(typescript@5.9.3)) unplugin-utils@0.2.5: dependencies: @@ -11885,7 +12356,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 - unplugin-vue-components@30.0.0(@babel/parser@7.28.5)(@nuxt/kit@4.2.0(magicast@0.5.1))(vue@3.5.22(typescript@5.9.3)): + unplugin-vue-components@30.0.0(@babel/parser@7.28.5)(@nuxt/kit@4.2.0(magicast@0.5.1))(vue@3.5.23(typescript@5.9.3)): dependencies: chokidar: 4.0.3 debug: 4.4.3 @@ -11895,18 +12366,18 @@ snapshots: tinyglobby: 0.2.15 unplugin: 2.3.10 unplugin-utils: 0.3.1 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) optionalDependencies: '@babel/parser': 7.28.5 '@nuxt/kit': 4.2.0(magicast@0.5.1) transitivePeerDependencies: - supports-color - unplugin-vue-router@0.16.1(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): + unplugin-vue-router@0.16.1(@vue/compiler-sfc@3.5.23)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)): dependencies: '@babel/generator': 7.28.5 - '@vue-macros/common': 3.1.1(vue@3.5.22(typescript@5.9.3)) - '@vue/compiler-sfc': 3.5.22 + '@vue-macros/common': 3.1.1(vue@3.5.23(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.23 '@vue/language-core': 3.1.3(typescript@5.9.3) ast-walker-scope: 0.8.3 chokidar: 4.0.3 @@ -11923,7 +12394,7 @@ snapshots: unplugin-utils: 0.3.1 yaml: 2.8.1 optionalDependencies: - vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) + vue-router: 4.6.3(vue@3.5.23(typescript@5.9.3)) transitivePeerDependencies: - typescript - vue @@ -11996,6 +12467,15 @@ snapshots: pkg-types: 2.3.0 unplugin: 2.3.10 + unwasm@0.4.2: + dependencies: + exsolve: 1.0.7 + knitwork: 1.2.0 + magic-string: 0.30.21 + mlly: 1.8.0 + pathe: 2.0.3 + pkg-types: 2.3.0 + update-browserslist-db@1.1.4(browserslist@4.27.0): dependencies: browserslist: 4.27.0 @@ -12014,11 +12494,11 @@ snapshots: optionalDependencies: typescript: 5.9.3 - vaul-vue@0.4.1(reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): + vaul-vue@0.4.1(reka-ui@2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)))(vue@3.5.23(typescript@5.9.3)): dependencies: - '@vueuse/core': 10.11.1(vue@3.5.22(typescript@5.9.3)) - reka-ui: 2.6.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + '@vueuse/core': 10.11.1(vue@3.5.23(typescript@5.9.3)) + reka-ui: 2.6.0(typescript@5.9.3)(vue@3.5.23(typescript@5.9.3)) + vue: 3.5.23(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' @@ -12037,23 +12517,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-dev-rpc@1.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)): + vite-dev-rpc@1.1.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: birpc: 2.7.0 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vite-hot-client: 2.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vite-hot-client: 2.1.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) - vite-hot-client@2.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)): + vite-hot-client@2.1.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) - vite-node@3.2.4(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1): + vite-node@3.2.4(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -12068,7 +12548,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.11.0(eslint@9.39.1(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)): + vite-plugin-checker@0.11.0(eslint@9.39.1(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: '@babel/code-frame': 7.27.1 chokidar: 4.0.3 @@ -12077,14 +12557,14 @@ snapshots: picomatch: 4.0.3 tiny-invariant: 1.3.3 tinyglobby: 0.2.15 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.1(jiti@2.6.1) optionator: 0.9.4 typescript: 5.9.3 - vite-plugin-inspect@11.3.3(@nuxt/kit@3.20.0(magicast@0.3.5))(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)): + vite-plugin-inspect@11.3.3(@nuxt/kit@3.20.0(magicast@0.3.5))(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -12094,24 +12574,24 @@ snapshots: perfect-debounce: 2.0.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vite-dev-rpc: 1.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1)) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vite-dev-rpc: 1.1.0(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) optionalDependencies: '@nuxt/kit': 3.20.0(magicast@0.3.5) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.1.0(vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)): + vite-plugin-vue-tracer@1.1.1(vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vue@3.5.23(typescript@5.9.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.7 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1) - vue: 3.5.22(typescript@5.9.3) + vite: 7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + vue: 3.5.23(typescript@5.9.3) - vite@7.1.12(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(yaml@2.8.1): + vite@7.2.1(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) @@ -12122,8 +12602,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 jiti: 2.6.1 + less: 4.4.2 lightningcss: 1.30.2 - terser: 5.44.0 + terser: 5.44.1 yaml: 2.8.1 vitest-environment-nuxt@1.0.1(magicast@0.5.1)(typescript@5.9.3): @@ -12159,9 +12640,9 @@ snapshots: vue-component-type-helpers@3.1.3: {} - vue-demi@0.14.10(vue@3.5.22(typescript@5.9.3)): + vue-demi@0.14.10(vue@3.5.23(typescript@5.9.3)): dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) vue-devtools-stub@0.1.0: {} @@ -12177,25 +12658,25 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)): + vue-i18n@11.1.12(vue@3.5.23(typescript@5.9.3)): dependencies: '@intlify/core-base': 11.1.12 '@intlify/shared': 11.1.12 '@vue/devtools-api': 6.6.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) - vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)): + vue-router@4.6.3(vue@3.5.23(typescript@5.9.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.23(typescript@5.9.3) - vue@3.5.22(typescript@5.9.3): + vue@3.5.23(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.22 - '@vue/compiler-sfc': 3.5.22 - '@vue/runtime-dom': 3.5.22 - '@vue/server-renderer': 3.5.22(vue@3.5.22(typescript@5.9.3)) - '@vue/shared': 3.5.22 + '@vue/compiler-dom': 3.5.23 + '@vue/compiler-sfc': 3.5.23 + '@vue/runtime-dom': 3.5.23 + '@vue/server-renderer': 3.5.23(vue@3.5.23(typescript@5.9.3)) + '@vue/shared': 3.5.23 optionalDependencies: typescript: 5.9.3 diff --git a/frontend/shell.nix b/frontend/shell.nix index b390b75..cde1863 100644 --- a/frontend/shell.nix +++ b/frontend/shell.nix @@ -19,9 +19,9 @@ inputs.devenv.lib.mkShell { packages = with pkgs; [ # LSP marksman - nodePackages."@tailwindcss/language-server" - vscode-langservers-extracted - vue-language-server + # nodePackages."@tailwindcss/language-server" + # nodePackages."@vue/language-server" + # vscode-langservers-extracted rustywind nodePackages.prettier @@ -31,9 +31,8 @@ inputs.devenv.lib.mkShell { nodejs_24 nodePackages.pnpm - # Typescript - typescript - nodePackages.typescript-language-server + # typescript + # nodePackages.typescript-language-server ]; enterShell = ''