diff --git a/.env.example b/.env.example index cdf7496fa..9a2b1280c 100644 --- a/.env.example +++ b/.env.example @@ -27,13 +27,16 @@ GOOGLE_CLIENT_SECRET="" GITHUB_CLIENT_ID="" GITHUB_CLIENT_SECRET="" -# Custom OAuth Provider +# Custom OAuth Provider (optional) OAUTH_PROVIDER_NAME="" OAUTH_CLIENT_ID="" OAUTH_CLIENT_SECRET="" OAUTH_DISCOVERY_URL="" OAUTH_AUTHORIZATION_URL="" +# Better Auth Dashboard (optional) +BETTER_AUTH_API_KEY="" + # --- Email (optional) --- # If all keys are disabled, the app logs the email to be sent to the console instead. SMTP_HOST="localhost" diff --git a/.ncurc.cjs b/.ncurc.cjs index 6ba270768..4b19cb7ba 100644 --- a/.ncurc.cjs +++ b/.ncurc.cjs @@ -2,7 +2,7 @@ const nextPackages = ["@monaco-editor/react"]; -const betaPackages = ["vite", "drizzle-orm", "drizzle-kit"]; +const betaPackages = ["drizzle-orm", "drizzle-kit"]; /** @type {import('npm-check-updates').RunOptions} */ module.exports = { diff --git a/.vscode/settings.json b/.vscode/settings.json index 49a79bfe2..391f897d6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -24,6 +24,7 @@ "i18n-ally.enabledParsers": ["po"], "i18n-ally.localesPaths": ["locales"], "i18n-ally.sourceLanguage": "en-US", + "js/ts.experimental.useTsgo": true, "search.exclude": { "**/routeTree.gen.ts": true, "locales/**.po": true, @@ -35,6 +36,5 @@ ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], ["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"] ], - "tailwindCSS.experimental.configFile": "src/styles/globals.css", - "typescript.tsdk": "node_modules/typescript/lib" + "tailwindCSS.experimental.configFile": "src/styles/globals.css" } diff --git a/components.json b/components.json index 62fa0c9e3..eafbc171d 100644 --- a/components.json +++ b/components.json @@ -1,6 +1,6 @@ { "$schema": "https://ui.shadcn.com/schema.json", - "style": "radix-vega", + "style": "base-vega", "rsc": false, "tsx": true, "tailwind": { @@ -12,12 +12,15 @@ }, "iconLibrary": "phosphor", "menuColor": "default", - "menuAccent": "subtle", + "menuAccent": "bold", "aliases": { "components": "@/components", "utils": "@/utils/style", "ui": "@/components/ui", "lib": "@/utils", "hooks": "@/hooks" + }, + "registries": { + "@animate-ui": "https://animate-ui.com/r/{name}.json" } } diff --git a/docs/changelog/index.mdx b/docs/changelog/index.mdx index 74a5cb69b..e50c664a5 100644 --- a/docs/changelog/index.mdx +++ b/docs/changelog/index.mdx @@ -4,6 +4,23 @@ description: "List of all notable changes and updates to Reactive Resume" rss: true --- + + - **Features & Improvements** + - Refactor the component system to `@base-ui/react` across the app, replacing older primitive wrappers and standardizing interactive UI behavior (dialogs, menus, accordions, comboboxes, switches, and more). + - Improve auth infrastructure with Better Auth dashboard/sentinel integration and expanded IP/header handling for proxied deployments. + - Add a dedicated `src/server.ts` server entry using `FastResponse` to improve runtime compatibility for server responses. + + - **Fixes** + - Switch OpenAI integration to the `chat/completions` flow for resume import and AI features, reducing provider compatibility issues. + - Improve AI PDF/DOCX resume parsing by sending files directly to models (multimodal input), removing fragile local text extraction. + - Harden AI resume import normalization: merge section defaults, enforce required fields, and auto-generate missing IDs/flags so parsed resumes validate reliably. + - Fix regressions introduced during the UI migration, including accordion behavior and button styling/interaction edge cases. + + - **Other** + - Update dependencies and lockfile. + - Sync translation strings across locales. + + - **Fixes** - Show section titles for summary-type custom sections in the resume builder. [#2744](https://github.com/amruthpillai/reactive-resume/pull/2744) diff --git a/lingui.config.ts b/lingui.config.ts index e17bf3202..20fbac6a3 100644 --- a/lingui.config.ts +++ b/lingui.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ "de-DE", "el-GR", "en-US", + "en-GB", "es-ES", "fa-IR", "fi-FI", diff --git a/locales/af-ZA.po b/locales/af-ZA.po index 7cf30e8ae..931ede261 100644 Binary files a/locales/af-ZA.po and b/locales/af-ZA.po differ diff --git a/locales/am-ET.po b/locales/am-ET.po index faba08203..1e3a3237e 100644 --- a/locales/am-ET.po +++ b/locales/am-ET.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "ለሁሉም ይገናኛል" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "መለያ አለዎት? <0><1>አሁን ይግቡ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "መመለሻን ወደ መሀከል አድርግ" msgid "Certifications" msgstr "የማረጋገጫዎች" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ቋንቋ ቀይር" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ቋንቋን ወደ ... ቀይር" @@ -552,14 +548,15 @@ msgstr "ክብ" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ምርጫን ሰርዝ" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ፋይል ለማምጣት ለመምረጥ እዚህ ጠቅ ያድርጉ" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "የኮድ ብሎክ" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ሰነዶች" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "መለያ የለዎትም? <0><1>አሁን መለያ ፍጠሩ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "ሁለት-ደረጃ ማረጋገጫን በመነቃቃት ላይ…" msgid "English" msgstr "እንግሊዝኛ" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "የመለያዎን ደህንነት በተጨማሪ ደረጃዎች በመጨመር ያጠናክሩ።" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "ምንም ማስታወቂያ የለም፣ ምንም መከታተያ የለም" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "ምንም ውጤት አልተገኘም።" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "ዳስ አድርግ" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "የይለፍ ቃልዎ አስታውሰዎ? <0><1>አሁን ይግቡ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ፈልግ..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ፈልግ..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "የክፍል ዓይነት" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "ይምረጡ..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "አጉር" #: src/utils/locale.ts msgid "Zulu" msgstr "ዙሉ" - diff --git a/locales/ar-SA.po b/locales/ar-SA.po index c6059dc77..520eab1ce 100644 --- a/locales/ar-SA.po +++ b/locales/ar-SA.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "السماح بالوصول العام" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "لديك حساب بالفعل؟ <0><1>سجّل الدخول الآن <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "مركزة العرض" msgid "Certifications" msgstr "الشهادات" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "تغيير اللغة" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "تغيير اللغة إلى..." @@ -552,14 +548,15 @@ msgstr "دائرة" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "مسح التحديد" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "انقر هنا لتحديد ملف لاستيراده" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "كتلة برمجية" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "إرشادات الاستخدام" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "لا تملك حسابًا؟ <0><1>أنشئ واحدًا الآن <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "جاري تمكين المصادقة الثنائية..." msgid "English" msgstr "الإنجليزية" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "عزّز أمان حسابك بطبقات إضافية من الحماية." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "بدون إعلانات، بدون تتبّع" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "لم نعثر على نتائج." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "تحديث" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "هل تذكّرت كلمة المرور؟ <0><1>سجّل الدخول الآن <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ابحث عن..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ابحث..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "نوع القسم" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "اختر..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "تصغير" #: src/utils/locale.ts msgid "Zulu" msgstr "الزولو" - diff --git a/locales/az-AZ.po b/locales/az-AZ.po index 9f3e07fcc..9f92830ad 100644 --- a/locales/az-AZ.po +++ b/locales/az-AZ.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "İctimai Girişi İcazə ver" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Artıq hesabınız var? <0><1>İndi daxil olun <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Baxışı mərkəzləşdir" msgid "Certifications" msgstr "Sertifikatlar" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Dili dəyiş" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Dili dəyiş..." @@ -552,14 +548,15 @@ msgstr "Dairə" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Seçimi təmizlə" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "İdxal üçün fayl seçmək üçün bura klikləyin" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kod Bloku" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Sənədləşmə" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Hesabınız yoxdur? <0><1>İndi qeydiyyatdan keçin <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "İki mərhələli autentifikasiyanı aktivləşdirmə prosesi gedir..." msgid "English" msgstr "İngilis" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Hesabınızın təhlükəsizliyini əlavə qoruma qatları ilə gücləndirin." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Reklam yoxdur, İzləmə yoxdur" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nəticə tapılmadı." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Yenilə" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Parolunuzu xatırladınız? <0><1>İndi daxil olun <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Axtar..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Axtar..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Bölmə Növü" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Seç..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Uzaqlaşdır" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/bg-BG.po b/locales/bg-BG.po index 5aa6e172b..1492464a3 100644 --- a/locales/bg-BG.po +++ b/locales/bg-BG.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Разрешаване на публичен достъп" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Вече имате акаунт? <0><1>Влезте сега <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Центриране на изгледа" msgid "Certifications" msgstr "Сертификати" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Промяна на езика" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Промяна на езика на..." @@ -552,14 +548,15 @@ msgstr "Кръг" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Изчистване на избора" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Кликнете тук, за да изберете файл за импортиране" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Блок с код" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Документация" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Нямате профил? <0><1>Създайте един сега <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Активиране на двуфакторно удостоверяв msgid "English" msgstr "Английски" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Подобрете сигурността на профила си с допълнителни нива на защита." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Без реклами, без проследяване" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Няма намерени резултати." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Опресняване" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Спомнихте си паролата? <0><1>Влезте сега <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Търсене на..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Търсене..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Тип раздел" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Изберете..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Намаляване" #: src/utils/locale.ts msgid "Zulu" msgstr "Зулуски" - diff --git a/locales/bn-BD.po b/locales/bn-BD.po index e76b6fa36..543c22ef9 100644 --- a/locales/bn-BD.po +++ b/locales/bn-BD.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "সর্বজনীন অ্যাক্সেসের অনুমতি দিন" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "ইতিমধ্যেই একটি অ্যাকাউন্ট আছে? <0><1>এখনই সাইন ইন করুন <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ভিউ কেন্দ্র করুন" msgid "Certifications" msgstr "সার্টিফিকেশনসমূহ" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ভাষা পরিবর্তন করুন" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ভাষা পরিবর্তন করুন..." @@ -552,14 +548,15 @@ msgstr "বৃত্ত" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "নির্বাচন মুছে ফেলুন" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ইমপোর্ট করার জন্য এখান ক্লিক করে একটি ফাইল নির্বাচন করুন" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "কোড ব্লক" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ডকুমেন্টেশন" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "অ্যাকাউন্ট নেই? <0><1>এখনই একটি তৈরি করুন <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ সক msgid "English" msgstr "ইংরেজি" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "অতিরিক্ত সুরক্ষার স্তর যোগ করে আপনার অ্যাকাউন্টের নিরাপত্তা বাড়িয়ে তুলুন।" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "কোনো বিজ্ঞাপন নয়, কোনো ট্র্যাকিং নয়" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "কোন ফলাফল খুঁজে পাওয়া যায়নি।" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "রিফ্রেশ" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "পাসওয়ার্ড মনে আছে? <0><1>এখনই সাইন ইন করুন <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "খুঁজুন..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "অনুসন্ধান..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "বিভাগের ধরন" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "নির্বাচন করুন..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "জুম আউট" #: src/utils/locale.ts msgid "Zulu" msgstr "জুলু" - diff --git a/locales/ca-ES.po b/locales/ca-ES.po index 7abe3985f..a4978fda0 100644 --- a/locales/ca-ES.po +++ b/locales/ca-ES.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Permet accés públic" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Ja tens un compte? <0><1>Inicia sessió ara <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centra la vista" msgid "Certifications" msgstr "Certificacions" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Canvia l’idioma" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Canvia l’idioma a..." @@ -552,14 +548,15 @@ msgstr "Cercle" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Esborra la selecció" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Fes clic aquí per seleccionar un fitxer per importar" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloc de codi" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentació" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "No tens un compte? <0><1>Crea’n un ara <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "S’està activant l’autenticació en dos passos..." msgid "English" msgstr "Anglès" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Millora la seguretat del compte amb capes addicionals de protecció." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Sense publicitat, sense seguiment" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "No s’han trobat resultats." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Actualitza" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Recordes la contrasenya? <0><1>Inicia sessió ara <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Cerca..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Cerca..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipus de secció" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Selecciona..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Allunya" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulú" - diff --git a/locales/cs-CZ.po b/locales/cs-CZ.po index f84dec4b1..58069ddd5 100644 --- a/locales/cs-CZ.po +++ b/locales/cs-CZ.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Povolit veřejný přístup" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Máte už účet? <0><1>Přihlaste se nyní <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Vycentrovat zobrazení" msgid "Certifications" msgstr "Osvědčení" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Změnit jazyk" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Změnit jazyk na…" @@ -552,14 +548,15 @@ msgstr "Kruh" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Zrušit výběr" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Kliknutím zde vyberte soubor k importu" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blok kódu" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentace" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nemáte účet? <0><1>Vytvořte si ho nyní <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Aktivace dvoufázového ověření…" msgid "English" msgstr "Angličtina" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Zvyšte zabezpečení svého účtu pomocí dalších vrstev ochrany." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Bez reklam, bez sledování" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nebyly nalezeny žádné výsledky." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Obnovit" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Pamatujete si heslo? <0><1>Přihlaste se nyní <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Hledat…" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Hledat…" +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Typ sekce" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Vybrat…" +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Oddálit" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/da-DK.po b/locales/da-DK.po index 3597fc505..9f72425a9 100644 --- a/locales/da-DK.po +++ b/locales/da-DK.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Tillad offentlig adgang" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Har du allerede en konto? <0><1>Log ind nu <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrér visning" msgid "Certifications" msgstr "Certificeringer" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Skift sprog" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Skift sprog til..." @@ -552,14 +548,15 @@ msgstr "Cirkel" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Ryd markering" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klik her for at vælge en fil, der skal importeres" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kodeblok" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Har du ikke en konto? <0><1>Opret en nu <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Aktiverer to-faktor-godkendelse..." msgid "English" msgstr "Engelsk" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Forstærk sikkerheden på din konto med ekstra beskyttelseslag." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Ingen reklamer, ingen sporing" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Ingen resultater fundet." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Opdater" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Kan du huske din adgangskode? <0><1>Log ind nu <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Søg efter..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Søg..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Afsnitstype" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Vælg..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zoom ud" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/de-DE.po b/locales/de-DE.po index 453f5bded..15831c09f 100644 --- a/locales/de-DE.po +++ b/locales/de-DE.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Öffentlichen Zugriff erlauben" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Sie haben bereits ein Konto? <0><1>Jetzt anmelden <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Ansicht zentrieren" msgid "Certifications" msgstr "Zertifizierungen" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Sprache ändern" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Sprache ändern zu..." @@ -552,14 +548,15 @@ msgstr "Kreis" msgid "Clear chat history" msgstr "Chatverlauf löschen" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Auswahl löschen" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Hier klicken, um eine Datei zum Importieren auszuwählen" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Code-Block" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Sie haben noch kein Konto? <0><1>Jetzt erstellen <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Die Zwei-Faktor-Authentifizierung wird aktiviert..." msgid "English" msgstr "Englisch" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Verbessere die Sicherheit deines Kontos mit zusätzlichen Schutzebenen." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Keine Werbung, kein Tracking" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Keine Ergebnisse gefunden." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Aktualisieren" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Sie erinnern sich wieder an Ihr Passwort? <0><1>Jetzt anmelden <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Suchen nach..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Suchen..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Abschnittstyp" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Auswählen..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Herauszoomen" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/el-GR.po b/locales/el-GR.po index 0db6dccd5..839ad0aa4 100644 --- a/locales/el-GR.po +++ b/locales/el-GR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Να επιτρέπεται δημόσια πρόσβαση" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Έχετε ήδη λογαριασμό; <0><1>Συνδεθείτε τώρα <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Κεντράρισμα προβολής" msgid "Certifications" msgstr "Πιστοποιήσεις" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Αλλαγή γλώσσας" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Αλλαγή γλώσσας σε..." @@ -552,14 +548,15 @@ msgstr "Κύκλος" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Απαλοιφή επιλογής" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Κάντε κλικ εδώ για να επιλέξετε ένα αρχείο προς εισαγωγή" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Μπλοκ κώδικα" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Τεκμηρίωση" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Δεν έχετε λογαριασμό; <0><1>Δημιουργήστε έναν τώρα <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Ενεργοποίηση ελέγχου ταυτότητας δύο πα msgid "English" msgstr "Αγγλικά" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Ενισχύστε την ασφάλεια του λογαριασμού σας με επιπλέον επίπεδα προστασίας." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Χωρίς διαφημίσεις, χωρίς παρακολούθηση" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Δεν βρέθηκαν αποτελέσματα." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Ανανέωση" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Θυμάστε τον κωδικό πρόσβασής σας; <0><1>Συνδεθείτε τώρα <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Αναζήτηση για..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Αναζήτηση..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Τύπος ενότητας" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Επιλέξτε..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Σμίκρυνση" #: src/utils/locale.ts msgid "Zulu" msgstr "Ζουλού" - diff --git a/locales/en-GB.po b/locales/en-GB.po index 728aa9f02..8ea5035de 100644 --- a/locales/en-GB.po +++ b/locales/en-GB.po @@ -149,7 +149,7 @@ msgstr "Add a new custom section" #: src/routes/builder/$resumeId/-sidebar/left/sections/education.tsx msgid "Add a new education" -msgstr "Add a new certification" +msgstr "Add a new education" #: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx msgid "Add a new experience" @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Allow Public Access" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Already have an account? <0><1>Sign in now <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "Already have an account? <0/>" #: src/utils/locale.ts msgid "Amharic" @@ -387,7 +387,7 @@ msgstr "Back to Login" #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Background Color" -msgstr "Background Colour" +msgstr "Background Color" #: src/dialogs/auth/enable-two-factor.tsx msgid "Backup codes copied to clipboard." @@ -446,7 +446,7 @@ msgstr "By the community, for the community." #: src/routes/_home/-sections/faq.tsx msgid "Can I customize the templates?" -msgstr "Can I customise the templates?" +msgstr "Can I customize the templates?" #: src/routes/_home/-sections/faq.tsx msgid "Can I export my resume to PDF?" @@ -508,10 +508,6 @@ msgstr "Center view" msgid "Certifications" msgstr "Certifications" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Change language" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Change language to..." @@ -552,14 +548,15 @@ msgstr "Circle" msgid "Clear chat history" msgstr "Clear chat history" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Clear selection" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Click here to select a file to import" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Code Block" @@ -669,7 +666,7 @@ msgstr "Create a new account" #: src/dialogs/api-key/create.tsx #: src/routes/dashboard/settings/api-keys.tsx msgid "Create a new API key" -msgstr "Create new API key" +msgstr "Create a new API key" #: src/dialogs/resume/sections/award.tsx msgid "Create a new award" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Don't have an account? <0><1>Create one now <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "Don't have an account? <0/>" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1012,7 +1009,11 @@ msgstr "Enabling two-factor authentication..." #: src/utils/locale.ts msgid "English" -msgstr "English (UK)" +msgstr "English" + +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." @@ -1052,11 +1053,11 @@ msgstr "Everything entered here is stored locally on your browser. Your data is #: src/routes/_home/-sections/features.tsx msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever." -msgstr "Everything you need to create, customise, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever." +msgstr "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever." #: src/components/input/rich-input.tsx msgid "Exit Fullscreen" -msgstr "Exit fullscreen" +msgstr "Exit Fullscreen" #: src/dialogs/resume/sections/custom.tsx #: src/utils/resume/section.tsx @@ -1169,7 +1170,7 @@ msgstr "French" #: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx msgid "Full Width" -msgstr "Full width" +msgstr "Full Width" #: src/components/input/rich-input.tsx msgid "Fullscreen" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "No Advertising, No Tracking" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "No results found." @@ -1689,7 +1689,7 @@ msgstr "Ordered List" #: src/dialogs/resume/sections/volunteer.tsx msgid "Organization" -msgstr "Organisation" +msgstr "Organization" #: src/dialogs/resume/sections/experience.tsx msgid "Overall Period" @@ -1760,7 +1760,7 @@ msgstr "Persian" #: src/routes/_home/-sections/features.tsx msgid "Personalize your resume with any colors, fonts or designs, and make it your own." -msgstr "Personalise your resume with any colours, fonts or designs, and make it your own." +msgstr "Personalize your resume with any colors, fonts or designs, and make it your own." #: src/dialogs/resume/sections/reference.tsx #: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx @@ -1824,7 +1824,7 @@ msgstr "Press <0>{RETURN_KEY}0> or <1>{COMMA_KEY}1> to add or save the curre #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Primary Color" -msgstr "Primary Colour" +msgstr "Primary Color" #: src/dialogs/resume/sections/skill.tsx msgid "Proficiency" @@ -1853,7 +1853,7 @@ msgstr "Projects" #: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx msgid "Protect your resume from unauthorized access with a password" -msgstr "Protect your resume from unauthorised access with a password" +msgstr "Protect your resume from unauthorized access with a password" #: src/routes/_home/-sections/features.tsx msgid "Protect your resume with a password, and let only people with the password view it." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Refresh" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Remember your password? <0><1>Sign in now <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "Remember your password? <0/>" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Search for..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Search..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Section Type" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Select..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2327,7 +2325,7 @@ msgstr "Tags" #: src/dialogs/resume/index.tsx msgid "Tags can be used to categorize your resume by keywords." -msgstr "Tags can be used to categorise your resume by keywords." +msgstr "Tags can be used to categorize your resume by keywords." #: src/utils/locale.ts msgid "Tamil" @@ -2359,7 +2357,7 @@ msgstr "Testimonials" #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Text Color" -msgstr "Text Colour" +msgstr "Text Color" #: src/utils/locale.ts msgid "Thai" @@ -2498,7 +2496,7 @@ msgstr "Turn on public sharing to track how many times your resume has been view #: src/dialogs/resume/template/data.ts msgid "Two-column with a bold colored sidebar and skill bars; great for creative or tech roles where visual flair is welcome." -msgstr "Two-column with a bold coloured sidebar and skill bars; great for creative or tech roles where visual flair is welcome." +msgstr "Two-column with a bold colored sidebar and skill bars; great for creative or tech roles where visual flair is welcome." #: src/dialogs/resume/template/data.ts msgid "Two-column with a dark teal sidebar and skills grid; modern feel for developers, data scientists, or technical PMs." @@ -2789,7 +2787,7 @@ msgstr "When locked, the resume cannot be updated or deleted." #: src/routes/_home/-sections/features.tsx msgid "Write your own CSS (or use an AI to generate it for you) to customize your resume to the fullest." -msgstr "Write your own CSS (or use an AI to generate it for you) to customise your resume to the fullest." +msgstr "Write your own CSS (or use an AI to generate it for you) to customize your resume to the fullest." #: src/routes/_home/-sections/faq.tsx msgid "Yes, Reactive Resume is available in multiple languages. You can choose your preferred language in the settings page, or using the language switcher in the top right corner. If you don't see your language, or you would like to improve the existing translations, you can <0>contribute to the translations on Crowdin<1> (opens in new tab)1>0>." @@ -2797,7 +2795,7 @@ msgstr "Yes, Reactive Resume is available in multiple languages. You can choose #: src/routes/_home/-sections/faq.tsx msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance." -msgstr "Yes! Every template is fully customisable. You can change colours, fonts, spacing, and even write custom CSS for complete control over your resume's appearance." +msgstr "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance." #: src/routes/_home/-sections/faq.tsx msgid "Yes! Reactive Resume is completely free to use, with no hidden costs, premium tiers, or subscription fees. It's open-source and will always remain free." @@ -2902,4 +2900,3 @@ msgstr "Zoom out" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/en-US.po b/locales/en-US.po index aa4a59fc1..fd191bde8 100644 --- a/locales/en-US.po +++ b/locales/en-US.po @@ -241,8 +241,8 @@ msgid "Allow Public Access" msgstr "Allow Public Access" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Already have an account? <0><1>Sign in now <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "Already have an account? <0/>" #: src/utils/locale.ts msgid "Amharic" @@ -503,10 +503,6 @@ msgstr "Center view" msgid "Certifications" msgstr "Certifications" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Change language" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Change language to..." @@ -547,14 +543,15 @@ msgstr "Circle" msgid "Clear chat history" msgstr "Clear chat history" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Clear selection" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Click here to select a file to import" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "Close" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Code Block" @@ -891,8 +888,8 @@ msgid "Documentation" msgstr "Documentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Don't have an account? <0><1>Create one now <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "Don't have an account? <0/>" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1009,6 +1006,10 @@ msgstr "Enabling two-factor authentication..." msgid "English" msgstr "English" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "English (United Kingdom)" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Enhance the security of your account with additional layers of protection." @@ -1625,7 +1626,6 @@ msgid "No Advertising, No Tracking" msgstr "No Advertising, No Tracking" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "No results found." @@ -1918,8 +1918,8 @@ msgid "Refresh" msgstr "Refresh" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Remember your password? <0><1>Sign in now <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "Remember your password? <0/>" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2050,7 +2050,6 @@ msgid "Search for..." msgstr "Search for..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." msgstr "Search..." @@ -2063,7 +2062,6 @@ msgid "Section Type" msgstr "Section Type" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." msgstr "Select..." diff --git a/locales/es-ES.po b/locales/es-ES.po index fb54f3c49..a1b8b941b 100644 --- a/locales/es-ES.po +++ b/locales/es-ES.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Permitir acceso público" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "¿Ya tienes una cuenta? <0><1>Inicia sesión ahora <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrar vista" msgid "Certifications" msgstr "Certificaciones" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Cambiar idioma" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Cambiar idioma a..." @@ -552,14 +548,15 @@ msgstr "Círculo" msgid "Clear chat history" msgstr "Limpiar historial del chat" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Borrar selección" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Haz clic aquí para seleccionar un archivo para importar" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloque de código" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentación" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "¿No tienes una cuenta? <0><1>Crea una ahora <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Habilitando la autenticación de doble factor..." msgid "English" msgstr "Inglés" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Refuerza la seguridad de tu cuenta con capas adicionales de protección." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Sin publicidad, sin rastreo" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "No se han encontrado resultados." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Actualizar" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "¿Recuerdas tu contraseña? <0><1>Inicia sesión ahora <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Buscar..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Buscar..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipo de sección" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Seleccionar..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Alejar" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulú" - diff --git a/locales/fa-IR.po b/locales/fa-IR.po index f348bfbc1..59a030884 100644 --- a/locales/fa-IR.po +++ b/locales/fa-IR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "اجازهٔ دسترسی عمومی" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "قبلاً حساب دارید؟ <0><1>همین حالا وارد شوید <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "مرکز نما" msgid "Certifications" msgstr "گواهینامهها" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "تغییر زبان" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "تغییر زبان به..." @@ -552,14 +548,15 @@ msgstr "دایره" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "پاک کردن انتخاب" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "برای انتخاب فایل برای وارد کردن، اینجا کلیک کنید" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "بلوک کد" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "مستندات" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "حساب ندارید؟ <0><1>همین حالا یکی بسازید <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "در حال فعالکردن احراز هویت دو مرحلها msgid "English" msgstr "انگلیسی" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "امنیت حساب خود را با لایههای اضافی حفاظت افزایش دهید." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "بدون تبلیغات، بدون رهگیری" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "موردی یافت نشد." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "تازهسازی" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "گذرواژهتان را به یاد آوردید؟ <0><1>همین حالا وارد شوید <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "جستجو برای..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "جستجو..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "نوع بخش" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "انتخاب..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "کوچکنمایی" #: src/utils/locale.ts msgid "Zulu" msgstr "زولو" - diff --git a/locales/fi-FI.po b/locales/fi-FI.po index ccfbb7ff6..70724414e 100644 --- a/locales/fi-FI.po +++ b/locales/fi-FI.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Salli julkinen käyttö" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Onko sinulla jo tili? <0><1>Kirjaudu sisään nyt <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Keskitä näkymä" msgid "Certifications" msgstr "Sertifikaatit" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Vaihda kieli" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Vaihda kieli..." @@ -552,14 +548,15 @@ msgstr "Ympyrä" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Tyhjennä valinta" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Napsauta tästä valitaksesi tuotavan tiedoston" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Koodilohko" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentaatio" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Eikö sinulla ole tiliä? <0><1>Luo tili nyt <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Otetaan kaksivaiheista todennusta käyttöön..." msgid "English" msgstr "englanti" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Paranna tilisi turvallisuutta lisäsuojaustasoilla." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Ei mainoksia, ei seurantaa" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Tuloksia ei löytynyt." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Päivitä" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Muistatko salasanasi? <0><1>Kirjaudu sisään nyt <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Etsi..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Hae..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Osion tyyppi" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Valitse..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Loitonna" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/fr-FR.po b/locales/fr-FR.po index ae4d1ffbe..ea7faab1a 100644 --- a/locales/fr-FR.po +++ b/locales/fr-FR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Autoriser l'accès public" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Vous avez déjà un compte ? <0><1>Connectez-vous maintenant <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrer la vue" msgid "Certifications" msgstr "Certifications" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Changer la langue" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Changer la langue en..." @@ -552,14 +548,15 @@ msgstr "Cercle" msgid "Clear chat history" msgstr "Effacer l'historique de chat" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Effacer la sélection" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Cliquez ici pour sélectionner un fichier à importer" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloc de code" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Vous n'avez pas de compte ? <0><1>Créez-en un maintenant <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Activation de l'authentification à deux facteurs..." msgid "English" msgstr "Anglais" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Améliorez la sécurité de votre compte avec des niveaux de protection supplémentaires." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Pas de publicité, pas de suivi" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Aucun résultat trouvé." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Actualiser" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Vous vous souvenez de votre mot de passe ? <0><1>Connectez-vous maintenant <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Rechercher..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Recherche..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Type de section" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Sélectionner..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zoom arrière" #: src/utils/locale.ts msgid "Zulu" msgstr "Zoulou" - diff --git a/locales/he-IL.po b/locales/he-IL.po index ea8a0c595..36b39390b 100644 --- a/locales/he-IL.po +++ b/locales/he-IL.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "לאפשר גישה ציבורית" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "כבר יש לך חשבון? <0><1>התחברות עכשיו <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "מרכוז התצוגה" msgid "Certifications" msgstr "הסמכות" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "שינוי שפה" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "שינוי השפה אל..." @@ -552,14 +548,15 @@ msgstr "עיגול" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ניקוי הבחירה" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "לחץ כאן כדי לבחור קובץ לייבוא" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "בלוק קוד" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "תיעוד" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "אין לך חשבון? <0><1>יצירת חשבון עכשיו <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "הגנה עם אימות דו־שלבי..." msgid "English" msgstr "אנגלית" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "חזק את האבטחה של החשבון שלך עם שכבות הגנה נוספות." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "בלי פרסום, בלי מעקב" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "לא נמצאו תוצאות." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "רענון" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "נזכרת בסיסמה? <0><1>התחברות עכשיו <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "חיפוש..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "חיפוש..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "סוג סעיף" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "בחירה..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "התרחקות" #: src/utils/locale.ts msgid "Zulu" msgstr "זולו" - diff --git a/locales/hi-IN.po b/locales/hi-IN.po index 85ffd2211..f436413f4 100644 --- a/locales/hi-IN.po +++ b/locales/hi-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "सार्वजनिक एक्सेस की अनुमति दें" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "पहले से ही खाता है? <0><1>अभी साइन इन करें <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "दृश्य को केंद्र में करें" msgid "Certifications" msgstr "प्रमाणपत्र" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "भाषा बदलें" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "भाषा बदलें..." @@ -552,14 +548,15 @@ msgstr "गोला" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "चयन साफ़ करें" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "इम्पोर्ट करने के लिए फ़ाइल चुनने हेतु यहाँ क्लिक करें" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "कोड ब्लॉक" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "आलेख" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "खाता नहीं है? <0><1>अभी एक बनाएँ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "दो‑कारक प्रमाणीकरण सक्षम क msgid "English" msgstr "अंग्रेज़ी" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "अपने खाते की सुरक्षा को अतिरिक्त सुरक्षा स्तरों के साथ बढ़ाएँ।" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "कोई विज्ञापन नहीं, कोई ट्रैकिंग नहीं" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "कोई परिणाम नहीं मिला।" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "रिफ़्रेश" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "पासवर्ड याद है? <0><1>अभी साइन इन करें <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "खोजें..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "खोजें..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "अनुभाग प्रकार" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "चुनें..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "ज़ूम आउट" #: src/utils/locale.ts msgid "Zulu" msgstr "ज़ुलु" - diff --git a/locales/hu-HU.po b/locales/hu-HU.po index 65051a082..9d64f9e7b 100644 --- a/locales/hu-HU.po +++ b/locales/hu-HU.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Nyilvános hozzáférés engedélyezése" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Már van fiókod? <0><1>Jelentkezz be most <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Nézet középre" msgid "Certifications" msgstr "Tanúsítványok" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Nyelv módosítása" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Nyelv módosítása erre..." @@ -552,14 +548,15 @@ msgstr "Kör" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Kijelölés törlése" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Kattints ide az importálandó fájl kiválasztásához" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kódblokk" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentáció" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nincs fiókod? <0><1>Hozz létre egyet most <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Kétlépcsős hitelesítés engedélyezése..." msgid "English" msgstr "Angol" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Növeld a fiókod biztonságát további védelmi rétegek hozzáadásával." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Nincs reklám, nincs követés" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nincs találat." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Frissítés" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Eszébe jutott a jelszó? <0><1>Jelentkezz be most <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Keresés önéletrajzra..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Keresés..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Szekció típusa" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Válassz..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Kicsinyítés" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/id-ID.po b/locales/id-ID.po index 369ee6dda..c208e5dda 100644 --- a/locales/id-ID.po +++ b/locales/id-ID.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Izinkan Akses Publik" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Sudah punya akun? <0><1>Masuk sekarang <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Pusatkan tampilan" msgid "Certifications" msgstr "Sertifikasi" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Ubah bahasa" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Ubah bahasa ke..." @@ -552,14 +548,15 @@ msgstr "Lingkaran" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Hapus pilihan" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klik di sini untuk memilih file yang akan diimpor" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blok Kode" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentasi" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Tidak punya akun? <0><1>Buat sekarang <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Mengaktifkan autentikasi dua faktor..." msgid "English" msgstr "Inggris" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Tingkatkan keamanan akun Anda dengan lapisan perlindungan tambahan." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Tanpa Iklan, Tanpa Pelacakan" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Tidak ada hasil." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Muat Ulang" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Ingat kata sandi Anda? <0><1>Masuk sekarang <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Cari..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Cari..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipe Bagian" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Pilih..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Perkecil" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/it-IT.po b/locales/it-IT.po index bf44ac81d..bb5247721 100644 --- a/locales/it-IT.po +++ b/locales/it-IT.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Consenti accesso pubblico" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Hai già un account? <0><1>Accedi ora <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centra vista" msgid "Certifications" msgstr "Certificazioni" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Cambia lingua" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Cambia lingua in..." @@ -552,14 +548,15 @@ msgstr "Cerchio" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Pulisci selezione" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Fai clic qui per selezionare un file da importare" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blocco di codice" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentazione" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Non hai un account? <0><1>Creane uno ora <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Attivazione dell'autenticazione a due fattori..." msgid "English" msgstr "Inglese" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Aumenta la sicurezza del tuo account con ulteriori livelli di protezione." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Nessuna pubblicità, nessun tracciamento" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nessun risultato trovato." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Aggiorna" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Ti ricordi la password? <0><1>Accedi ora <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Cerca..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Cerca..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipo di sezione" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Seleziona..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Rimpicciolisci" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ja-JP.po b/locales/ja-JP.po index 555f58938..be8921367 100644 --- a/locales/ja-JP.po +++ b/locales/ja-JP.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "公開アクセスを許可" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "すでにアカウントをお持ちですか?<0><1>今すぐサインイン <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "中央に表示" msgid "Certifications" msgstr "認定資格" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "言語を変更" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "言語を変更..." @@ -552,14 +548,15 @@ msgstr "円" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "選択をクリア" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ここをクリックしてインポートするファイルを選択" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "コードブロック" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ドキュメンテーション" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "アカウントをお持ちでないですか?<0><1>今すぐ作成 <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "二要素認証を有効にしています..." msgid "English" msgstr "英語" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "アカウントのセキュリティを強化するために、追加の保護レイヤーを有効にしましょう。" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "広告なし・トラッキングなし" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "結果が見つかりません。" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "再読み込み" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "パスワードを思い出しましたか?<0><1>今すぐサインイン <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "検索..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "検索..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "セクションタイプ" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "選択..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "ズームアウト" #: src/utils/locale.ts msgid "Zulu" msgstr "ズールー語" - diff --git a/locales/km-KH.po b/locales/km-KH.po index 99c7ec848..156c40602 100644 --- a/locales/km-KH.po +++ b/locales/km-KH.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "អនុញ្ញាតឱ្យចូលដំណើរការសាធារណៈ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "មានគណនីរួចហើយឬ? <0><1>ចូលឥឡូវនេះ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ផ្ដោតទិដ្ឋភាពទៅកណ្ដាល msgid "Certifications" msgstr "វិញ្ញាបនបត្រ" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ប្ដូរភាសា" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ប្តូរភាសាទៅ..." @@ -552,14 +548,15 @@ msgstr "រង្វង់" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "សម្អាតការជ្រើសរើស" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ចុចទីនេះដើម្បីជ្រើសឯកសារមួយដើម្បីនាំចូល" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "កូដប្លុក" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ឯកសារ" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "មិនមានគណនីឬ? <0><1>បង្កើតមួយឥឡូវនេះ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "កំពុងបើកការផ្ទៀងផ្ទាត msgid "English" msgstr "ភាសាអង់គ្លេស" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "បង្កើនសុវត្ថិភាពគណនីរបស់អ្នកដោយបន្ថែមក្រឡុកការពារបន្ថែម។" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "គ្មានការផ្សពាណិជ្ជកម្ម គ្មានការតាមដាន" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "រកមិនឃើញលទ្ធផល។" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "ផ្ទៀងផ្ទាត់ម្ដងទៀត" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "ចង់ចាំពាក្យសម្ងាត់វិញហើយឬ? <0><1>ចូលឥឡូវនេះ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ស្វែងរកប្រវត្តិរូប..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ស្វែងរក..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "ប្រភេទផ្នែក" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "ជ្រើស..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "បង្រួម" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/kn-IN.po b/locales/kn-IN.po index b3bc85ca9..6434b0eb2 100644 --- a/locales/kn-IN.po +++ b/locales/kn-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "ಸಾರ್ವಜನಿಕ ಪ್ರವೇಶಕ್ಕೆ ಅನುಮತಿಸಿ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "ಈಗಾಗಲೇ ಖಾತೆಯಿದೆಯಾ? <0><1>ಈಗಲೇ ಸೈನ್ ಇನ್ ಮಾಡಿ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ಮಧ್ಯದಲ್ಲಿ ವೀಕ್ಷಿಸಿ" msgid "Certifications" msgstr "ಪ್ರಮಾಣಪತ್ರಗಳು" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ಭಾಷೆ ಬದಲಾಯಿಸಿ" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ಭಾಷೆಯನ್ನು ಈ ಕೆಳಗಿನದಕ್ಕೆ ಬದಲಾಯಿಸಿ..." @@ -552,14 +548,15 @@ msgstr "ವೃತ್ತ" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ಆಯ್ಕೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ಆಮದು ಮಾಡಲು ಕಡತವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "ಕೋಡ್ ಬ್ಲಾಕ್" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ದಾಖಲೀಕರಣ" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "ಖಾತೆಯಿಲ್ಲವೇ? <0><1>ಈಗಲೇ ಖಾತೇ ರಚಿಸಿ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "ಎರಡು ಅಂಶದ ದೃಢೀಕರಣವನ್ನು ಸಕ್ msgid "English" msgstr "ಆಂಗ್ಲ" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "ನಿಮ್ಮ ಖಾತೆಯ ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚುವರಿ ರಕ್ಷಣಾ ಪದರಗಳೊಂದಿಗೆ ಹೆಚ್ಚಿಸಿ." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "ಯಾವುದೇ ಜಾಹೀರಾತುಗಳಿಲ್ಲ, ಯಾವುದೇ ಟ್ರ್ಯಾಕಿಂಗ್ ಇಲ್ಲ" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬರಲಿಲ್ಲ." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "ರಿಫ್ರೆಶ್ ಮಾಡಿ" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನೆನಪಿದೆಯೇ? <0><1>ಈಗಲೇ ಸೈನ್ ಇನ್ ಮಾಡಿ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ಹುಡುಕಿ..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ಹುಡುಕಿ..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "ವಿಭಾಗದ ಪ್ರಕಾರ" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "ಆಯ್ಕೆಮಾಡಿ..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ" #: src/utils/locale.ts msgid "Zulu" msgstr "ಜೂಲೂ" - diff --git a/locales/ko-KR.po b/locales/ko-KR.po index 4f7b9d84e..af1300772 100644 --- a/locales/ko-KR.po +++ b/locales/ko-KR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "공개 액세스 허용" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "이미 계정이 있으신가요? <0><1>지금 로그인하기 <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "보기 가운데로" msgid "Certifications" msgstr "자격증" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "언어 변경" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "언어를 변경..." @@ -552,14 +548,15 @@ msgstr "원" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "선택 해제" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "가져올 파일을 선택하려면 여기를 클릭하세요" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "코드 블록" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "문서" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "계정이 없으신가요? <0><1>지금 가입하기 <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "2단계 인증을 활성화하는 중입니다..." msgid "English" msgstr "영어" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "계정 보안을 강화하기 위해 추가 보호 계층을 적용하세요." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "광고 없음, 추적 없음" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "결과가 없습니다." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "새로고침" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "비밀번호가 기억나시나요? <0><1>지금 로그인하기 <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "검색..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "검색..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "섹션 유형" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "선택..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "축소" #: src/utils/locale.ts msgid "Zulu" msgstr "줄루어" - diff --git a/locales/lt-LT.po b/locales/lt-LT.po index 0fd698f20..8ccb77e82 100644 --- a/locales/lt-LT.po +++ b/locales/lt-LT.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Leisti viešą prieigą" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Jau turite paskyrą? <0><1>Prisijunkite dabar <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centruoti vaizdą" msgid "Certifications" msgstr "Sertifikatai" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Pakeisti kalbą" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Pakeisti kalbą į..." @@ -552,14 +548,15 @@ msgstr "Apskritimas" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Išvalyti pasirinkimą" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Spustelėkite čia, kad pasirinktumėte importuojamą failą" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kodo blokas" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentacija" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Neturite paskyros? <0><1>Sukurkite ją dabar <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Įjungiamas dviejų veiksnių tapatumo patvirtinimas..." msgid "English" msgstr "Anglų" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Sustiprinkite savo paskyros saugumą papildomais apsaugos lygiais." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Be reklamų, be sekimo" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Rezultatų nerasta." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Perkrauti" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Prisiminate slaptažodį? <0><1>Prisijunkite dabar <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Ieškoti..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Paieška..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Skyriaus tipas" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Pasirinkti..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Tolinti" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulų" - diff --git a/locales/lv-LV.po b/locales/lv-LV.po index 2382397d3..f1123ce54 100644 --- a/locales/lv-LV.po +++ b/locales/lv-LV.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Atļaut publisku piekļuvi" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Jums jau ir konts? <0><1>Piesakieties tagad <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centra skats" msgid "Certifications" msgstr "Sertifikāti" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Mainīt valodu" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Mainīt valodu uz..." @@ -552,14 +548,15 @@ msgstr "Aplis" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Notīrīt izvēli" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Noklikšķiniet šeit, lai izvēlētos importējamo failu" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Koda bloks" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentācija" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nav konta? <0><1>Izveidojiet to tagad <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Tiek ieslēgta divu faktoru autentifikācija..." msgid "English" msgstr "Angļu" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Pastipriniet sava konta drošību ar papildu aizsardzības līmeņiem." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Bez reklāmām, bez izsekošanas" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Rezultāti nav atrasti." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Atsvaidzināt" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Atceraties savu paroli? <0><1>Piesakieties tagad <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Meklēt..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Meklēt..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Sadaļas tips" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Atlasīt..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Tālināt" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ml-IN.po b/locales/ml-IN.po index fac7f19a2..efda384ba 100644 --- a/locales/ml-IN.po +++ b/locales/ml-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "പബ്ലിക് ആക്സസ് അനുവദിക്കുക" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "ഇതിനകം ഒരു അക്കൗണ്ടുണ്ടോ? <0><1>ഇപ്പോൾ തന്നെ സൈൻ ഇൻ ചെയ്യൂ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "കാഴ്ച സെന്ററിലാക്കുക" msgid "Certifications" msgstr "സർട്ടിഫിക്കേഷനുകൾ" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ഭാഷ മാറ്റുക" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ഭാഷ മാറ്റുക..." @@ -552,14 +548,15 @@ msgstr "വൃത്തം" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "തിരഞ്ഞെടുപ്പ് ക്ലിയർ ചെയ്യുക" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ഇംപോർട്ട് ചെയ്യാൻ ഒരു ഫയൽ തിരഞ്ഞെടുക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "കോഡ് ബ്ലോക്ക്" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ഡോക്യുമെന്റേഷൻ" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "അക്കൗണ്ടില്ലേയോ? <0><1>ഇപ്പോൾ തന്നെ ഒന്ന് സൃഷ്ടിക്കൂ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "ടു‑ഫാക്ടർ ഓത്ന്റിക്കേഷൻ msgid "English" msgstr "ഇംഗ്ലീഷ്" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "നിങ്ങളുടെ അക്കൗണ്ടിന്റെ സുരക്ഷയെ കൂടുതൽ സംരക്ഷണ ലെയറുകൾ ഉപയോഗിച്ച് മെച്ചപ്പെടുത്തുക." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "പരസ്യങ്ങളില്ല, ട്രാക്കിംഗ് ഇല്ല" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "ഒരൊന്നുമാത്രം ഫലങ്ങളൊന്നും ലഭ്യമല്ല." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "റിഫ്രെഷ് ചെയ്യുക" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "നിങ്ങളുടെ പാസ്വേഡ് ഓർമ്മയുണ്ടോ? <0><1>ഇപ്പോൾ തന്നെ സൈൻ ഇൻ ചെയ്യൂ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "തിരയുക..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "തിരയുക..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "സെക്ഷൻ തരം" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "തിരഞ്ഞെടുക്കുക..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക" #: src/utils/locale.ts msgid "Zulu" msgstr "സൂളു" - diff --git a/locales/mr-IN.po b/locales/mr-IN.po index 82a702f25..6af2ce437 100644 --- a/locales/mr-IN.po +++ b/locales/mr-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "सार्वजनिक अॅक्सेस परवानगी द्या" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "आधीच खाते आहे का? <0><1>आता साइन इन करा <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "व्ह्यू केंद्रावर आणा" msgid "Certifications" msgstr "प्रमाणपत्रे" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "भाषा बदला" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "भाषा बदला..." @@ -552,14 +548,15 @@ msgstr "गोलाकार" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "निवड साफ करा" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "इम्पोर्ट करण्यासाठी फाईल निवडण्यासाठी येथे क्लिक करा" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "कोड ब्लॉक" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "दस्तऐवजीकरण" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "खाते नाही का? <0><1>आत्ता साइन अप करा <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "दुहेरी घटक ओथेंटिकेशन सक्ष msgid "English" msgstr "इंग्रजी" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "तुमच्या खात्याची सुरक्षा अधिक मजबूत करण्यासाठी अतिरिक्त संरक्षण स्तर जोडा." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "जाहिरात नाही, ट्रॅकिंग नाही" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "कोणतेही परिणाम आढळले नाहीत." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "ताजेतवाने करा" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "पासवर्ड आठवला? <0><1>आता साइन इन करा <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "शोधा..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "शोधा..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "विभागाचा प्रकार" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "निवडा..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "बाहेर झूम करा" #: src/utils/locale.ts msgid "Zulu" msgstr "झुलू" - diff --git a/locales/ms-MY.po b/locales/ms-MY.po index da48741ce..f4ab1223e 100644 --- a/locales/ms-MY.po +++ b/locales/ms-MY.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Benarkan Akses Awam" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Sudah mempunyai akaun? <0><1>Log masuk sekarang <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Pusatkan paparan" msgid "Certifications" msgstr "Pensijilan" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Tukar bahasa" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Tukar bahasa kepada..." @@ -552,14 +548,15 @@ msgstr "Bulatan" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Kosongkan pilihan" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klik di sini untuk memilih fail untuk diimport" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blok Kod" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentasi" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Tidak mempunyai akaun? <0><1>Daftar sekarang <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Mengaktifkan pengesahan dua faktor..." msgid "English" msgstr "Bahasa Inggeris" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Tingkatkan keselamatan akaun anda dengan lapisan perlindungan tambahan." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Tiada Pengiklanan, Tiada Penjejakan" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Tiada keputusan dijumpai." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Muat semula" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Masih ingat kata laluan anda? <0><1>Log masuk sekarang <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Cari..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Cari..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Jenis Seksyen" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Pilih..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zum keluar" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ne-NP.po b/locales/ne-NP.po index e95fa6d76..98dccaaa6 100644 --- a/locales/ne-NP.po +++ b/locales/ne-NP.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "सार्वजनिक पहुँच अनुमति दिनुहोस्" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "पहिले नै खाता छ? <0><1>अहिले साइन इन गर्नुहोस् <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "दृश्य केन्द्रमा ल्याउनुहो msgid "Certifications" msgstr "प्रमाणपत्रहरू" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "भाषा परिवर्तन गर्नुहोस्" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "भाषा यसमा परिवर्तन गर्नुहोस्..." @@ -552,14 +548,15 @@ msgstr "वृत्त" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "चयन खाली गर्नुहोस्" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "आयात गर्न फाइल छान्न यहाँ क्लिक गर्नुहोस्" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "कोड ब्लक" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "प्रलेखन (Documentation)" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "खाता छैन? <0><1>अहिले नै एउटा बनाउनुहोस् <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "दुई-कारक प्रमाणीकरण सक्रिय msgid "English" msgstr "अंग्रेजी" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "थप सुरक्षा तहहरू सहित तपाईंको खाताको सुरक्षा बढाउनुहोस्।" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "कुनै विज्ञापन छैन, कुनै ट्र्याकिङ छैन" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "कुनै परिणाम फेला परेन।" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "रिफ्रेस गर्नुहोस्" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "पासवर्ड सम्झनुभयो? <0><1>अहिले साइन इन गर्नुहोस् <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "यसको लागि खोज्नुहोस्..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "खोज्नुहोस्..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "खण्ड प्रकार" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "छान्नुहोस्..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "जूम आउट" #: src/utils/locale.ts msgid "Zulu" msgstr "जुलु" - diff --git a/locales/nl-NL.po b/locales/nl-NL.po index 7728d71c5..b66c75241 100644 --- a/locales/nl-NL.po +++ b/locales/nl-NL.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Openbare toegang toestaan" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Heeft u al een account? <0><1>Meld u nu aan <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Weergave centreren" msgid "Certifications" msgstr "Certificeringen" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Taal wijzigen" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Taal wijzigen naar..." @@ -552,14 +548,15 @@ msgstr "Cirkel" msgid "Clear chat history" msgstr "Chatgeschiedenis verwijderen" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Selectie wissen" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klik hier om een bestand te selecteren om te importeren" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Codeblok" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentatie" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Geen account? <0><1>Maak er nu een aan <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Tweestapsverificatie wordt ingeschakeld..." msgid "English" msgstr "Engels" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Verhoog de beveiliging van uw account met extra beschermingslagen." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Geen advertenties, geen tracking" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Geen resultaten gevonden." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Vernieuwen" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Herinnert u zich uw wachtwoord? <0><1>Meld u nu aan <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Zoeken naar..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Zoeken..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Sectietype" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Selecteren..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Uitzoomen" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/no-NO.po b/locales/no-NO.po index c3fb89d61..e8da41845 100644 --- a/locales/no-NO.po +++ b/locales/no-NO.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Tillat offentlig tilgang" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Har du allerede en konto? <0><1>Logg inn nå <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Sentrer visning" msgid "Certifications" msgstr "Sertifiseringer" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Endre språk" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Endre språk til..." @@ -552,14 +548,15 @@ msgstr "Sirkel" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Fjern valg" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klikk her for å velge en fil å importere" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kodeblokk" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentasjon" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Har du ikke en konto? <0><1>Opprett en nå <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Aktiverer tofaktorautentisering..." msgid "English" msgstr "Engelsk" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Styrk sikkerheten til kontoen din med ekstra lag med beskyttelse." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Ingen annonser, ingen sporing" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Ingen resultater funnet." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Oppdater" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Husker du passordet ditt? <0><1>Logg inn nå <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Søk etter..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Søk..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Seksjonstype" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Velg..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zoom ut" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/or-IN.po b/locales/or-IN.po index e76febb51..3aafee589 100644 --- a/locales/or-IN.po +++ b/locales/or-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "ସାର୍ବଜନିକ ଆକ୍ସେସ୍ ଅନୁମତି ଦିଅନ୍ତୁ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "ପହିଲାରୁ ଗୋଟିଏ ଆକାଉଣ୍ଟ ଅଛି କି? <0><1>ଏବେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ଭ୍ୟୁକୁ ମଧ୍ୟରେ ରଖନ୍ତୁ" msgid "Certifications" msgstr "ପ୍ରମାଣପତ୍ରଗୁଡିକ" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "ଭାଷା ପରିବର୍ତ୍ତନ କରନ୍ତୁ" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "ଭାଷାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ..." @@ -552,14 +548,15 @@ msgstr "ବୃତ୍ତ" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ଚୟନ ସଫା କରନ୍ତୁ" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ଆୟାତ କରିବା ପାଇଁ ଫାଇଲ୍ ଚୟନ କରିବାକୁ ଏଠାରେ କ୍ଲିକ୍ କରନ୍ତୁ" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "କୋଡ୍ ବ୍ଲକ୍" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ଦଳିଲପତ୍ର" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "ଆକାଉଣ୍ଟ ନଥିଲେ କି? <0><1>ଏବେ ଏକ ତିଆରି କରନ୍ତୁ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ msgid "English" msgstr "ଇଂରାଜୀ" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "ଅତିରିକ୍ତ ସୁରକ୍ଷା ସ୍ତର ସହିତ ଆପଣଙ୍କ ଆକାଉଣ୍ଟର ସୁରକ୍ଷାକୁ ବଢାନ୍ତୁ।" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "ବିଜ୍ଞାପନ ନାହିଁ, ଟ୍ରାକିଂ ନାହିଁ" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "କୌଣସି ଫଳାଫଳ ମିଳିଲା ନାହିଁ।" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "ରିଫ୍ରେଶ କରନ୍ତୁ" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "ପାସୱାର୍ଡ ମନେ ପକାଇଲେ କି? <0><1>ଏବେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ଖୋଜନ୍ତୁ..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ଖୋଜନ୍ତୁ..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "ବିଭାଗ ପ୍ରକାର" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "ଚୟନ କରନ୍ତୁ..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ" #: src/utils/locale.ts msgid "Zulu" msgstr "ଜୁଲୁ" - diff --git a/locales/pl-PL.po b/locales/pl-PL.po index 6da67a027..539d63217 100644 --- a/locales/pl-PL.po +++ b/locales/pl-PL.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Zezwól na publiczny dostęp" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Masz już konto? <0><1>Zaloguj się teraz <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Wyśrodkuj widok" msgid "Certifications" msgstr "Certyfikaty" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Zmień język" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Zmień język na..." @@ -552,14 +548,15 @@ msgstr "Koło" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Wyczyść wybór" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Kliknij tutaj, aby wybrać plik do importu" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blok kodu" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentacja" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nie masz konta? <0><1>Utwórz je teraz <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Włączanie uwierzytelniania dwuskładnikowego..." msgid "English" msgstr "Angielski" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Zwiększ bezpieczeństwo swojego konta dzięki dodatkowym warstwom ochrony." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Bez reklam, bez śledzenia" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Brak wyników." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Odśwież" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Pamiętasz hasło? <0><1>Zaloguj się teraz <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Szukaj CV..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Szukaj..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Typ sekcji" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Wybierz..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Pomniejsz" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/pt-BR.po b/locales/pt-BR.po index ce3b69bde..5ee96ea26 100644 --- a/locales/pt-BR.po +++ b/locales/pt-BR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Permitir acesso público" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Já tem uma conta? <0><1>Entre agora <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centralizar visualização" msgid "Certifications" msgstr "Certificações" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Mudar idioma" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Mudar idioma para..." @@ -552,14 +548,15 @@ msgstr "Círculo" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Limpar seleção" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Clique aqui para selecionar um arquivo para importar" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloco de código" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentação" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Não tem uma conta? <0><1>Crie uma agora <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Ativando a autenticação de dois fatores..." msgid "English" msgstr "Inglês" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Aumente a segurança da sua conta com camadas adicionais de proteção." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Sem publicidade, sem rastreamento" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nenhum resultado encontrado." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Atualizar" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Lembrou da sua senha? <0><1>Entre agora <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Pesquisar..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Pesquisar..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipo de seção" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Selecionar..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Diminuir zoom" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/pt-PT.po b/locales/pt-PT.po index 86907521e..8ab940130 100644 --- a/locales/pt-PT.po +++ b/locales/pt-PT.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Permitir acesso público" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Já tem uma conta? <0><1>Inicie sessão agora <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrar vista" msgid "Certifications" msgstr "Certificações" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Mudar idioma" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Mudar idioma para..." @@ -552,14 +548,15 @@ msgstr "Círculo" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Limpar seleção" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Clique aqui para selecionar um ficheiro para importar" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloco de código" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentação" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Não tem uma conta? <0><1>Crie uma agora <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "A ativar a autenticação de dois factores..." msgid "English" msgstr "Inglês" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Reforce a segurança da sua conta com camadas adicionais de proteção." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Sem publicidade, sem rastreamento" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nenhum resultado encontrado." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Recarregar" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Lembra-se da sua senha? <0><1>Inicie sessão agora <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Procurar..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Pesquisar..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tipo de secção" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Selecionar..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Afastar" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ro-RO.po b/locales/ro-RO.po index 9d18e47d1..842fe35a9 100644 --- a/locales/ro-RO.po +++ b/locales/ro-RO.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Permite acces public" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Aveți deja un cont? <0><1>Autentificați-vă acum <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrează vizualizarea" msgid "Certifications" msgstr "Certificări" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Schimbați limba" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Schimbați limba în..." @@ -552,14 +548,15 @@ msgstr "Cerc" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Ștergeți selecția" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Faceți clic aici pentru a selecta un fișier de importat" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bloc de cod" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Documentație" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nu aveți un cont? <0><1>Creați unul acum <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Se activează autentificarea cu doi factori..." msgid "English" msgstr "Engleză" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Sporiți securitatea contului prin straturi suplimentare de protecție." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Fără reclame, fără urmărire" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nu s-a găsit niciun rezultat." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Reîncarcă" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Vă amintiți parola? <0><1>Autentificați-vă acum <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Căutați..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Căutare..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Tip secțiune" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Selectați..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Micșorează" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ru-RU.po b/locales/ru-RU.po index a3065cd29..46f2f704c 100644 --- a/locales/ru-RU.po +++ b/locales/ru-RU.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Разрешить публичный доступ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Уже есть учетная запись? <0><1>Войдите сейчас <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Центрировать вид" msgid "Certifications" msgstr "Сертификаты" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Изменить язык" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Изменить язык на..." @@ -552,14 +548,15 @@ msgstr "Круг" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Очистить выбор" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Нажмите здесь, чтобы выбрать файл для импорта" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Блок кода" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Документация" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Нет учетной записи? <0><1>Создайте её сейчас <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Включение двухфакторной аутентификаци msgid "English" msgstr "Английский" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Усильте безопасность своей учетной записи дополнительными уровнями защиты." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Без рекламы и отслеживания" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Результатов не найдено." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Обновить" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Вспомнили пароль? <0><1>Войдите сейчас <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Поиск..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Поиск..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Тип раздела" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Выберите..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Уменьшить" #: src/utils/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/locales/sk-SK.po b/locales/sk-SK.po index e867bad9c..e564b7d67 100644 --- a/locales/sk-SK.po +++ b/locales/sk-SK.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Povoliť verejný prístup" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Už máš účet? <0><1>Prihlás sa teraz <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Vycentrovať zobrazenie" msgid "Certifications" msgstr "Certifikácie" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Zmeniť jazyk" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Zmeniť jazyk na..." @@ -552,14 +548,15 @@ msgstr "Kruh" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Zrušiť výber" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Kliknutím sem vyber súbor na import" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Blok kódu" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentácia" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nemáš účet? <0><1>Vytvor si ho teraz <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Zapínam dvojfaktorové overenie..." msgid "English" msgstr "Angličtina" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Zvýš bezpečnosť svojho účtu ďalšími vrstvami ochrany." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Bez reklám, bez sledovania" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nenašli sa žiadne výsledky." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Obnoviť" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Spomínaš si na heslo? <0><1>Prihlás sa teraz <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Hľadať..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Hľadať..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Typ sekcie" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Vybrať..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Oddialiť" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/sq-AL.po b/locales/sq-AL.po index 24b76aaa4..65ee0b906 100644 --- a/locales/sq-AL.po +++ b/locales/sq-AL.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Lejo akses publik" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Keni tashmë një llogari? <0><1>Hyni tani <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Qendro pamjen" msgid "Certifications" msgstr "Certifikime" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Ndrysho gjuhën" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Ndrysho gjuhën në..." @@ -552,14 +548,15 @@ msgstr "Rreth" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Pastro përzgjedhjen" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klikoni këtu për të zgjedhur një skedar për importim" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Bllok kodi" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentacioni" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Nuk keni një llogari? <0><1>Krijoni një tani <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Po aktivizohet vërtetimi me dy faktorë..." msgid "English" msgstr "Anglisht" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Forconi sigurinë e llogarisë suaj me shtresa shtesë mbrojtjeje." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Pa reklama, pa gjurmim" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Nuk u gjetën rezultate." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Rifresko" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "E kujtuat fjalëkalimin? <0><1>Hyni tani <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Kërko për..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Kërko..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Lloji i seksionit" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Zgjidh..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zvogëlo" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/sr-SP.po b/locales/sr-SP.po index 1218d62d2..9e83b70e7 100644 --- a/locales/sr-SP.po +++ b/locales/sr-SP.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Дозволи јавни приступ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Већ имате налог? <0><1>Пријавите се сада <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Центрирај приказ" msgid "Certifications" msgstr "Сертификације" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Промени језик" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Промени језик у..." @@ -552,14 +548,15 @@ msgstr "Круг" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Обриши избор" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Кликните овде да изаберете датотеку за увоз" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Блок кода" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Документација" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Немате налог? <0><1>Креирајте га сада <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Омогућавање двофакторске аутентификац msgid "English" msgstr "Енглески" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Побољшајте безбедност свог налога додатним слојевима заштите." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Без оглашавања, без праћења" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Нема резултата." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Освежи" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Сећате се лозинке? <0><1>Пријавите се сада <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Претражи резимее..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Претражи..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Тип одељка" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Изаберите..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Умањи" #: src/utils/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/locales/sv-SE.po b/locales/sv-SE.po index 40c1668b0..72fc5ad43 100644 --- a/locales/sv-SE.po +++ b/locales/sv-SE.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Tillåt offentlig åtkomst" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Har du redan ett konto? <0><1>Logga in nu <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Centrera vy" msgid "Certifications" msgstr "Certifieringar" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Ändra språk" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Ändra språk till..." @@ -552,14 +548,15 @@ msgstr "Cirkel" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Rensa markering" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Klicka här för att välja en fil att importera" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kodblock" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dokumentation" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Har du inget konto? <0><1>Skapa ett nu <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Aktiverar tvåfaktorsautentisering..." msgid "English" msgstr "Engelska" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Förbättra säkerheten för ditt konto med ytterligare skyddslager." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Ingen reklam, ingen spårning" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Inga resultat hittades." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Uppdatera" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Kommer du ihåg ditt lösenord? <0><1>Logga in nu <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Sök efter..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Sök..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Avsnittstyp" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Välj..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Zooma ut" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/ta-IN.po b/locales/ta-IN.po index 9d1b285a7..a477373bb 100644 --- a/locales/ta-IN.po +++ b/locales/ta-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "பொது அணுகலை அனுமதிக்கவும்" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "ஏற்கனவே கணக்கு இருக்கிறதா? <0><1>உடனே உள்நுழைக <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "நடுப்பார்வை" msgid "Certifications" msgstr "சான்றிதழ்கள்" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "மொழியை மாற்று" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "மொழியை மாற்ற..." @@ -552,14 +548,15 @@ msgstr "வட்டம்" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "தேர்வை அழிக்கவும்" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "இறக்குமதி செய்ய ஒரு கோப்பை தேர்ந்தெடுக்க இங்கே கிளிக் செய்யவும்" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "குறியீட்டு தொகுதி" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "ஆவணங்கள்" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "கணக்கு இல்லையா? <0><1>இப்போதே ஒன்றை உருவாக்கவும் <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "இரண்டு நிலை அங்கீகாரத்தை இ msgid "English" msgstr "ஆங்கிலம்" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "உங்கள் கணக்கின் பாதுகாப்பை கூடுதல் பாதுகாப்பு அடுக்குகளால் மேம்படுத்துங்கள்." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "விளம்பரம் இல்லை, கண்காணிப்பு இல்லை" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "எந்த முடிவுகளும் கிடைக்கவில்லை." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "மீண்டும் ஏற்று" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "உங்கள் கடவுச்சொல் நினைவில் இருக்கிறதா? <0><1>உடனே உள்நுழைக <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "தேடுங்கள்..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "தேடல்..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "பகுதி வகை" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "தேர்வு செய்க..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "சிறிதாக்கு" #: src/utils/locale.ts msgid "Zulu" msgstr "ஜூலு" - diff --git a/locales/te-IN.po b/locales/te-IN.po index 4efb0e491..f2ecac23a 100644 --- a/locales/te-IN.po +++ b/locales/te-IN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "ప్రజా యాక్సెస్ని అనుమతించండి" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "మీకు ఖాతా ఉందా? <0><1>ఇప్పుడే సైన్ ఇన్ చెయ్యండి <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ప్రదర్శనను మధ్య భాగంగా ఉంచ msgid "Certifications" msgstr "ప్రామாணపత్రాలు" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "భాష మార్చండి" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "భాష మార్చండి..." @@ -552,14 +548,15 @@ msgstr "వృత్తం" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ఎంపికను క్లియర్ చేయండి" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "ఇంపోర్ట్ చేయడానికి ఫైల్ ను ఎంచుకోవడానికి ఇక్కడ క్లిక్ చేయండి" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "కోడ్ బ్లాక్" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "డాక్యుమెంటేషన్" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "ఖాతా లేదా? <0><1>ఇప్పుడు ఖాతా సృష్టించండి <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "రెండు దశల ధృవీకరణను ప్రారం msgid "English" msgstr "ఆంగ్లం" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "మీ ఖాతా భద్రతను అదనపు పరిరక్షణతో మెరుగుపరచండి." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "ప్రకటనలు లేవు, ట్రాకింగ్ లేదు" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "ఏ ఫలితాలు లభించలేదు." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "రిఫ్రెష్ చేయండి" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "మీకు పాస్వర్డ్ గుర్తుంది? <0><1>ఇప్పుడే సైన్ ఇన్ అవ్వండి <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "శోధించండి..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "శోధన..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "విభాగపు రకం" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "ఎంచుకోండి..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "జూమ్ అవుట్ చేయండి" #: src/utils/locale.ts msgid "Zulu" msgstr "జులు" - diff --git a/locales/th-TH.po b/locales/th-TH.po index f6bd06dfd..7f76c8e53 100644 --- a/locales/th-TH.po +++ b/locales/th-TH.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "อนุญาตให้เข้าถึงแบบสาธารณะ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "มีบัญชีอยู่แล้ว? <0><1>เข้าสู่ระบบตอนนี้ <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "ศูนย์กลางมุมมอง" msgid "Certifications" msgstr "ใบรับรอง" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "เปลี่ยนภาษา" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "เปลี่ยนภาษาเป็น..." @@ -552,14 +548,15 @@ msgstr "วงกลม" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "ล้างการเลือก" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "คลิกที่นี่เพื่อเลือกไฟล์ที่จะนำเข้า" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "บล็อกโค้ด" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "เอกสารอ้างอิง" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "ยังไม่มีบัญชีใช่ไหม? <0><1>สร้างบัญชีเลยตอนนี้ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "กำลังเปิดใช้งานการยืนยัน msgid "English" msgstr "ภาษาอังกฤษ" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "เพิ่มความปลอดภัยให้กับบัญชีของคุณด้วยชั้นการป้องกันเพิ่มเติม" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "ไม่มีโฆษณา ไม่มีการติดตาม" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "ไม่พบผลลัพธ์" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "รีเฟรช" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "จำรหัสผ่านของคุณได้หรือไม่? <0><1>ลงชื่อเข้าใช้ตอนนี้ <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "ค้นหา..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "ค้นหา..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "ประเภทของเซกชั่น" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "เลือก..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "ซูมออก" #: src/utils/locale.ts msgid "Zulu" msgstr "ซูลู" - diff --git a/locales/tr-TR.po b/locales/tr-TR.po index 2cc5ec811..41d8ba917 100644 --- a/locales/tr-TR.po +++ b/locales/tr-TR.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Herkese Açık Erişime İzin Ver" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Zaten bir hesabınız var mı? <0><1>Şimdi giriş yapın <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Görünümü ortala" msgid "Certifications" msgstr "Sertifikalar" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Dili değiştir" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Dili şuna değiştir..." @@ -552,14 +548,15 @@ msgstr "Daire" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Seçimi temizle" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "İçe aktarmak için bir dosya seçmek üzere buraya tıklayın" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kod Bloğu" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Dökümantasyon" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Hesabınız yok mu? <0><1>Şimdi oluşturun <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "İki faktörlü kimlik doğrulama etkinleştiriliyor..." msgid "English" msgstr "İngilizce" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Hesabınızın güvenliğini ek koruma katmanlarıyla artırın." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Reklam Yok, Takip Yok" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Hiçbir sonuç bulunamadı." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Yenile" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Şifrenizi hatırlıyor musunuz? <0><1>Şimdi giriş yapın <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Ara..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Ara..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Bölüm Türü" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Seç..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Uzaklaştır" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/uk-UA.po b/locales/uk-UA.po index e226f74bb..80011e0cc 100644 --- a/locales/uk-UA.po +++ b/locales/uk-UA.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Дозволити Загальний Доступ" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Вже маєте профіль? <0><1>Увійдіть зараз <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Центрувати перегляд" msgid "Certifications" msgstr "Сертифікати" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Змінити мову" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Змінити мову на..." @@ -552,14 +548,15 @@ msgstr "Кругле" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Очистити вибір" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Натисніть тут, щоб вибрати файл для імпорту" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Блок коду" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Документація" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Не маєте профілю? <0><1>Створіть його зараз <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Увімкнення двофакторної автентифікаці msgid "English" msgstr "Англійська" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Підвищте безпеку свого профілю додатковими рівнями захисту." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Без реклами, без відстеження" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Результатів не знайдено." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Оновити" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Пам’ятаєте свій пароль? <0><1>Увійдіть зараз <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Пошук..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Пошук..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Тип секції" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Оберіть..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Зменшити" #: src/utils/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/locales/uz-UZ.po b/locales/uz-UZ.po index 26e8a13e2..ddf89a48b 100644 --- a/locales/uz-UZ.po +++ b/locales/uz-UZ.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Ommaviy kirishga ruxsat berish" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Akkountingiz bormi? <0><1>Hozir kiring <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Markazga koʻrish" msgid "Certifications" msgstr "Sertifikatlar" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Tilni o'zgartirish" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Tilni oʻzgartirish..." @@ -552,14 +548,15 @@ msgstr "Doira" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Tanlovni tozalash" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Import qilish uchun faylni tanlash uchun shu yerni bosing" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Kod bloki" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Hujjatlar" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Hisobingiz yo‘qmi? <0><1>Hozir yaratish <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Ikki bosqichli autentifikatsiya yoqilmoqda..." msgid "English" msgstr "Inglizcha" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Hisobingiz xavfsizligini qo‘shimcha himoya qatlamlari bilan oshiring." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Reklamasiz, kuzatuvsiz" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Hech qanday natija topilmadi." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Yangilash" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Parolingiz esingizdami? <0><1>Hozir kiring <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Qidiruv..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Qidiruv..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Bo'lim turi" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Tanlang..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Kichraytirish" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/vi-VN.po b/locales/vi-VN.po index ebfd3f388..ed311e651 100644 --- a/locales/vi-VN.po +++ b/locales/vi-VN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "Cho phép truy cập công khai" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "Bạn đã có tài khoản? <0><1>Đăng nhập ngay <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "Căn giữa màn hình" msgid "Certifications" msgstr "Chứng chỉ" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "Thay đổi ngôn ngữ" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "Đổi ngôn ngữ sang..." @@ -552,14 +548,15 @@ msgstr "Vòng tròn" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "Xóa lựa chọn" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "Nhấn vào đây để chọn file cần nhập khẩu" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "Khối mã" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "Tài liệu" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "Bạn chưa có tài khoản? <0><1>Tạo ngay bây giờ <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "Đang bật xác thực hai yếu tố..." msgid "English" msgstr "Tiếng Anh" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "Tăng cường bảo mật cho tài khoản của bạn với nhiều lớp bảo vệ bổ sung." @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "Không quảng cáo, không theo dõi" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "Không tìm thấy kết quả." @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "Làm mới" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "Bạn nhớ mật khẩu? <0><1>Đăng nhập ngay <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "Tìm kiếm..." #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "Tìm kiếm..." +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "Loại phần" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "Chọn..." +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "Thu nhỏ" #: src/utils/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/locales/zh-CN.po b/locales/zh-CN.po index 3719bd785..c7936f3bc 100644 --- a/locales/zh-CN.po +++ b/locales/zh-CN.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "允许公开访问" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "已经有账号?<0><1>立即登录 <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "视图居中" msgid "Certifications" msgstr "证书" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "更改语言" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "将语言更改为…" @@ -552,14 +548,15 @@ msgstr "圆形" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "清除选择" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "点击此处选择要导入的文件" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "代码块" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "文档" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "没有账号?<0><1>立即创建 <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "正在使用双重身份验证保护…" msgid "English" msgstr "英语" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "为你的账号增加更多保护层,提升安全性。" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "无广告,无跟踪" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "没找到结果。" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "刷新" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "想起你的密码了?<0><1>立即登录 <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "搜索…" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "搜索…" +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "章节类型" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "选择…" +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "缩小" #: src/utils/locale.ts msgid "Zulu" msgstr "祖鲁语" - diff --git a/locales/zh-TW.po b/locales/zh-TW.po index 93c8c9c3f..ab7844a7c 100644 --- a/locales/zh-TW.po +++ b/locales/zh-TW.po @@ -246,8 +246,8 @@ msgid "Allow Public Access" msgstr "允許公開存取" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" -msgstr "已經有帳戶了嗎?<0><1>立即登入 <2/>1>0>" +msgid "Already have an account? <0/>" +msgstr "" #: src/utils/locale.ts msgid "Amharic" @@ -508,10 +508,6 @@ msgstr "置中檢視" msgid "Certifications" msgstr "證照" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "變更語言" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "變更語言為…" @@ -552,14 +548,15 @@ msgstr "圓形" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "清除選取" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "按這裡選擇要匯入的檔案" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "程式碼區塊" @@ -896,8 +893,8 @@ msgid "Documentation" msgstr "文件" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" -msgstr "沒有帳戶嗎?<0><1>立即建立 <2/>1>0>" +msgid "Don't have an account? <0/>" +msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx msgid "Donate to Reactive Resume" @@ -1014,6 +1011,10 @@ msgstr "正在啟用雙因子驗證…" msgid "English" msgstr "英文" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "透過額外的保護層級強化您的帳戶安全。" @@ -1630,7 +1631,6 @@ msgid "No Advertising, No Tracking" msgstr "無廣告、無追蹤" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "找不到相符的結果。" @@ -1923,8 +1923,8 @@ msgid "Refresh" msgstr "重新整理" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" -msgstr "想起密碼了嗎?<0><1>立即登入 <2/>1>0>" +msgid "Remember your password? <0/>" +msgstr "" #: src/dialogs/resume/sections/experience.tsx msgid "Remove" @@ -2055,9 +2055,8 @@ msgid "Search for..." msgstr "搜尋履歷…" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." -msgstr "搜尋…" +msgstr "" #: src/dialogs/auth/enable-two-factor.tsx msgid "Secret copied to clipboard." @@ -2068,9 +2067,8 @@ msgid "Section Type" msgstr "段落類型" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." -msgstr "選取…" +msgstr "" #: src/routes/_home/-sections/features.tsx msgid "Self-Host with Docker" @@ -2902,4 +2900,3 @@ msgstr "縮小" #: src/utils/locale.ts msgid "Zulu" msgstr "祖魯語" - diff --git a/locales/zu-ZA.po b/locales/zu-ZA.po index 64870ffe4..096b40ef3 100644 --- a/locales/zu-ZA.po +++ b/locales/zu-ZA.po @@ -241,7 +241,7 @@ msgid "Allow Public Access" msgstr "" #: src/routes/auth/register.tsx -msgid "Already have an account? <0><1>Sign in now <2/>1>0>" +msgid "Already have an account? <0/>" msgstr "" #: src/utils/locale.ts @@ -503,10 +503,6 @@ msgstr "" msgid "Certifications" msgstr "" -#: src/routes/_home/-sections/header.tsx -msgid "Change language" -msgstr "" - #: src/components/command-palette/pages/preferences/index.tsx msgid "Change language to..." msgstr "" @@ -547,14 +543,15 @@ msgstr "" msgid "Clear chat history" msgstr "" -#: src/components/ui/multiple-combobox.tsx -msgid "Clear selection" -msgstr "" - #: src/dialogs/resume/import.tsx msgid "Click here to select a file to import" msgstr "" +#: src/components/ui/dialog.tsx +#: src/components/ui/sheet.tsx +msgid "Close" +msgstr "" + #: src/components/input/rich-input.tsx msgid "Code Block" msgstr "" @@ -891,7 +888,7 @@ msgid "Documentation" msgstr "" #: src/routes/auth/login.tsx -msgid "Don't have an account? <0><1>Create one now <2/>1>0>" +msgid "Don't have an account? <0/>" msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx @@ -1009,6 +1006,10 @@ msgstr "" msgid "English" msgstr "" +#: src/utils/locale.ts +msgid "English (United Kingdom)" +msgstr "" + #: src/routes/_home/-sections/features.tsx msgid "Enhance the security of your account with additional layers of protection." msgstr "" @@ -1625,7 +1626,6 @@ msgid "No Advertising, No Tracking" msgstr "" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "No results found." msgstr "" @@ -1918,7 +1918,7 @@ msgid "Refresh" msgstr "" #: src/routes/auth/forgot-password.tsx -msgid "Remember your password? <0><1>Sign in now <2/>1>0>" +msgid "Remember your password? <0/>" msgstr "" #: src/dialogs/resume/sections/experience.tsx @@ -2050,7 +2050,6 @@ msgid "Search for..." msgstr "" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Search..." msgstr "" @@ -2063,7 +2062,6 @@ msgid "Section Type" msgstr "" #: src/components/ui/combobox.tsx -#: src/components/ui/multiple-combobox.tsx msgid "Select..." msgstr "" diff --git a/package.json b/package.json index c18f2c6c7..0647573bc 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "reactive-resume", "description": "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.", - "version": "5.0.11", + "version": "5.0.12", "license": "MIT", "type": "module", - "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017", + "packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be", "repository": { "type": "git", "url": "https://github.com/amruthpillai/reactive-resume.git" @@ -22,61 +22,65 @@ "db:push": "drizzle-kit push", "db:studio": "drizzle-kit studio", "dev": "vite dev", - "preview": "vite preview", "docs:dev": "cd docs && npx mint dev", "knip": "knip", "lingui:extract": "lingui extract --clean --overwrite", "lint": "biome check --write", + "preview": "vite preview", "start": "node .output/server/index.mjs", - "typecheck": "tsc --noEmit" + "typecheck": "tsgo --noEmit" }, "dependencies": { "@ai-sdk/anthropic": "^3.0.58", "@ai-sdk/google": "^3.0.43", "@ai-sdk/openai": "^3.0.41", "@ai-sdk/react": "^3.0.118", - "@aws-sdk/client-s3": "^3.1003.0", - "@better-auth/api-key": "^1.5.4", - "@better-auth/drizzle-adapter": "^1.5.4", + "@aws-sdk/client-s3": "^3.1011.0", + "@base-ui/react": "^1.3.0", + "@better-auth/api-key": "^1.5.5", + "@better-auth/drizzle-adapter": "^1.5.5", + "@better-auth/infra": "^0.1.12", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@fontsource-variable/ibm-plex-sans": "^5.2.8", "@hookform/resolvers": "^5.2.2", - "@lingui/core": "^5.9.2", - "@lingui/react": "^5.9.2", + "@lingui/core": "^5.9.3", + "@lingui/react": "^5.9.3", "@modelcontextprotocol/sdk": "^1.27.1", "@monaco-editor/react": "4.8.0-rc.3", - "@orpc/client": "^1.13.6", - "@orpc/json-schema": "^1.13.6", - "@orpc/openapi": "^1.13.6", - "@orpc/server": "^1.13.6", - "@orpc/tanstack-query": "^1.13.6", - "@orpc/zod": "^1.13.6", + "@orpc/client": "^1.13.7", + "@orpc/json-schema": "^1.13.7", + "@orpc/openapi": "^1.13.7", + "@orpc/server": "^1.13.7", + "@orpc/tanstack-query": "^1.13.7", + "@orpc/zod": "^1.13.7", "@phosphor-icons/react": "^2.1.10", "@phosphor-icons/web": "^2.1.2", "@sindresorhus/slugify": "^3.0.0", "@t3-oss/env-core": "^0.13.10", "@tanstack/react-query": "^5.90.21", - "@tanstack/react-router": "^1.166.2", - "@tanstack/react-router-ssr-query": "^1.166.2", - "@tanstack/react-start": "^1.166.2", - "@tanstack/zod-adapter": "^1.166.2", - "@tiptap/extension-highlight": "^3.20.1", - "@tiptap/extension-table": "^3.20.1", - "@tiptap/extension-text-align": "^3.20.1", - "@tiptap/pm": "^3.20.1", - "@tiptap/react": "^3.20.1", - "@tiptap/starter-kit": "^3.20.1", + "@tanstack/react-router": "^1.167.4", + "@tanstack/react-router-ssr-query": "^1.166.9", + "@tanstack/react-start": "^1.166.16", + "@tanstack/zod-adapter": "^1.166.9", + "@tiptap/extension-highlight": "^3.20.4", + "@tiptap/extension-table": "^3.20.4", + "@tiptap/extension-text-align": "^3.20.4", + "@tiptap/pm": "^3.20.4", + "@tiptap/react": "^3.20.4", + "@tiptap/starter-kit": "^3.20.4", + "@uiw/color-convert": "^2.9.6", + "@uiw/react-color-colorful": "^2.9.6", "ai": "^6.0.116", - "ai-sdk-ollama": "^3.8.0", + "ai-sdk-ollama": "^3.8.1", "bcrypt": "^6.0.0", - "better-auth": "^1.5.4", + "better-auth": "^1.5.5", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", - "dompurify": "^3.3.2", - "drizzle-orm": "1.0.0-beta.16-ea816b6", + "dompurify": "^3.3.3", + "drizzle-orm": "1.0.0-beta.18-7eb39f0", "drizzle-zod": "^0.8.3", "es-toolkit": "^1.45.1", "fast-deep-equal": "^3.1.3", @@ -85,25 +89,25 @@ "immer": "^11.1.4", "input-otp": "^1.4.2", "js-cookie": "^3.0.5", - "jsonrepair": "^3.13.2", - "mammoth": "^1.11.0", + "jsonrepair": "^3.13.3", + "lucide-react": "^0.577.0", "monaco-editor": "^0.55.1", - "motion": "^12.35.0", - "nodemailer": "^8.0.1", - "pdf-parse": "^2.4.5", + "motion": "^12.38.0", + "nodemailer": "^8.0.2", "pg": "^8.20.0", - "puppeteer-core": "^24.38.0", + "puppeteer-core": "^24.39.1", "qrcode.react": "^4.2.0", - "radix-ui": "^1.4.3", "react": "^19.2.4", "react-dom": "^19.2.4", "react-hook-form": "^7.71.2", "react-hotkeys-hook": "^5.2.4", - "react-resizable-panels": "^4.7.1", + "react-resizable-panels": "^4.7.3", "react-window": "^2.2.7", "react-zoom-pan-pinch": "^3.7.0", + "shadcn": "^4.0.8", "sharp": "^0.34.5", "sonner": "^2.0.7", + "srvx": "^0.11.12", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.1", "ts-pattern": "^5.9.0", @@ -114,53 +118,55 @@ "workbox-window": "^7.4.0", "zod": "^4.3.6", "zundo": "^2.3.0", - "zustand": "^5.0.11" + "zustand": "^5.0.12" }, "devDependencies": { - "@biomejs/biome": "^2.4.6", - "@lingui/babel-plugin-lingui-macro": "^5.9.2", - "@lingui/cli": "^5.9.2", - "@lingui/vite-plugin": "^5.9.2", + "@babel/core": "^7.29.0", + "@biomejs/biome": "^2.4.7", + "@lingui/babel-plugin-lingui-macro": "^5.9.3", + "@lingui/cli": "^5.9.3", + "@lingui/vite-plugin": "^5.9.3", + "@rolldown/plugin-babel": "^0.2.1", "@tailwindcss/vite": "^4.2.1", "@types/bcrypt": "^6.0.0", "@types/js-cookie": "^3.0.6", - "@types/node": "^25.3.5", + "@types/node": "^25.5.0", "@types/nodemailer": "^7.0.11", "@types/pg": "^8.18.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^5.1.4", + "@typescript/native-preview": "7.0.0-dev.20260317.1", + "@vitejs/plugin-react": "^6.0.1", "babel-plugin-macros": "^3.1.0", - "drizzle-kit": "1.0.0-beta.16-ea816b6", - "knip": "^5.85.0", - "nitro": "3.0.1-alpha.2", + "drizzle-kit": "1.0.0-beta.18-7eb39f0", + "knip": "^5.87.0", + "nitro": "3.0.260311-beta", "node-addon-api": "^8.6.0", "node-gyp": "^12.2.0", - "npm-check-updates": "^19.6.3", + "npm-check-updates": "^19.6.5", "tsx": "^4.21.0", - "typescript": "^5.9.3", - "vite": "8.0.0-beta.16", + "vite": "^8.0.0", "vite-plugin-pwa": "^1.2.0" }, "pnpm": { "overrides": { - "vite": "^8.0.0-beta.16", - "hono": "^4.11.10", - "minimatch": "^10.2.3", "@isaacs/brace-expansion": "^5.0.1", + "ajv": "^8.18.0", "basic-ftp": "^5.2.0", + "fast-xml-parser": "^5.3.8", + "hono": "^4.11.10", "lodash": "^4.17.23", "markdown-it": "^14.1.1", - "ajv": "^8.18.0", + "minimatch": "^10.2.3", "qs": "^6.14.2", "serialize-javascript": "^7.0.4", - "fast-xml-parser": "^5.3.8" + "vite": "^8.0.0" }, "onlyBuiltDependencies": [ "bcrypt", "esbuild", - "sharp", - "pdf-parse" + "msw", + "sharp" ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9c5f4133e..7e690b579 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - vite: ^8.0.0-beta.16 + vite: ^8.0.0 hono: ^4.11.10 minimatch: ^10.2.3 '@isaacs/brace-expansion': ^5.0.1 @@ -34,14 +34,20 @@ importers: specifier: ^3.0.118 version: 3.0.118(react@19.2.4)(zod@4.3.6) '@aws-sdk/client-s3': - specifier: ^3.1003.0 - version: 3.1003.0 + specifier: ^3.1011.0 + version: 3.1011.0 + '@base-ui/react': + specifier: ^1.3.0 + version: 1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@better-auth/api-key': - specifier: ^1.5.4 - version: 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(better-auth@1.5.4(4c1ffe6c2b2477b93b62ecdbf943eb27)) + specifier: ^1.5.5 + version: 1.5.5(0deaaa17e1a55d22e058ad78990ab47b) '@better-auth/drizzle-adapter': - specifier: ^1.5.4 - version: 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6)) + specifier: ^1.5.5 + version: 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6)) + '@better-auth/infra': + specifier: ^0.1.12 + version: 0.1.12(81efdf05db11483743fdd6d8339b7ec2) '@dnd-kit/core': specifier: ^6.3.1 version: 6.3.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -58,11 +64,11 @@ importers: specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.71.2(react@19.2.4)) '@lingui/core': - specifier: ^5.9.2 - version: 5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) + specifier: ^5.9.3 + version: 5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) '@lingui/react': - specifier: ^5.9.2 - version: 5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)(react@19.2.4) + specifier: ^5.9.3 + version: 5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)(react@19.2.4) '@modelcontextprotocol/sdk': specifier: ^1.27.1 version: 1.27.1(zod@4.3.6) @@ -70,23 +76,23 @@ importers: specifier: 4.8.0-rc.3 version: 4.8.0-rc.3(monaco-editor@0.55.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@orpc/client': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0) '@orpc/json-schema': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) '@orpc/openapi': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) '@orpc/server': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) '@orpc/tanstack-query': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0)(@orpc/client@1.13.6(@opentelemetry/api@1.9.0))(@tanstack/query-core@5.90.20) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0)(@orpc/client@1.13.7(@opentelemetry/api@1.9.0))(@tanstack/query-core@5.90.20) '@orpc/zod': - specifier: ^1.13.6 - version: 1.13.6(@opentelemetry/api@1.9.0)(@orpc/contract@1.13.6(@opentelemetry/api@1.9.0))(@orpc/server@1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0))(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0)(zod@4.3.6) + specifier: ^1.13.7 + version: 1.13.7(@opentelemetry/api@1.9.0)(@orpc/contract@1.13.7(@opentelemetry/api@1.9.0))(@orpc/server@1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0))(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0)(zod@4.3.6) '@phosphor-icons/react': specifier: ^2.1.10 version: 2.1.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -103,47 +109,53 @@ importers: specifier: ^5.90.21 version: 5.90.21(react@19.2.4) '@tanstack/react-router': - specifier: ^1.166.2 - version: 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^1.167.4 + version: 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tanstack/react-router-ssr-query': - specifier: ^1.166.2 - version: 1.166.2(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.21(react@19.2.4))(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.166.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^1.166.9 + version: 1.166.9(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.21(react@19.2.4))(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.167.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tanstack/react-start': - specifier: ^1.166.2 - version: 1.166.2(crossws@0.4.4(srvx@0.10.1))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + specifier: ^1.166.16 + version: 1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tanstack/zod-adapter': - specifier: ^1.166.2 - version: 1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(zod@4.3.6) + specifier: ^1.166.9 + version: 1.166.9(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(zod@4.3.6) '@tiptap/extension-highlight': - specifier: ^3.20.1 - version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + specifier: ^3.20.4 + version: 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) '@tiptap/extension-table': - specifier: ^3.20.1 - version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + specifier: ^3.20.4 + version: 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) '@tiptap/extension-text-align': - specifier: ^3.20.1 - version: 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) + specifier: ^3.20.4 + version: 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) '@tiptap/pm': - specifier: ^3.20.1 - version: 3.20.1 + specifier: ^3.20.4 + version: 3.20.4 '@tiptap/react': - specifier: ^3.20.1 - version: 3.20.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^3.20.4 + version: 3.20.4(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tiptap/starter-kit': - specifier: ^3.20.1 - version: 3.20.1 + specifier: ^3.20.4 + version: 3.20.4 + '@uiw/color-convert': + specifier: ^2.9.6 + version: 2.9.6(@babel/runtime@7.28.6) + '@uiw/react-color-colorful': + specifier: ^2.9.6 + version: 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) ai: specifier: ^6.0.116 version: 6.0.116(zod@4.3.6) ai-sdk-ollama: - specifier: ^3.8.0 - version: 3.8.0(ai@6.0.116(zod@4.3.6))(zod@4.3.6) + specifier: ^3.8.1 + version: 3.8.1(ai@6.0.116(zod@4.3.6))(zod@4.3.6) bcrypt: specifier: ^6.0.0 version: 6.0.0 better-auth: - specifier: ^1.5.4 - version: 1.5.4(4c1ffe6c2b2477b93b62ecdbf943eb27) + specifier: ^1.5.5 + version: 1.5.5(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(drizzle-kit@1.0.0-beta.18-7eb39f0)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(pg@8.20.0)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -154,14 +166,14 @@ importers: specifier: ^1.1.1 version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) dompurify: - specifier: ^3.3.2 - version: 3.3.2 + specifier: ^3.3.3 + version: 3.3.3 drizzle-orm: - specifier: 1.0.0-beta.16-ea816b6 - version: 1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) + specifier: 1.0.0-beta.18-7eb39f0 + version: 1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) drizzle-zod: specifier: ^0.8.3 - version: 0.8.3(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(zod@4.3.6) + version: 0.8.3(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(zod@4.3.6) es-toolkit: specifier: ^1.45.1 version: 1.45.1 @@ -184,35 +196,29 @@ importers: specifier: ^3.0.5 version: 3.0.5 jsonrepair: - specifier: ^3.13.2 - version: 3.13.2 - mammoth: - specifier: ^1.11.0 - version: 1.11.0 + specifier: ^3.13.3 + version: 3.13.3 + lucide-react: + specifier: ^0.577.0 + version: 0.577.0(react@19.2.4) monaco-editor: specifier: ^0.55.1 version: 0.55.1 motion: - specifier: ^12.35.0 - version: 12.35.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^12.38.0 + version: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) nodemailer: - specifier: ^8.0.1 - version: 8.0.1 - pdf-parse: - specifier: ^2.4.5 - version: 2.4.5 + specifier: ^8.0.2 + version: 8.0.2 pg: specifier: ^8.20.0 version: 8.20.0 puppeteer-core: - specifier: ^24.38.0 - version: 24.38.0 + specifier: ^24.39.1 + version: 24.39.1 qrcode.react: specifier: ^4.2.0 version: 4.2.0(react@19.2.4) - radix-ui: - specifier: ^1.4.3 - version: 1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: specifier: ^19.2.4 version: 19.2.4 @@ -226,20 +232,26 @@ importers: specifier: ^5.2.4 version: 5.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react-resizable-panels: - specifier: ^4.7.1 - version: 4.7.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^4.7.3 + version: 4.7.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react-window: specifier: ^2.2.7 version: 2.2.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react-zoom-pan-pinch: specifier: ^3.7.0 version: 3.7.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + shadcn: + specifier: ^4.0.8 + version: 4.0.8(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(typescript@5.9.3) sharp: specifier: ^0.34.5 version: 0.34.5 sonner: specifier: ^2.0.7 version: 2.0.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + srvx: + specifier: ^0.11.12 + version: 0.11.12 tailwind-merge: specifier: ^3.5.0 version: 3.5.0 @@ -269,26 +281,32 @@ importers: version: 4.3.6 zundo: specifier: ^2.3.0 - version: 2.3.0(zustand@5.0.11(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))) + version: 2.3.0(zustand@5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))) zustand: - specifier: ^5.0.11 - version: 5.0.11(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)) + specifier: ^5.0.12 + version: 5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)) devDependencies: + '@babel/core': + specifier: ^7.29.0 + version: 7.29.0 '@biomejs/biome': - specifier: ^2.4.6 - version: 2.4.6 + specifier: ^2.4.7 + version: 2.4.7 '@lingui/babel-plugin-lingui-macro': - specifier: ^5.9.2 - version: 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) + specifier: ^5.9.3 + version: 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) '@lingui/cli': - specifier: ^5.9.2 - version: 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) + specifier: ^5.9.3 + version: 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) '@lingui/vite-plugin': - specifier: ^5.9.2 - version: 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + specifier: ^5.9.3 + version: 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@rolldown/plugin-babel': + specifier: ^0.2.1 + version: 0.2.1(@babel/core@7.29.0)(@babel/runtime@7.28.6)(rolldown@1.0.0-rc.9)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/vite': specifier: ^4.2.1 - version: 4.2.1(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + version: 4.2.1(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) '@types/bcrypt': specifier: ^6.0.0 version: 6.0.0 @@ -296,8 +314,8 @@ importers: specifier: ^3.0.6 version: 3.0.6 '@types/node': - specifier: ^25.3.5 - version: 25.3.5 + specifier: ^25.5.0 + version: 25.5.0 '@types/nodemailer': specifier: ^7.0.11 version: 7.0.11 @@ -310,21 +328,24 @@ importers: '@types/react-dom': specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.14) + '@typescript/native-preview': + specifier: 7.0.0-dev.20260317.1 + version: 7.0.0-dev.20260317.1 '@vitejs/plugin-react': - specifier: ^5.1.4 - version: 5.1.4(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + specifier: ^6.0.1 + version: 6.0.1(@rolldown/plugin-babel@0.2.1(@babel/core@7.29.0)(@babel/runtime@7.28.6)(rolldown@1.0.0-rc.9)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) babel-plugin-macros: specifier: ^3.1.0 version: 3.1.0 drizzle-kit: - specifier: 1.0.0-beta.16-ea816b6 - version: 1.0.0-beta.16-ea816b6 + specifier: 1.0.0-beta.18-7eb39f0 + version: 1.0.0-beta.18-7eb39f0 knip: - specifier: ^5.85.0 - version: 5.85.0(@types/node@25.3.5)(typescript@5.9.3) + specifier: ^5.87.0 + version: 5.87.0(@types/node@25.5.0)(typescript@5.9.3) nitro: - specifier: 3.0.1-alpha.2 - version: 3.0.1-alpha.2(@azure/identity@4.13.0)(@electric-sql/pglite@0.3.15)(chokidar@4.0.3)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(rolldown@1.0.0-rc.6)(rollup@2.80.0)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + specifier: 3.0.260311-beta + version: 3.0.260311-beta(@azure/identity@4.13.0)(@electric-sql/pglite@0.3.15)(chokidar@4.0.3)(dotenv@17.3.1)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(giget@2.0.0)(jiti@2.6.1)(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(rollup@2.80.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) node-addon-api: specifier: ^8.6.0 version: 8.6.0 @@ -332,20 +353,17 @@ importers: specifier: ^12.2.0 version: 12.2.0 npm-check-updates: - specifier: ^19.6.3 - version: 19.6.3 + specifier: ^19.6.5 + version: 19.6.5 tsx: specifier: ^4.21.0 version: 4.21.0 - typescript: - specifier: ^5.9.3 - version: 5.9.3 vite: - specifier: ^8.0.0-beta.16 - version: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + specifier: ^8.0.0 + version: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-pwa: specifier: ^1.2.0 - version: 1.2.0(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) + version: 1.2.0(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) packages: @@ -373,12 +391,6 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@4.0.17': - resolution: {integrity: sha512-oyCeFINTYK0B8ZGUBiQc05G5vytPlKSmTTtm19xfJuUgoi8zkvvRcoPQci4mSnyfpPn2XSFFDfsALG8uGcapfg==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@4.0.19': resolution: {integrity: sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg==} engines: {node: '>=18'} @@ -401,6 +413,10 @@ packages: peerDependencies: ajv: ^8.18.0 + '@authenio/xml-encryption@2.0.2': + resolution: {integrity: sha512-cTlrKttbrRHEw3W+0/I609A2Matj5JQaRvfLtEIGZvlN0RaPi+3ANsMeqAyCAVlH/lUIW2tmtBlSMni74lcXeg==} + engines: {node: '>=12'} + '@aws-crypto/crc32@5.2.0': resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} engines: {node: '>=16.0.0'} @@ -424,127 +440,127 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.1003.0': - resolution: {integrity: sha512-on8GvIWeH1pD0l53NuKbPO84bEC1mk/9zskgU+dVKcVoGxOZI94fVddCJb+IwIUN6rfBHCfXPCVbgVyzsHTAVg==} + '@aws-sdk/client-s3@3.1011.0': + resolution: {integrity: sha512-jY7CGX+vfM/DSi4K8UwaZKoXnhqchmAbKFB1kIuHMfPPqW7l3jC/fUVDb95/njMsB2ymYOTusZEzoCTeUB/4qA==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.973.18': - resolution: {integrity: sha512-GUIlegfcK2LO1J2Y98sCJy63rQSiLiDOgVw7HiHPRqfI2vb3XozTVqemwO0VSGXp54ngCnAQz0Lf0YPCBINNxA==} + '@aws-sdk/core@3.973.20': + resolution: {integrity: sha512-i3GuX+lowD892F3IuJf8o6AbyDupMTdyTxQrCJGcn71ni5hTZ82L4nQhcdumxZ7XPJRJJVHS/CR3uYOIIs0PVA==} engines: {node: '>=20.0.0'} - '@aws-sdk/crc64-nvme@3.972.4': - resolution: {integrity: sha512-HKZIZLbRyvzo/bXZU7Zmk6XqU+1C9DjI56xd02vwuDIxedxBEqP17t9ExhbP9QFeNq/a3l9GOcyirFXxmbDhmw==} + '@aws-sdk/crc64-nvme@3.972.5': + resolution: {integrity: sha512-2VbTstbjKdT+yKi8m7b3a9CiVac+pL/IY2PHJwsaGkkHmuuqkJZIErPck1h6P3T9ghQMLSdMPyW6Qp7Di5swFg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.16': - resolution: {integrity: sha512-HrdtnadvTGAQUr18sPzGlE5El3ICphnH6SU7UQOMOWFgRKbTRNN8msTxM4emzguUso9CzaHU2xy5ctSrmK5YNA==} + '@aws-sdk/credential-provider-env@3.972.18': + resolution: {integrity: sha512-X0B8AlQY507i5DwjLByeU2Af4ARsl9Vr84koDcXCbAkplmU+1xBFWxEPrWRAoh56waBne/yJqEloSwvRf4x6XA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.18': - resolution: {integrity: sha512-NyB6smuZAixND5jZumkpkunQ0voc4Mwgkd+SZ6cvAzIB7gK8HV8Zd4rS8Kn5MmoGgusyNfVGG+RLoYc4yFiw+A==} + '@aws-sdk/credential-provider-http@3.972.20': + resolution: {integrity: sha512-ey9Lelj001+oOfrbKmS6R2CJAiXX7QKY4Vj9VJv6L2eE6/VjD8DocHIoYqztTm70xDLR4E1jYPTKfIui+eRNDA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.16': - resolution: {integrity: sha512-hzAnzNXKV0A4knFRWGu2NCt72P4WWxpEGnOc6H3DptUjC4oX3hGw846oN76M1rTHAOwDdbhjU0GAOWR4OUfTZg==} + '@aws-sdk/credential-provider-ini@3.972.20': + resolution: {integrity: sha512-5flXSnKHMloObNF+9N0cupKegnH1Z37cdVlpETVgx8/rAhCe+VNlkcZH3HDg2SDn9bI765S+rhNPXGDJJPfbtA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.16': - resolution: {integrity: sha512-VI0kXTlr0o1FTay+Jvx6AKqx5ECBgp7X4VevGBEbuXdCXnNp7SPU0KvjsOLVhIz3OoPK4/lTXphk43t0IVk65w==} + '@aws-sdk/credential-provider-login@3.972.20': + resolution: {integrity: sha512-gEWo54nfqp2jABMu6HNsjVC4hDLpg9HC8IKSJnp0kqWtxIJYHTmiLSsIfI4ScQjxEwpB+jOOH8dOLax1+hy/Hw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.17': - resolution: {integrity: sha512-98MAcQ2Dk7zkvgwZ5f6fLX2lTyptC3gTSDx4EpvTdJWET8qs9lBPYggoYx7GmKp/5uk0OwVl0hxIDZsDNS/Y9g==} + '@aws-sdk/credential-provider-node@3.972.21': + resolution: {integrity: sha512-hah8if3/B/Q+LBYN5FukyQ1Mym6PLPDsBOBsIgNEYD6wLyZg0UmUF/OKIVC3nX9XH8TfTPuITK+7N/jenVACWA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.16': - resolution: {integrity: sha512-n89ibATwnLEg0ZdZmUds5bq8AfBAdoYEDpqP3uzPLaRuGelsKlIvCYSNNvfgGLi8NaHPNNhs1HjJZYbqkW9b+g==} + '@aws-sdk/credential-provider-process@3.972.18': + resolution: {integrity: sha512-Tpl7SRaPoOLT32jbTWchPsn52hYYgJ0kpiFgnwk8pxTANQdUymVSZkzFvv1+oOgZm1CrbQUP9MBeoMZ9IzLZjA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.16': - resolution: {integrity: sha512-b9of7tQgERxgcEcwAFWvRe84ivw+Kw6b3jVuz/6LQzonkomiY5UoWfprkbjc8FSCQ2VjDqKTvIRA9F0KSQ025w==} + '@aws-sdk/credential-provider-sso@3.972.20': + resolution: {integrity: sha512-p+R+PYR5Z7Gjqf/6pvbCnzEHcqPCpLzR7Yf127HjJ6EAb4hUcD+qsNRnuww1sB/RmSeCLxyay8FMyqREw4p1RA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.16': - resolution: {integrity: sha512-PaOH5jFoPQX4WkqpKzKh9cM7rieKtbgEGqrZ+ybGmotJhcvhI/xl69yCwMbHGnpQJJmHZIX9q2zaPB7HTBn/4w==} + '@aws-sdk/credential-provider-web-identity@3.972.20': + resolution: {integrity: sha512-rWCmh8o7QY4CsUj63qopzMzkDq/yPpkrpb+CnjBEFSOg/02T/we7sSTVg4QsDiVS9uwZ8VyONhq98qt+pIh3KA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.972.7': - resolution: {integrity: sha512-goX+axlJ6PQlRnzE2bQisZ8wVrlm6dXJfBzMJhd8LhAIBan/w1Kl73fJnalM/S+18VnpzIHumyV6DtgmvqG5IA==} + '@aws-sdk/middleware-bucket-endpoint@3.972.8': + resolution: {integrity: sha512-WR525Rr2QJSETa9a050isktyWi/4yIGcmY3BQ1kpHqb0LqUglQHCS8R27dTJxxWNZvQ0RVGtEZjTCbZJpyF3Aw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-expect-continue@3.972.7': - resolution: {integrity: sha512-mvWqvm61bmZUKmmrtl2uWbokqpenY3Mc3Jf4nXB/Hse6gWxLPaCQThmhPBDzsPSV8/Odn8V6ovWt3pZ7vy4BFQ==} + '@aws-sdk/middleware-expect-continue@3.972.8': + resolution: {integrity: sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.973.4': - resolution: {integrity: sha512-7CH2jcGmkvkHc5Buz9IGbdjq1729AAlgYJiAvGq7qhCHqYleCsriWdSnmsqWTwdAfXHMT+pkxX3w6v5tJNcSug==} + '@aws-sdk/middleware-flexible-checksums@3.974.0': + resolution: {integrity: sha512-BmdDjqvnuYaC4SY7ypHLXfCSsGYGUZkjCLSZyUAAYn1YT28vbNMJNDwhlfkvvE+hQHG5RJDlEmYuvBxcB9jX1g==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-host-header@3.972.7': - resolution: {integrity: sha512-aHQZgztBFEpDU1BB00VWCIIm85JjGjQW1OG9+98BdmaOpguJvzmXBGbnAiYcciCd+IS4e9BEq664lhzGnWJHgQ==} + '@aws-sdk/middleware-host-header@3.972.8': + resolution: {integrity: sha512-wAr2REfKsqoKQ+OkNqvOShnBoh+nkPurDKW7uAeVSu6kUECnWlSJiPvnoqxGlfousEY/v9LfS9sNc46hjSYDIQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-location-constraint@3.972.7': - resolution: {integrity: sha512-vdK1LJfffBp87Lj0Bw3WdK1rJk9OLDYdQpqoKgmpIZPe+4+HawZ6THTbvjhJt4C4MNnRrHTKHQjkwBiIpDBoig==} + '@aws-sdk/middleware-location-constraint@3.972.8': + resolution: {integrity: sha512-KaUoFuoFPziIa98DSQsTPeke1gvGXlc5ZGMhy+b+nLxZ4A7jmJgLzjEF95l8aOQN2T/qlPP3MrAyELm8ExXucw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-logger@3.972.7': - resolution: {integrity: sha512-LXhiWlWb26txCU1vcI9PneESSeRp/RYY/McuM4SpdrimQR5NgwaPb4VJCadVeuGWgh6QmqZ6rAKSoL1ob16W6w==} + '@aws-sdk/middleware-logger@3.972.8': + resolution: {integrity: sha512-CWl5UCM57WUFaFi5kB7IBY1UmOeLvNZAZ2/OZ5l20ldiJ3TiIz1pC65gYj8X0BCPWkeR1E32mpsCk1L1I4n+lA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-recursion-detection@3.972.7': - resolution: {integrity: sha512-l2VQdcBcYLzIzykCHtXlbpiVCZ94/xniLIkAj0jpnpjY4xlgZx7f56Ypn+uV1y3gG0tNVytJqo3K9bfMFee7SQ==} + '@aws-sdk/middleware-recursion-detection@3.972.8': + resolution: {integrity: sha512-BnnvYs2ZEpdlmZ2PNlV2ZyQ8j8AEkMTjN79y/YA475ER1ByFYrkVR85qmhni8oeTaJcDqbx364wDpitDAA/wCA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.18': - resolution: {integrity: sha512-5E3XxaElrdyk6ZJ0TjH7Qm6ios4b/qQCiLr6oQ8NK7e4Kn6JBTJCaYioQCQ65BpZ1+l1mK5wTAac2+pEz0Smpw==} + '@aws-sdk/middleware-sdk-s3@3.972.20': + resolution: {integrity: sha512-yhva/xL5H4tWQgsBjwV+RRD0ByCzg0TcByDCLp3GXdn/wlyRNfy8zsswDtCvr1WSKQkSQYlyEzPuWkJG0f5HvQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-ssec@3.972.7': - resolution: {integrity: sha512-G9clGVuAml7d8DYzY6DnRi7TIIDRvZ3YpqJPz/8wnWS5fYx/FNWNmkO6iJVlVkQg9BfeMzd+bVPtPJOvC4B+nQ==} + '@aws-sdk/middleware-ssec@3.972.8': + resolution: {integrity: sha512-wqlK0yO/TxEC2UsY9wIlqeeutF6jjLe0f96Pbm40XscTo57nImUk9lBcw0dPgsm0sppFtAkSlDrfpK+pC30Wqw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.18': - resolution: {integrity: sha512-KcqQDs/7WtoEnp52+879f8/i1XAJkgka5i4arOtOCPR10o4wWo3VRecDI9Gxoh6oghmLCnIiOSKyRcXI/50E+w==} + '@aws-sdk/middleware-user-agent@3.972.21': + resolution: {integrity: sha512-62XRl1GDYPpkt7cx1AX1SPy9wgNE9Iw/NPuurJu4lmhCWS7sGKO+kS53TQ8eRmIxy3skmvNInnk0ZbWrU5Dpyg==} engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.996.6': - resolution: {integrity: sha512-blNJ3ugn4gCQ9ZSZi/firzKCvVl5LvPFVxv24LprENeWI4R8UApG006UQkF4SkmLygKq2BQXRad2/anQ13Te4Q==} + '@aws-sdk/nested-clients@3.996.10': + resolution: {integrity: sha512-SlDol5Z+C7Ivnc2rKGqiqfSUmUZzY1qHfVs9myt/nxVwswgfpjdKahyTzLTx802Zfq0NFRs7AejwKzzzl5Co2w==} engines: {node: '>=20.0.0'} - '@aws-sdk/region-config-resolver@3.972.7': - resolution: {integrity: sha512-/Ev/6AI8bvt4HAAptzSjThGUMjcWaX3GX8oERkB0F0F9x2dLSBdgFDiyrRz3i0u0ZFZFQ1b28is4QhyqXTUsVA==} + '@aws-sdk/region-config-resolver@3.972.8': + resolution: {integrity: sha512-1eD4uhTDeambO/PNIDVG19A6+v4NdD7xzwLHDutHsUqz0B+i661MwQB2eYO4/crcCvCiQG4SRm1k81k54FEIvw==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.6': - resolution: {integrity: sha512-NnsOQsVmJXy4+IdPFUjRCWPn9qNH1TzS/f7MiWgXeoHs903tJpAWQWQtoFvLccyPoBgomKP9L89RRr2YsT/L0g==} + '@aws-sdk/signature-v4-multi-region@3.996.8': + resolution: {integrity: sha512-n1qYFD+tbqZuyskVaxUE+t10AUz9g3qzDw3Tp6QZDKmqsjfDmZBd4GIk2EKJJNtcCBtE5YiUjDYA+3djFAFBBg==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1003.0': - resolution: {integrity: sha512-SOyyWNdT7njKRwtZ1JhwHlH1csv6Pkgf305X96/OIfnhq1pU/EjmT6W6por57rVrjrKuHBuEIXgpWv8OgoMHpg==} + '@aws-sdk/token-providers@3.1009.0': + resolution: {integrity: sha512-KCPLuTqN9u0Rr38Arln78fRG9KXpzsPWmof+PZzfAHMMQq2QED6YjQrkrfiH7PDefLWEposY1o4/eGwrmKA4JA==} engines: {node: '>=20.0.0'} - '@aws-sdk/types@3.973.5': - resolution: {integrity: sha512-hl7BGwDCWsjH8NkZfx+HgS7H2LyM2lTMAI7ba9c8O0KqdBLTdNJivsHpqjg9rNlAlPyREb6DeDRXUl0s8uFdmQ==} + '@aws-sdk/types@3.973.6': + resolution: {integrity: sha512-Atfcy4E++beKtwJHiDln2Nby8W/mam64opFPTiHEqgsthqeydFS1pY+OUlN1ouNOmf8ArPU/6cDS65anOP3KQw==} engines: {node: '>=20.0.0'} '@aws-sdk/util-arn-parser@3.972.3': resolution: {integrity: sha512-HzSD8PMFrvgi2Kserxuff5VitNq2sgf3w9qxmskKDiDTThWfVteJxuCS9JXiPIPtmCrp+7N9asfIaVhBFORllA==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-endpoints@3.996.4': - resolution: {integrity: sha512-Hek90FBmd4joCFj+Vc98KLJh73Zqj3s2W56gjAcTkrNLMDI5nIFkG9YpfcJiVI1YlE2Ne1uOQNe+IgQ/Vz2XRA==} + '@aws-sdk/util-endpoints@3.996.5': + resolution: {integrity: sha512-Uh93L5sXFNbyR5sEPMzUU8tJ++Ku97EY4udmC01nB8Zu+xfBPwpIwJ6F7snqQeq8h2pf+8SGN5/NoytfKgYPIw==} engines: {node: '>=20.0.0'} '@aws-sdk/util-locate-window@3.965.4': resolution: {integrity: sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog==} engines: {node: '>=20.0.0'} - '@aws-sdk/util-user-agent-browser@3.972.7': - resolution: {integrity: sha512-7SJVuvhKhMF/BkNS1n0QAJYgvEwYbK2QLKBrzDiwQGiTRU6Yf1f3nehTzm/l21xdAOtWSfp2uWSddPnP2ZtsVw==} + '@aws-sdk/util-user-agent-browser@3.972.8': + resolution: {integrity: sha512-B3KGXJviV2u6Cdw2SDY2aDhoJkVfY/Q/Trwk2CMSkikE1Oi6gRzxhvhIfiRpHfmIsAhV4EA54TVEX8K6CbHbkA==} - '@aws-sdk/util-user-agent-node@3.973.3': - resolution: {integrity: sha512-8s2cQmTUOwcBlIJyI9PAZNnnnF+cGtdhHc1yzMMsSD/GR/Hxj7m0IGUE92CslXXb8/p5Q76iqOCjN1GFwyf+1A==} + '@aws-sdk/util-user-agent-node@3.973.7': + resolution: {integrity: sha512-Hz6EZMUAEzqUd7e+vZ9LE7mn+5gMbxltXy18v+YSFY+9LBJz15wkNZvw5JqfX3z0FS9n3bgUtz3L5rAsfh4YlA==} engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -552,8 +568,8 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.10': - resolution: {integrity: sha512-OnejAIVD+CxzyAUrVic7lG+3QRltyja9LoNqCE/1YVs8ichoTbJlVSaZ9iSMcnHLyzrSNtvaOGjSDRP+d/ouFA==} + '@aws-sdk/xml-builder@3.972.11': + resolution: {integrity: sha512-iitV/gZKQMvY9d7ovmyFnFuTHbBAtrmLnvaSb/3X8vOKyevwtpmEtyc8AdhVWZe0pI/1GsHxlEvQeOePFzy7KQ==} engines: {node: '>=20.0.0'} '@aws/lambda-invoke-store@0.2.3': @@ -1043,18 +1059,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.29.0': resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} engines: {node: '>=6.9.0'} @@ -1103,6 +1107,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.28.6': + resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-escapes@7.27.1': resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} engines: {node: '>=6.9.0'} @@ -1138,6 +1148,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/preset-typescript@7.28.5': + resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.28.6': resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} @@ -1154,15 +1170,36 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@better-auth/api-key@1.5.4': - resolution: {integrity: sha512-McV2I4E8cR+jIYjIXy8hfhZg5EKOIPooAZSt78m5RvtLzYRcl4JKJbtKCh/au7zIh47yT+EcxM9pmL9/WigDcA==} + '@base-ui/react@1.3.0': + resolution: {integrity: sha512-FwpKqZbPz14AITp1CVgf4AjhKPe1OeeVKSBMdgD10zbFlj3QSWelmtCMLi2+/PFZZcIm3l87G7rwtCZJwHyXWA==} + engines: {node: '>=14.0.0'} peerDependencies: - '@better-auth/core': 1.5.4 - '@better-auth/utils': 0.3.1 - better-auth: 1.5.4 + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true - '@better-auth/core@1.5.4': - resolution: {integrity: sha512-k5AdwPRQETZn0vdB60EB9CDxxfllpJXKqVxTjyXIUSRz7delNGlU0cR/iRP3VfVJwvYR1NbekphBDNo+KGoEzQ==} + '@base-ui/utils@0.2.6': + resolution: {integrity: sha512-yQ+qeuqohwhsNpoYDqqXaLllYAkPCP4vYdDrVo8FQXaAPfHWm1pG/Vm+jmGTA5JFS0BAIjookyapuJFY8F9PIw==} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true + + '@better-auth/api-key@1.5.5': + resolution: {integrity: sha512-jNWHA9GHOCxXPXqKvc6etUuKEYTO9M58Ah1Q/7wPIiSvK93vigDL/R2jd6uByUdX6XPHsDZorbeVqe0I8NnTDQ==} + peerDependencies: + '@better-auth/core': 1.5.5 + '@better-auth/utils': 0.3.1 + better-auth: 1.5.5 + + '@better-auth/core@1.5.5': + resolution: {integrity: sha512-1oR/2jAp821Dcf67kQYHUoyNcdc1TcShfw4QMK0YTVntuRES5mUOyvEJql5T6eIuLfaqaN4LOF78l0FtF66HXA==} peerDependencies: '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -1175,45 +1212,69 @@ packages: '@cloudflare/workers-types': optional: true - '@better-auth/drizzle-adapter@1.5.4': - resolution: {integrity: sha512-4M4nMAWrDd3TmpV6dONkJjybBVKRZghe5Oj0NNyDEoXubxastQdO7Sb5B54I1rTx5yoMgsqaB+kbJnu/9UgjQg==} + '@better-auth/drizzle-adapter@1.5.5': + resolution: {integrity: sha512-HAi9xAP40oDt48QZeYBFTcmg3vt1Jik90GwoRIfangd7VGbxesIIDBJSnvwMbZ52GBIc6+V4FRw9lasNiNrPfw==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': 1.5.5 '@better-auth/utils': ^0.3.0 drizzle-orm: '>=0.41.0' + peerDependenciesMeta: + drizzle-orm: + optional: true - '@better-auth/kysely-adapter@1.5.4': - resolution: {integrity: sha512-DPww7rIfz6Ed7dZlJSW9xMQ42VKaJLB5Cs+pPqd+UHKRyighKjf3VgvMIcAdFPc4olQ0qRHo3+ZJhFlBCxRhxA==} + '@better-auth/infra@0.1.12': + resolution: {integrity: sha512-NCOX5YIyCfJXJ8HDIyZdRpMuJtjQD8+tNYd+goXkgL+/6GYwEYOm4dRRcSmqlODsjL7vC4ZHfo9bfqpafq/9Nw==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': '>=1.4.0' + '@better-auth/sso': '>=1.4.0' + better-auth: '>=1.4.0' + zod: '>=4.1.12' + + '@better-auth/kysely-adapter@1.5.5': + resolution: {integrity: sha512-LmHffIVnqbfsxcxckMOoE8MwibWrbVFch+kwPKJ5OFDFv6lin75ufN7ZZ7twH0IMPLT/FcgzaRjP8jRrXRef9g==} + peerDependencies: + '@better-auth/core': 1.5.5 '@better-auth/utils': ^0.3.0 kysely: ^0.27.0 || ^0.28.0 - '@better-auth/memory-adapter@1.5.4': - resolution: {integrity: sha512-iiWYut9rbQqiAsgRBtj6+nxanwjapxRgpIJbiS2o81h7b9iclE0AiDA0Foes590gdFQvskNauZcCpuF8ytxthg==} + '@better-auth/memory-adapter@1.5.5': + resolution: {integrity: sha512-4X0j1/2L+nsgmObjmy9xEGUFWUv38Qjthp558fwS3DAp6ueWWyCaxaD6VJZ7m5qPNMrsBStO5WGP8CmJTEWm7g==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': 1.5.5 '@better-auth/utils': ^0.3.0 - '@better-auth/mongo-adapter@1.5.4': - resolution: {integrity: sha512-ArzJN5Obk6i6+vLK1HpPzLIcsjxZYXPPUvxVU8eyU5HyoUT2MlswWfPQ8UJAKPn0iq/T4PVp/wZcQMhWk1tuNA==} + '@better-auth/mongo-adapter@1.5.5': + resolution: {integrity: sha512-P1J9ljL5X5k740I8Rx1esPWNgWYPdJR5hf2CY7BwDSrQFPUHuzeCg0YhtEEP55niNateTXhBqGAcy0fVOeamZg==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': 1.5.5 '@better-auth/utils': ^0.3.0 mongodb: ^6.0.0 || ^7.0.0 - '@better-auth/prisma-adapter@1.5.4': - resolution: {integrity: sha512-ZQTbcBopw/ezjjbNFsfR3CRp0QciC4tJCarAnB5G9fZtUYbDjfY0vZOxIRmU4kI3x755CXQpGqTrkwmXaMRa3w==} + '@better-auth/prisma-adapter@1.5.5': + resolution: {integrity: sha512-CliDd78CXHzzwQIXhCdwGr5Ml53i6JdCHWV7PYwTIJz9EAm6qb2RVBdpP3nqEfNjINGM22A6gfleCgCdZkTIZg==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': 1.5.5 '@better-auth/utils': ^0.3.0 '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + '@prisma/client': + optional: true + prisma: + optional: true - '@better-auth/telemetry@1.5.4': - resolution: {integrity: sha512-mGXTY7Ecxo7uvlMr6TFCBUvlH0NUMOeE9LKgPhG4HyhBN6VfCEg/DD9PG0Z2IatmMWQbckkt7ox5A0eBpG9m5w==} + '@better-auth/sso@1.5.5': + resolution: {integrity: sha512-G3tvv5oKtEfpmBrt7Db/hSl5A3xttUkB4EhEjb202UhHz/XBiT0Orv5CkRa0kmjRyyAwOzn/lKZzYsd3VrjViA==} peerDependencies: - '@better-auth/core': 1.5.4 + '@better-auth/core': 1.5.5 + '@better-auth/utils': 0.3.1 + better-auth: 1.5.5 + better-call: 1.3.2 + + '@better-auth/telemetry@1.5.5': + resolution: {integrity: sha512-1+lklxArn4IMHuU503RcPdXrSG2tlXt4jnGG3omolmspQ7tktg/Y9XO/yAkYDurtvMn1xJ8X1Ov01Ji/r5s9BQ==} + peerDependencies: + '@better-auth/core': 1.5.5 '@better-auth/utils@0.3.1': resolution: {integrity: sha512-+CGp4UmZSUrHHnpHhLPYu6cV+wSUSvVbZbNykxhUDocpVNTo9uFFxw/NqJlh1iC4wQ9HKKWGCKuZ5wUgS0v6Kg==} @@ -1221,59 +1282,59 @@ packages: '@better-fetch/fetch@1.1.21': resolution: {integrity: sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A==} - '@biomejs/biome@2.4.6': - resolution: {integrity: sha512-QnHe81PMslpy3mnpL8DnO2M4S4ZnYPkjlGCLWBZT/3R9M6b5daArWMMtEfP52/n174RKnwRIf3oT8+wc9ihSfQ==} + '@biomejs/biome@2.4.7': + resolution: {integrity: sha512-vXrgcmNGZ4lpdwZSpMf1hWw1aWS6B+SyeSYKTLrNsiUsAdSRN0J4d/7mF3ogJFbIwFFSOL3wT92Zzxia/d5/ng==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.4.6': - resolution: {integrity: sha512-NW18GSyxr+8sJIqgoGwVp5Zqm4SALH4b4gftIA0n62PTuBs6G2tHlwNAOj0Vq0KKSs7Sf88VjjmHh0O36EnzrQ==} + '@biomejs/cli-darwin-arm64@2.4.7': + resolution: {integrity: sha512-Oo0cF5mHzmvDmTXw8XSjhCia8K6YrZnk7aCS54+/HxyMdZMruMO3nfpDsrlar/EQWe41r1qrwKiCa2QDYHDzWA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.4.6': - resolution: {integrity: sha512-4uiE/9tuI7cnjtY9b07RgS7gGyYOAfIAGeVJWEfeCnAarOAS7qVmuRyX6d7JTKw28/mt+rUzMasYeZ+0R/U1Mw==} + '@biomejs/cli-darwin-x64@2.4.7': + resolution: {integrity: sha512-I+cOG3sd/7HdFtvDSnF9QQPrWguUH7zrkIMMykM3PtfWU9soTcS2yRb9Myq6MHmzbeCT08D1UmY+BaiMl5CcoQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.4.6': - resolution: {integrity: sha512-F/JdB7eN22txiTqHM5KhIVt0jVkzZwVYrdTR1O3Y4auBOQcXxHK4dxULf4z43QyZI5tsnQJrRBHZy7wwtL+B3A==} + '@biomejs/cli-linux-arm64-musl@2.4.7': + resolution: {integrity: sha512-I2NvM9KPb09jWml93O2/5WMfNR7Lee5Latag1JThDRMURVhPX74p9UDnyTw3Ae6cE1DgXfw7sqQgX7rkvpc0vw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [musl] - '@biomejs/cli-linux-arm64@2.4.6': - resolution: {integrity: sha512-kMLaI7OF5GN1Q8Doymjro1P8rVEoy7BKQALNz6fiR8IC1WKduoNyteBtJlHT7ASIL0Cx2jR6VUOBIbcB1B8pew==} + '@biomejs/cli-linux-arm64@2.4.7': + resolution: {integrity: sha512-om6FugwmibzfP/6ALj5WRDVSND4H2G9X0nkI1HZpp2ySf9lW2j0X68oQSaHEnls6666oy4KDsc5RFjT4m0kV0w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [glibc] - '@biomejs/cli-linux-x64-musl@2.4.6': - resolution: {integrity: sha512-C9s98IPDu7DYarjlZNuzJKTjVHN03RUnmHV5htvqsx6vEUXCDSJ59DNwjKVD5XYoSS4N+BYhq3RTBAL8X6svEg==} + '@biomejs/cli-linux-x64-musl@2.4.7': + resolution: {integrity: sha512-00kx4YrBMU8374zd2wHuRV5wseh0rom5HqRND+vDldJPrWwQw+mzd/d8byI9hPx926CG+vWzq6AeiT7Yi5y59g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [musl] - '@biomejs/cli-linux-x64@2.4.6': - resolution: {integrity: sha512-oHXmUFEoH8Lql1xfc3QkFLiC1hGR7qedv5eKNlC185or+o4/4HiaU7vYODAH3peRCfsuLr1g6v2fK9dFFOYdyw==} + '@biomejs/cli-linux-x64@2.4.7': + resolution: {integrity: sha512-bV8/uo2Tj+gumnk4sUdkerWyCPRabaZdv88IpbmDWARQQoA/Q0YaqPz1a+LSEDIL7OfrnPi9Hq1Llz4ZIGyIQQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [glibc] - '@biomejs/cli-win32-arm64@2.4.6': - resolution: {integrity: sha512-xzThn87Pf3YrOGTEODFGONmqXpTwUNxovQb72iaUOdcw8sBSY3+3WD8Hm9IhMYLnPi0n32s3L3NWU6+eSjfqFg==} + '@biomejs/cli-win32-arm64@2.4.7': + resolution: {integrity: sha512-hOUHBMlFCvDhu3WCq6vaBoG0dp0LkWxSEnEEsxxXvOa9TfT6ZBnbh72A/xBM7CBYB7WgwqboetzFEVDnMxelyw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.4.6': - resolution: {integrity: sha512-7++XhnsPlr1HDbor5amovPjOH6vsrFOCdp93iKXhFn6bcMUI6soodj3WWKfgEO6JosKU1W5n3uky3WW9RlRjTg==} + '@biomejs/cli-win32-x64@2.4.7': + resolution: {integrity: sha512-qEpGjSkPC3qX4ycbMUthXvi9CkRq7kZpkqMY1OyhmYlYLnANnooDQ7hDerM8+0NJ+DZKVnsIc07h30XOpt7LtQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -1312,9 +1373,19 @@ packages: peerDependencies: react: '>=16.8.0' + '@dotenvx/dotenvx@1.54.1': + resolution: {integrity: sha512-41gU3q7v05GM92QPuPUf4CmUw+mmF8p4wLUh6MCRlxpCkJ9ByLcY9jUf6MwrMNmiKyG/rIckNxj9SCfmNCmCqw==} + hasBin: true + '@drizzle-team/brocli@0.11.0': resolution: {integrity: sha512-hD3pekGiPg0WPCCGAZmusBBJsDqGUR66Y452YgQsZOnkdQ7ViEPKuyP4huUGEZQefp8g34RRodXYmJ2TbCH+tg==} + '@ecies/ciphers@0.2.5': + resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==} + engines: {bun: '>=1', deno: '>=2', node: '>=16'} + peerDependencies: + '@noble/ciphers': ^1.0.0 + '@electric-sql/pglite-socket@0.0.20': resolution: {integrity: sha512-J5nLGsicnD9wJHnno9r+DGxfcZWh+YJMCe0q/aCgtG6XOm9Z7fKeite8IZSNXgZeGltSigM9U/vAWZQWdgcSFg==} hasBin: true @@ -1842,6 +1913,41 @@ packages: cpu: [x64] os: [win32] + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} + + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@9.0.0': resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} engines: {node: '>=18'} @@ -1884,12 +1990,12 @@ packages: resolution: {integrity: sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ==} engines: {node: '>=12'} - '@lingui/babel-plugin-extract-messages@5.9.2': - resolution: {integrity: sha512-x9HxUUZgnzF5nTsRwCyJxL/csll/psQCeiTiUPMqE1qC9Mq3ZFPygHDUgijIwOCSDnILHM581Fjar/Njvpnnow==} + '@lingui/babel-plugin-extract-messages@5.9.3': + resolution: {integrity: sha512-zm6QHDILmhj8olgLL2zHQn18yFA5mf4hX7QzCr1OOI/e815I0IkecCYue1Ych+y+B+V0eLriiW8AcfpDRCQFFw==} engines: {node: '>=20.0.0'} - '@lingui/babel-plugin-lingui-macro@5.9.2': - resolution: {integrity: sha512-xy5MNUvtoAlZwQtfby3B9Dnjmnf3w4Xe+jeLEQvB1wOxz/pYMNGxCWgekUQyihlxvFFRKmMyA88EByqAyvGEug==} + '@lingui/babel-plugin-lingui-macro@5.9.3': + resolution: {integrity: sha512-fLMhBarRsuqBGOq2YuEoqOjEAV2VNezz/+f/Dn0vLFHF/kAjnFwTHb8pL8DRSIMsWG16mPrGnLpdROZBmJlFtA==} engines: {node: '>=20.0.0'} peerDependencies: babel-plugin-macros: 2 || 3 @@ -1897,20 +2003,20 @@ packages: babel-plugin-macros: optional: true - '@lingui/cli@5.9.2': - resolution: {integrity: sha512-jGmIB/hKparFvuyspcn3UTjnQEdOrlnBwkQH3xip0LRCyQNjd1sALi27HDyYQAqVINTfk3sDmLbKixYvJhPl1Q==} + '@lingui/cli@5.9.3': + resolution: {integrity: sha512-KEE0J4eGlfpiLZ+l019qjraWfqfh5mUmQSJeTFw5PulO4v50zvxw5tDX8stpBzJ3QtgUQZlrMUh0OTGdURaAMg==} engines: {node: '>=20.0.0'} hasBin: true - '@lingui/conf@5.9.2': - resolution: {integrity: sha512-tkobrx4HIJDWgYO/qUOJgwOVB5QX+FdQHmk9wetzlhgf0BSc52OCGYeG//oKHteJB0dnr2XYicnTuUtoVwr3+g==} + '@lingui/conf@5.9.3': + resolution: {integrity: sha512-hVEoYHmO2A3XmFX4A5RuBgcoVBoM7Xgoqejeq25XELvesJj2s2T15F47TA5n3/S7iTqngd6n/8KxBli9TYwgqQ==} engines: {node: '>=20.0.0'} - '@lingui/core@5.9.2': - resolution: {integrity: sha512-2K2lIEiUJ9VNTZU0igiRUubIUvcHu8TEuS4uRrrA5f2DGgCtHD5o7rw6OO9cM1RxZFCC5rpRwIMDeXHrc44W3g==} + '@lingui/core@5.9.3': + resolution: {integrity: sha512-3b8LnDjx8POdQ6q6UKBe2DHynyQFCO66vm8/UPQnvlQowUk4Xdu5bK6oet11D9/vrSznrDDS+Qb5JVcNBUImgg==} engines: {node: '>=20.0.0'} peerDependencies: - '@lingui/babel-plugin-lingui-macro': 5.9.2 + '@lingui/babel-plugin-lingui-macro': 5.9.3 babel-plugin-macros: 2 || 3 peerDependenciesMeta: '@lingui/babel-plugin-lingui-macro': @@ -1918,19 +2024,19 @@ packages: babel-plugin-macros: optional: true - '@lingui/format-po@5.9.2': - resolution: {integrity: sha512-PMlJERgG0/rCYqMuBDQdsAuEEUxbqe1apwwDJxIniN9vZpwl+4jDZhDQ6J9CwjlaUPe7rCfOm/B79N88ELwTQQ==} + '@lingui/format-po@5.9.3': + resolution: {integrity: sha512-+LMnhWl7EmXrdOv10gopE1g8w8vtPY5Fxk72OORrGQFVMGBIioz4BEnKrNdV1ek2M+GxoMZtnUs17KrJN5Jv9A==} engines: {node: '>=20.0.0'} - '@lingui/message-utils@5.9.2': - resolution: {integrity: sha512-PQA+bP4TBX7F5nmrEm9eDk+xddepjO7okI6bsOQ+6LIw1eJMvh9w/Xt3AoKTgzBCwd1ZwyqzBOelrX6sa6y+fg==} + '@lingui/message-utils@5.9.3': + resolution: {integrity: sha512-oAK7HA7lcQrzaEaM6G1T5RwwxJxaSKfG/IFIxpZIl49TSFQv+s9YPNgHnVi+d4DmterpXNxy9ZZ+NtckJx6u7g==} engines: {node: '>=20.0.0'} - '@lingui/react@5.9.2': - resolution: {integrity: sha512-rvDBlz9s1AftAgkJnH/5u3YKlAouRZUsUpSoIajFqkXNEcnIcljFH2Lp7i4nQ7XQ4vpOjzpSH03cggvoo4fWKg==} + '@lingui/react@5.9.3': + resolution: {integrity: sha512-aje78l3zGGZ3C75fiGhDVKyVALHfiKlYFjcOlZpgXY/JAVfFuZX+6wUGG9x1A8k7BfxrDy/ofHIBahPvNAqoKw==} engines: {node: '>=20.0.0'} peerDependencies: - '@lingui/babel-plugin-lingui-macro': 5.9.2 + '@lingui/babel-plugin-lingui-macro': 5.9.3 babel-plugin-macros: 2 || 3 react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: @@ -1939,11 +2045,11 @@ packages: babel-plugin-macros: optional: true - '@lingui/vite-plugin@5.9.2': - resolution: {integrity: sha512-cKfVCoOJsHssx7OazCb8P/KHn1UqCiod+OGIpGqchtla09xPNSZmfyEp/Of0+S6G5REkOMV/ZGgl+awtGkJ0fA==} + '@lingui/vite-plugin@5.9.3': + resolution: {integrity: sha512-9L9GqWjGWU+WrJAb5MBiH9QxkfagrOOWOFucBSwQgEf9k9612o9TIw8eiFqLnnPhi64ktVUaBgDJhkAYo4XLjw==} engines: {node: '>=20.0.0'} peerDependencies: - vite: ^8.0.0-beta.16 + vite: ^8.0.0 '@messageformat/parser@5.1.1': resolution: {integrity: sha512-3p0YRGCcTUCYvBKLIxtDDyrJ0YijGIwrTRu1DT8gIviIDZru8H23+FkY6MJBzM1n9n20CiM4VeDYuBsrrwnLjg==} @@ -1975,82 +2081,29 @@ packages: resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} engines: {node: '>=16'} - '@napi-rs/canvas-android-arm64@0.1.80': - resolution: {integrity: sha512-sk7xhN/MoXeuExlggf91pNziBxLPVUqF2CAVnB57KLG/pz7+U5TKG8eXdc3pm0d7Od0WreB6ZKLj37sX9muGOQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@napi-rs/canvas-darwin-arm64@0.1.80': - resolution: {integrity: sha512-O64APRTXRUiAz0P8gErkfEr3lipLJgM6pjATwavZ22ebhjYl/SUbpgM0xcWPQBNMP1n29afAC/Us5PX1vg+JNQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@napi-rs/canvas-darwin-x64@0.1.80': - resolution: {integrity: sha512-FqqSU7qFce0Cp3pwnTjVkKjjOtxMqRe6lmINxpIZYaZNnVI0H5FtsaraZJ36SiTHNjZlUB69/HhxNDT1Aaa9vA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.80': - resolution: {integrity: sha512-eyWz0ddBDQc7/JbAtY4OtZ5SpK8tR4JsCYEZjCE3dI8pqoWUC8oMwYSBGCYfsx2w47cQgQCgMVRVTFiiO38hHQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@napi-rs/canvas-linux-arm64-gnu@0.1.80': - resolution: {integrity: sha512-qwA63t8A86bnxhuA/GwOkK3jvb+XTQaTiVML0vAWoHyoZYTjNs7BzoOONDgTnNtr8/yHrq64XXzUoLqDzU+Uuw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@napi-rs/canvas-linux-arm64-musl@0.1.80': - resolution: {integrity: sha512-1XbCOz/ymhj24lFaIXtWnwv/6eFHXDrjP0jYkc6iHQ9q8oXKzUX1Lc6bu+wuGiLhGh2GS/2JlfORC5ZcXimRcg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@napi-rs/canvas-linux-riscv64-gnu@0.1.80': - resolution: {integrity: sha512-XTzR125w5ZMs0lJcxRlS1K3P5RaZ9RmUsPtd1uGt+EfDyYMu4c6SEROYsxyatbbu/2+lPe7MPHOO/0a0x7L/gw==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@napi-rs/canvas-linux-x64-gnu@0.1.80': - resolution: {integrity: sha512-BeXAmhKg1kX3UCrJsYbdQd3hIMDH/K6HnP/pG2LuITaXhXBiNdh//TVVVVCBbJzVQaV5gK/4ZOCMrQW9mvuTqA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@napi-rs/canvas-linux-x64-musl@0.1.80': - resolution: {integrity: sha512-x0XvZWdHbkgdgucJsRxprX/4o4sEed7qo9rCQA9ugiS9qE2QvP0RIiEugtZhfLH3cyI+jIRFJHV4Fuz+1BHHMg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [musl] - - '@napi-rs/canvas-win32-x64-msvc@0.1.80': - resolution: {integrity: sha512-Z8jPsM6df5V8B1HrCHB05+bDiCxjE9QA//3YrkKIdVDEwn5RKaqOxCJDRJkl48cJbylcrJbW4HxZbTte8juuPg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@napi-rs/canvas@0.1.80': - resolution: {integrity: sha512-DxuT1ClnIPts1kQx8FBmkk4BQDTfI5kIzywAaMjQSXfNnra5UFU9PwurXrl+Je3bJ6BGsp/zmshVVFbCmyI+ww==} - engines: {node: '>= 10'} + '@mswjs/interceptors@0.41.3': + resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==} + engines: {node: '>=18'} '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + '@noble/ciphers@2.1.1': resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} engines: {node: '>= 20.19.0'} + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@2.0.1': resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} engines: {node: '>= 20.19.0'} @@ -2091,30 +2144,39 @@ packages: resolution: {integrity: sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==} engines: {node: '>=20.0'} + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@orpc/client@1.13.6': - resolution: {integrity: sha512-M6lYM6fJUFp9GR+It/qglYTeXwspb6sGj46xXWHqHS6iDVquqju0bdYuLOfHx8CGJcUSzi0aKUcqMXiGJhBG3w==} + '@orpc/client@1.13.7': + resolution: {integrity: sha512-qqmS28q0GOo9sfTstAc6cy0NoitYvdwZlgGBLXDgXsHNtSkkSm3nI5M1ohgWYpSL+lfP/jWriTbJJrBYPzyCiQ==} - '@orpc/contract@1.13.6': - resolution: {integrity: sha512-wjnpKMsCBbUE7MxdS+9by1BIDTJ4vnfUk9he4GmxKQ8fvK/MRNHUR5jkNhsBCoLnigBrsAedHrr9AIqNgqquyQ==} + '@orpc/contract@1.13.7': + resolution: {integrity: sha512-zRm+5tvn8DVM4DHJVxQEiuoM7mGdlgIQzRjTqnJMBRV0+rBNyZniokZCGwfJHKCjtBaAtJWieuJLQ+dFj3gbcw==} - '@orpc/interop@1.13.6': - resolution: {integrity: sha512-m28QpydaYIAkP9lRfwX8lRCxbdsqn734F/bSiS0yuakSCv+PP10SXBUkt4w+OkvZxdxRpj0pOJFJP8F5O0nAoA==} + '@orpc/interop@1.13.7': + resolution: {integrity: sha512-mIO/g0el/yJ19Z73MW9au4SmPlZcuM1WSCXpZUBmU2wtJfY32bakUkC+V2J47xDvknMEAEpMHxwCiEhIjbzflg==} - '@orpc/json-schema@1.13.6': - resolution: {integrity: sha512-kvih/ZN9FzUq18zLpAaU/tngg/OOQW6lQtqX7xza+gq1th8Js3mrI/E+6H+C4Exdx4sWdMpVna2PdA2T8igplw==} + '@orpc/json-schema@1.13.7': + resolution: {integrity: sha512-VELNkyne3RLz5l4tEs9FlNubbbfBmPJjHPCchYmeLGoeBH8bST08Hqj9mRzQ4TpplCY+L3tqTVl0s4QUVBB0qw==} - '@orpc/openapi-client@1.13.6': - resolution: {integrity: sha512-d1bAWpJSoK1HdVBPRmMlYCuqkR2nbdF3kztd7Xz2EsRdl5TRhNLqUJ+5CIfBZHuueicrpdBlwrOuLMmSlcGrew==} + '@orpc/openapi-client@1.13.7': + resolution: {integrity: sha512-0oWElGEtZ/EbfwOliMI6PccALpi8tp3aOyU746kJQRKTkSAwGohyRvfRA1R7BLbA3xwHTdNYB6ThaeYLvqiA0g==} - '@orpc/openapi@1.13.6': - resolution: {integrity: sha512-biqyRD9nZL+YOZ74k0Dbw6BIoa6liTk/tsGgIt2rfjztyElFwPnHeZ0OMrgaHnUGVYUTRSKL5dQlRmfp5LTeGg==} + '@orpc/openapi@1.13.7': + resolution: {integrity: sha512-e7VCHxFZbTjR/+CKZM7TrwqSWDEppwiAOXyEN3uJxOalsrHhpxXrwTxvRc0+xo2HMgjVYlNO1F+mTeNh0YZKvA==} - '@orpc/server@1.13.6': - resolution: {integrity: sha512-58NaUE8sppxxpKDyEYtkR65jOSK9ycwP9TMqkvdHEg33wR17FDHIDws9iNDAo17l4bYGWgPKZtMn6ruRpJjTKQ==} + '@orpc/server@1.13.7': + resolution: {integrity: sha512-M0HimrQ0L/7OBwyVBZddUvKtx+du95QPv+wTxVRibU4P6TwgdmKJrLOwCOhGtMbieSQXHDBacscUWA6QDdUm3Q==} peerDependencies: crossws: '>=0.3.4' ws: '>=8.18.1' @@ -2124,177 +2186,50 @@ packages: ws: optional: true - '@orpc/shared@1.13.6': - resolution: {integrity: sha512-XqpXPgmtkg2tviDXZC13Y4a3B0D5r1yuG4Q2qPG3gM1dargxob6/aSIeKE6rs1tNXOoI+IpJaGV53EWWB+x+iA==} + '@orpc/shared@1.13.7': + resolution: {integrity: sha512-yP0oDIC98sZHqSTmr4SUXJo4RNw9yias1GYVJTiVTXrRUEdniafkLrSkOrOHgrILP3w93sKiE69V3+/T0TNSOQ==} peerDependencies: '@opentelemetry/api': '>=1.9.0' peerDependenciesMeta: '@opentelemetry/api': optional: true - '@orpc/standard-server-aws-lambda@1.13.6': - resolution: {integrity: sha512-62/53mepru9yDet1AUxUsQ5NdAGbBsobX8UDHSF0qFUsS6RcYcSV7lHNS8vNozGwxzQ8zyn8x+47RItZDd4Akg==} + '@orpc/standard-server-aws-lambda@1.13.7': + resolution: {integrity: sha512-92WfdR2f3RvYarDW0JAGLzq68yOqNimD162/7DEddR8K1NlgWd+l6aAyCODnfXEj1tguS5/8xXbLUlXojXhhxw==} - '@orpc/standard-server-fastify@1.13.6': - resolution: {integrity: sha512-1YnVbkriAJLI4SAP8NiDr1kQ3iaDwcYKPHaEk0fq0MKV64HfafL2ftnGwBKRKGp/TLeYTCvwtgwiRJ13Dw4sPw==} + '@orpc/standard-server-fastify@1.13.7': + resolution: {integrity: sha512-2I9yc+OUqf3J9hxys4MiR12eB5uhbEX+eFQ00VQROkMhWjjjj6Gp8eOVS+LlatrWDpD1Rn+VVqyi9yNpaFoviQ==} peerDependencies: fastify: '>=5.6.1' peerDependenciesMeta: fastify: optional: true - '@orpc/standard-server-fetch@1.13.6': - resolution: {integrity: sha512-O0bK4crjEOU9H4LzJ2abMjku3dvEhs8tcLXP/W5NXyH+Wm7qjBjDr6psxZ3YuaWdVbfd/P7CHtvw2rQDHJCNfQ==} + '@orpc/standard-server-fetch@1.13.7': + resolution: {integrity: sha512-Hj+41HAlao+JXuLffeLrPiADu8mhGqwVB34lf+JSLKGtZhxaX4n4MeZMYhFioExXC+/tanvSrbKKkJimfznIWQ==} - '@orpc/standard-server-node@1.13.6': - resolution: {integrity: sha512-Q71ijpi7kLjn222uYKg7ZOr6yxcDoszAtVz7gHmSbNBdhB/7pF7NkJLxlL/MKbpM1YBSm4/lZyi7WDuhDLf1TA==} + '@orpc/standard-server-node@1.13.7': + resolution: {integrity: sha512-ruRSytJhdDnab5rPdyBE6FYZBXdhdkFCEB9okekLUlIJ9BVhkOBe3JNO41iJlGf8JOVdBeO9lJTG/ShauofZQA==} - '@orpc/standard-server-peer@1.13.6': - resolution: {integrity: sha512-WTqjNS6A9sxR4HVxWUb9ZoBHeQiesHeANmVBFdM/QjAaPUZYKn6WACYU6Q2eGmsCUeTQFfMssk0BG2EsgRNEYw==} + '@orpc/standard-server-peer@1.13.7': + resolution: {integrity: sha512-mbjmkEVGtsWvGBBEieUuXdX+MAzllQZ0D9Z79kU4Ns9sVaBcvjCYSrL29/iXcYqVGTx23LS9PaYnIurAQejzSQ==} - '@orpc/standard-server@1.13.6': - resolution: {integrity: sha512-GNYZXCWxYLVHsxBWR+bg5F12vDCsQghqxbqoFpMnA4goe58dugNWmuxM+aSDbI0D81YxkKDULSqft5S+GWi5ww==} + '@orpc/standard-server@1.13.7': + resolution: {integrity: sha512-5btxVTRAtgl9lmzg1XTCJYT8qd2QAAwcQ6XRvGXgLz56rSUCMf2vl3WeWPwlwiXXpueNvucPea/CaRGhJ9ZTeQ==} - '@orpc/tanstack-query@1.13.6': - resolution: {integrity: sha512-OBseuArjkAobKtKLVdzpepiS0fhc0TzW0O0Jixt1gkhkCiWG1xK8z0gZ7daQ85UBXRIoI9SXzwXhl+HVP+j14w==} + '@orpc/tanstack-query@1.13.7': + resolution: {integrity: sha512-MBxs86GBMjI5DXemTXn9W5jvgYEafdj33RpK5fXIrX+uEfwnJbmiWZCvFg7EOnDBUGLVnCWKLWow+tVspOFVmA==} peerDependencies: - '@orpc/client': 1.13.6 + '@orpc/client': 1.13.7 '@tanstack/query-core': '>=5.80.2' - '@orpc/zod@1.13.6': - resolution: {integrity: sha512-Sj3KQbtV1Zuy2QnSs3NrFBnuZfttmWnXb39gLarD3rEKaxE4Mugv2yXIZ7vnBOj5cL24V+ysgharU/Dl7Ro0yA==} + '@orpc/zod@1.13.7': + resolution: {integrity: sha512-m6nA1fISfBc7E9L0MslIfJvSL5ImEXQnBbD4RbOJGnejT1AFWwH2hqeBTJIs/AFPlOHWSJcVZYJW6N65iuUIcQ==} peerDependencies: - '@orpc/contract': 1.13.6 - '@orpc/server': 1.13.6 + '@orpc/contract': 1.13.7 + '@orpc/server': 1.13.7 zod: '>=3.25.0' - '@oxc-minify/binding-android-arm-eabi@0.110.0': - resolution: {integrity: sha512-43fMTO8/5bMlqfOiNSZNKUzIqeLIYuB9Hr1Ohyf58B1wU11S2dPGibTXOGNaWsfgHy99eeZ1bSgeIHy/fEYqbw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxc-minify/binding-android-arm64@0.110.0': - resolution: {integrity: sha512-5oQrnn9eK/ccOp80PTrNj0Vq893NPNNRryjGpOIVsYNgWFuoGCfpnKg68oEFcN8bArizYAqw4nvgHljEnar69w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxc-minify/binding-darwin-arm64@0.110.0': - resolution: {integrity: sha512-dqBDgTG9tF2z2lrZp9E8wU+Godz1i8gCGSei2eFKS2hRploBOD5dmOLp1j4IMornkPvSQmbwB3uSjPq7fjx4EA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxc-minify/binding-darwin-x64@0.110.0': - resolution: {integrity: sha512-U0AqabqaooDOpYmeeOye8wClv8PSScELXgOfYqyqgrwH9J9KrpCE1jL8Rlqgz68QbL4mPw3V6sKiiHssI4CLeQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxc-minify/binding-freebsd-x64@0.110.0': - resolution: {integrity: sha512-H0w8o/Wo1072WSdLfhwwrpFpwZnPpjQODlHuRYkTfsSSSJbTxQtjJd4uxk7YJsRv5RQp69y0I7zvdH6f8Xueyw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxc-minify/binding-linux-arm-gnueabihf@0.110.0': - resolution: {integrity: sha512-qd6sW0AvEVYZhbVVMGtmKZw3b1zDYGIW+54Uh42moWRAj6i4Jhk/LGr6r9YNZpOINeuvZfkFuEeDD/jbu7xPUA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-minify/binding-linux-arm-musleabihf@0.110.0': - resolution: {integrity: sha512-7WXP0aXMrWSn0ScppUBi3jf68ebfBG0eri8kxLmBOVSBj6jw1repzkHMITJMBeLr5d0tT/51qFEptiAk2EP2iA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-minify/binding-linux-arm64-gnu@0.110.0': - resolution: {integrity: sha512-LYfADrq5x1W5gs+u9OIbMbDQNYkAECTXX0ufnAuf3oGmO51rF98kGFR5qJqC/6/csokDyT3wwTpxhE0TkcF/Og==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxc-minify/binding-linux-arm64-musl@0.110.0': - resolution: {integrity: sha512-53GjCVY8kvymk9P6qNDh6zyblcehF5QHstq9QgCjv13ONGRnSHjeds0PxIwiihD7h295bxsWs84DN39syLPH4Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxc-minify/binding-linux-ppc64-gnu@0.110.0': - resolution: {integrity: sha512-li8XcN81dxbJDMBESnTgGhoiAQ+CNIdM0QGscZ4duVPjCry1RpX+5FJySFbGqG3pk4s9ZzlL/vtQtbRzZIZOzg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxc-minify/binding-linux-riscv64-gnu@0.110.0': - resolution: {integrity: sha512-SweKfsnLKShu6UFV8mwuj1d1wmlNoL/FlAxPUzwjEBgwiT2HQkY24KnjBH+TIA+//1O83kzmWKvvs4OuEhdIEQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxc-minify/binding-linux-riscv64-musl@0.110.0': - resolution: {integrity: sha512-oH8G4aFMP8XyTsEpdANC5PQyHgSeGlopHZuW1rpyYcaErg5YaK0vXjQ4EM5HVvPm+feBV24JjxgakTnZoF3aOQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxc-minify/binding-linux-s390x-gnu@0.110.0': - resolution: {integrity: sha512-W9na+Vza7XVUlpf8wMt4QBfH35KeTENEmnpPUq3NSlbQHz8lSlSvhAafvo43NcKvHAXV3ckD/mUf2VkqSdbklg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxc-minify/binding-linux-x64-gnu@0.110.0': - resolution: {integrity: sha512-XJdA4mmmXOjJxSRgNJXsDP7Xe8h3gQhmb56hUcCrvq5d+h5UcEi2pR8rxsdIrS8QmkLuBA3eHkGK8E27D7DTgQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxc-minify/binding-linux-x64-musl@0.110.0': - resolution: {integrity: sha512-QqzvALuOTtSckI8x467R4GNArzYDb/yEh6aNzLoeaY1O7vfT7SPDwlOEcchaTznutpeS9Dy8gUS/AfqtUHaufw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxc-minify/binding-openharmony-arm64@0.110.0': - resolution: {integrity: sha512-gAMssLs2Q3+uhLZxanh1DF+27Kaug3cf4PXb9AB7XK81DR+LVcKySXaoGYoOs20Co0fFSphd6rRzKge2qDK3dA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxc-minify/binding-wasm32-wasi@0.110.0': - resolution: {integrity: sha512-7Wqi5Zjl022bs2zXq+ICdalDPeDuCH/Nhbi8q2isLihAonMVIT0YH2hqqnNEylRNGYck+FJ6gRZwMpGCgrNxPg==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@oxc-minify/binding-win32-arm64-msvc@0.110.0': - resolution: {integrity: sha512-ZPx+0Tj4dqn41ecyoGotlvekQKy6JxJCixn9Rw7h/dafZ3eDuBcEVh3c2ZoldXXsyMIt5ywI8IWzFZsjNedd5Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxc-minify/binding-win32-ia32-msvc@0.110.0': - resolution: {integrity: sha512-H0Oyd3RWBfpEyvJIrFK94RYiY7KKSQl11Ym7LMDwLEagelIAfRCkt1amHZhFa/S3ZRoaOJFXzEw4YKeSsjVFsg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxc-minify/binding-win32-x64-msvc@0.110.0': - resolution: {integrity: sha512-Hr3nK90+qXKJ2kepXwFIcNfQQIOBecB4FFCyaMMypthoEEhVP08heRynj4eSXZ8NL9hLjs3fQzH8PJXfpznRnQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@oxc-project/runtime@0.115.0': resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2410,133 +2345,6 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform/binding-android-arm-eabi@0.110.0': - resolution: {integrity: sha512-sE9dxvqqAax1YYJ3t7j+h5ZSI9jl6dYuDfngl6ieZUrIy5P89/8JKVgAzgp8o3wQSo7ndpJvYsi1K4ZqrmbP7w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxc-transform/binding-android-arm64@0.110.0': - resolution: {integrity: sha512-nqtbP4aMCtsCZ6qpHlHaQoWVHSBtlKzwaAgwEOvR+9DWqHjk31BHvpGiDXlMeed6CVNpl3lCbWgygb3RcSjcfw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxc-transform/binding-darwin-arm64@0.110.0': - resolution: {integrity: sha512-oeSeHnL4Z4cMXtc8V0/rwoVn0dgwlS9q0j6LcHn9dIhtFEdp3W0iSBF8YmMQA+E7sILeLDjsHmHE4Kp0sOScXw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxc-transform/binding-darwin-x64@0.110.0': - resolution: {integrity: sha512-nL9K5x7OuZydobAGPylsEW9d4APs2qEkIBLMgQPA+kY8dtVD3IR87QsTbs4l4DBQYyun/+ay6qVCDlxqxdX2Jg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxc-transform/binding-freebsd-x64@0.110.0': - resolution: {integrity: sha512-GS29zXXirDQhZEUq8xKJ1azAWMuUy3Ih3W5Bc5ddk12LRthO5wRLFcKIyeHpAXCoXymQ+LmxbMtbPf84GPxouw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxc-transform/binding-linux-arm-gnueabihf@0.110.0': - resolution: {integrity: sha512-glzDHak8ISyZJemCUi7RCvzNSl+MQ1ly9RceT2qRufhUsvNZ4C/2QLJ1HJwd2N6E88bO4laYn+RofdRzNnGGEA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-transform/binding-linux-arm-musleabihf@0.110.0': - resolution: {integrity: sha512-8JThvgJ2FRoTVfbp7e4wqeZqCZbtudM06SfZmNzND9kPNu/LVYygIR+72RWs+xm4bWkuYHg/islo/boNPtMT5Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-transform/binding-linux-arm64-gnu@0.110.0': - resolution: {integrity: sha512-IRh21Ub/g4bkHoErZ0AUWMlWfoZaS0A6EaOVtbcY70RSYIMlrsbjiFwJCzM+b/1DD1rXbH5tsGcH7GweTbfRqg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxc-transform/binding-linux-arm64-musl@0.110.0': - resolution: {integrity: sha512-e5JN94/oy+wevk76q+LMr+2klTTcO60uXa+Wkq558Ms7mdF2TvkKFI++d/JeiuIwJLTi/BxQ4qdT5FWcsHM/ug==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxc-transform/binding-linux-ppc64-gnu@0.110.0': - resolution: {integrity: sha512-Y3/Tnnz1GvDpmv8FXBIKtdZPsdZklOEPdrL6NHrN5i2u54BOkybFaDSptgWF53wOrJlTrcmAVSE6fRKK9XCM2Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxc-transform/binding-linux-riscv64-gnu@0.110.0': - resolution: {integrity: sha512-Y0E35iA9/v9jlkNcP6tMJ+ZFOS0rLsWDqG6rU9z+X2R3fBFJBO9UARIK6ngx8upxk81y1TFR2CmBFhupfYdH6Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxc-transform/binding-linux-riscv64-musl@0.110.0': - resolution: {integrity: sha512-JOUSYFfHjBUs7xp2FHmZHb8eTYD/oEu0NklS6JgUauqnoXZHiTLPLVW2o2uVCqldnabYHcomuwI2iqVFYJNhTw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxc-transform/binding-linux-s390x-gnu@0.110.0': - resolution: {integrity: sha512-7blgoXF9D3Ngzb7eun23pNrHJpoV/TtE6LObwlZ3Nmb4oZ6Z+yMvBVaoW68NarbmvNGfZ95zrOjgm6cVETLYBA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxc-transform/binding-linux-x64-gnu@0.110.0': - resolution: {integrity: sha512-YQ2joGWCVDZVEU2cD/r/w49hVjDm/Qu1BvC/7zs8LvprzdLS/HyMXGF2oA0puw0b+AqgYaz3bhwKB2xexHyITQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxc-transform/binding-linux-x64-musl@0.110.0': - resolution: {integrity: sha512-fkjr5qE632ULmNgvFXWDR/8668WxERz3tU7TQFp6JebPBneColitjSkdx6VKNVXEoMmQnOvBIGeP5tUNT384oA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxc-transform/binding-openharmony-arm64@0.110.0': - resolution: {integrity: sha512-HWH9Zj+lMrdSTqFRCZsvDWMz7OnMjbdGsm3xURXWfRZpuaz0bVvyuZNDQXc4FyyhRDsemICaJbU1bgeIpUJDGw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxc-transform/binding-wasm32-wasi@0.110.0': - resolution: {integrity: sha512-ejdxHmYfIcHDPhZUe3WklViLt9mDEJE5BzcW7+R1vc5i/5JFA8D0l7NUSsHBJ7FB8Bu9gF+5iMDm6cXGAgaghw==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@oxc-transform/binding-win32-arm64-msvc@0.110.0': - resolution: {integrity: sha512-9VTwpXCZs7xkV+mKhQ62dVk7KLnLXtEUxNS2T4nLz3iMl1IJbA4h5oltK0JoobtiUAnbkV53QmMVGW8+Nh3bDQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxc-transform/binding-win32-ia32-msvc@0.110.0': - resolution: {integrity: sha512-5y0fzuNON7/F2hh2P94vANFaRPJ/3DI1hVl5rseCT8VUVqOGIjWaza0YS/D1g6t1WwycW2LWDMi2raOKoWU5GQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxc-transform/binding-win32-x64-msvc@0.110.0': - resolution: {integrity: sha512-QROrowwlrApI1fEScMknGWKM6GTM/Z2xwMnDqvSaEmzNazBsDUlE08Jasw610hFEsYAVU2K5sp/YaCa9ORdP4A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@phosphor-icons/react@2.1.10': resolution: {integrity: sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA==} engines: {node: '>=10'} @@ -2604,129 +2412,9 @@ packages: engines: {node: '>=18'} hasBin: true - '@radix-ui/number@1.1.1': - resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} - '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} - '@radix-ui/react-accessible-icon@1.1.7': - resolution: {integrity: sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-accordion@1.2.12': - resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-alert-dialog@1.1.15': - resolution: {integrity: sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-arrow@1.1.7': - resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-aspect-ratio@1.1.7': - resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-avatar@1.1.10': - resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-checkbox@1.3.3': - resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-collapsible@1.1.12': - resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-collection@1.1.7': - resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-compose-refs@1.1.2': resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: @@ -2736,19 +2424,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-context-menu@2.2.16': - resolution: {integrity: sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-context@1.1.2': resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: @@ -2771,15 +2446,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-direction@1.1.1': - resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-dismissable-layer@1.1.11': resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} peerDependencies: @@ -2793,19 +2459,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-dropdown-menu@2.1.16': - resolution: {integrity: sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-focus-guards@1.1.3': resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} peerDependencies: @@ -2828,32 +2481,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-form@0.1.8': - resolution: {integrity: sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-hover-card@1.1.15': - resolution: {integrity: sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-id@1.1.1': resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: @@ -2863,110 +2490,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-label@2.1.7': - resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-menu@2.1.16': - resolution: {integrity: sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-menubar@1.1.16': - resolution: {integrity: sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-navigation-menu@1.2.14': - resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-one-time-password-field@0.1.8': - resolution: {integrity: sha512-ycS4rbwURavDPVjCb5iS3aG4lURFDILi6sKI/WITUMZ13gMmn/xGjpLoqBAalhJaDk8I3UbCM5GzKHrnzwHbvg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-password-toggle-field@0.1.3': - resolution: {integrity: sha512-/UuCrDBWravcaMix4TdT+qlNdVwOM1Nck9kWx/vafXsdfj1ChfhOdfi3cy9SGBpWgTXwYCuboT/oYpJy3clqfw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-popover@1.1.15': - resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-popper@1.2.8': - resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-portal@1.1.9': resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: @@ -3019,97 +2542,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-progress@1.1.7': - resolution: {integrity: sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-radio-group@1.3.8': - resolution: {integrity: sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-roving-focus@1.1.11': - resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-scroll-area@1.2.10': - resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-select@2.2.6': - resolution: {integrity: sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-separator@1.1.7': - resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-slider@1.3.6': - resolution: {integrity: sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-slot@1.2.3': resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: @@ -3128,97 +2560,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-switch@1.2.6': - resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-tabs@1.1.13': - resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-toast@1.2.15': - resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-toggle-group@1.1.11': - resolution: {integrity: sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-toggle@1.1.10': - resolution: {integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-toolbar@1.1.11': - resolution: {integrity: sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-tooltip@1.2.8': - resolution: {integrity: sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-use-callback-ref@1.1.1': resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} peerDependencies: @@ -3255,15 +2596,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-is-hydrated@0.1.0': - resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-use-layout-effect@1.1.1': resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: @@ -3273,141 +2605,129 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-previous@1.1.1': - resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-rect@1.1.1': - resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-size@1.1.1': - resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-visually-hidden@1.2.3': - resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/rect@1.1.1': - resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} - '@rolldown/binding-android-arm64@1.0.0-rc.6': - resolution: {integrity: sha512-kvjTSWGcrv+BaR2vge57rsKiYdVR8V8CoS0vgKrc570qRBfty4bT+1X0z3j2TaVV+kAYzA0PjeB9+mdZyqUZlg==} + '@rolldown/binding-android-arm64@1.0.0-rc.9': + resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.6': - resolution: {integrity: sha512-+tJhD21KvGNtUrpLXrZQlT+j5HZKiEwR2qtcZb3vNOUpvoT9QjEykr75ZW/Kr0W89gose/HVXU6351uVZD8Qvw==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.9': + resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.6': - resolution: {integrity: sha512-DKNhjMk38FAWaHwUt1dFR3rA/qRAvn2NUvSG2UGvxvlMxSmN/qqww/j4ABAbXhNRXtGQNmrAINMXRuwHl16ZHg==} + '@rolldown/binding-darwin-x64@1.0.0-rc.9': + resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.6': - resolution: {integrity: sha512-8TThsRkCPAnfyMBShxrGdtoOE6h36QepqRQI97iFaQSCRbHFWHcDHppcojZnzXoruuhPnjMEygzaykvPVJsMRg==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.9': + resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.6': - resolution: {integrity: sha512-ZfmFoOwPUZCWtGOVC9/qbQzfc0249FrRUOzV2XabSMUV60Crp211OWLQN1zmQAsRIVWRcEwhJ46Z1mXGo/L/nQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': + resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.6': - resolution: {integrity: sha512-ZsGzbNETxPodGlLTYHaCSGVhNN/rvkMDCJYHdT7PZr5jFJRmBfmDi2awhF64Dt2vxrJqY6VeeYSgOzEbHRsb7Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': + resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.6': - resolution: {integrity: sha512-elPpdevtCdUOqziemR86C4CSCr/5sUxalzDrf/CJdMT+kZt2C556as++qHikNOz0vuFf52h+GJNXZM08eWgGPQ==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': + resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.6': - resolution: {integrity: sha512-IBwXsf56o3xhzAyaZxdM1CX8UFiBEUFCjiVUgny67Q8vPIqkjzJj0YKhd3TbBHanuxThgBa59f6Pgutg2OGk5A==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': + resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': + resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': + resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.6': - resolution: {integrity: sha512-vOk7G8V9Zm+8a6PL6JTpCea61q491oYlGtO6CvnsbhNLlKdf0bbCPytFzGQhYmCKZDKkEbmnkcIprTEGCURnwg==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': + resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.6': - resolution: {integrity: sha512-ASjEDI4MRv7XCQb2JVaBzfEYO98JKCGrAgoW6M03fJzH/ilCnC43Mb3ptB9q/lzsaahoJyIBoAGKAYEjUvpyvQ==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': + resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.6': - resolution: {integrity: sha512-mYa1+h2l6Zc0LvmwUh0oXKKYihnw/1WC73vTqw+IgtfEtv47A+rWzzcWwVDkW73+UDr0d/Ie/HRXoaOY22pQDw==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': + resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.6': - resolution: {integrity: sha512-e2ABskbNH3MRUBMjgxaMjYIw11DSwjLJxBII3UgpF6WClGLIh8A20kamc+FKH5vIaFVnYQInmcLYSUVpqMPLow==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': + resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.6': - resolution: {integrity: sha512-dJVc3ifhaRXxIEh1xowLohzFrlQXkJ66LepHm+CmSprTWgVrPa8Fx3OL57xwIqDEH9hufcKkDX2v65rS3NZyRA==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': + resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@rolldown/plugin-babel@0.2.1': + resolution: {integrity: sha512-pHDVHqFv26JNC8I500JZ0H4h1kvSyiE3V9gjEO9pRAgD1KrIdJvcHCokV6f7gG7Rx4vMOD11V8VUOpqdyGbKBw==} + engines: {node: '>=22.12.0 || ^24.0.0'} + peerDependencies: + '@babel/core': ^7.29.0 || ^8.0.0-rc.1 + '@babel/plugin-transform-runtime': ^7.29.0 || ^8.0.0-rc.1 + '@babel/runtime': ^7.27.0 || ^8.0.0-rc.1 + rolldown: ^1.0.0-rc.5 + vite: ^8.0.0 + peerDependenciesMeta: + '@babel/plugin-transform-runtime': + optional: true + '@babel/runtime': + optional: true + vite: + optional: true + '@rolldown/pluginutils@1.0.0-beta.40': resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==} - '@rolldown/pluginutils@1.0.0-rc.3': - resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} + '@rolldown/pluginutils@1.0.0-rc.7': + resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==} - '@rolldown/pluginutils@1.0.0-rc.6': - resolution: {integrity: sha512-Y0+JT8Mi1mmW08K6HieG315XNRu4L0rkfCpA364HtytjgiqYnMYRdFPcxRl+BQQqNXzecL2S9nii+RUpO93XIA==} + '@rolldown/pluginutils@1.0.0-rc.9': + resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==} '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} @@ -3458,9 +2778,16 @@ packages: rollup: optional: true + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sinclair/typebox@0.27.10': resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sindresorhus/slugify@3.0.0': resolution: {integrity: sha512-SCrKh1zS96q+CuH5GumHcyQEVPsM4Ve8oE0E6tw7AAhGq50K8ojbTUOQnX/j9Mhcv/AXiIsbCfquovyGOo5fGw==} engines: {node: '>=20'} @@ -3469,8 +2796,8 @@ packages: resolution: {integrity: sha512-gVaaGtKYMYAMmI8buULVH3A2TXVJ98QiwGwI7ddrWGuGidGC2uRt4FHs22+8iROJ0QTzju9CuMjlVsrvpqsdhA==} engines: {node: '>=20'} - '@smithy/abort-controller@4.2.11': - resolution: {integrity: sha512-Hj4WoYWMJnSpM6/kchsm4bUNTL9XiSyhvoMb2KIq4VJzyDt7JpGHUZHkVNPZVC7YE1tf8tPeVauxpFBKGW4/KQ==} + '@smithy/abort-controller@4.2.12': + resolution: {integrity: sha512-xolrFw6b+2iYGl6EcOL7IJY71vvyZ0DJ3mcKtpykqPe2uscwtzDZJa1uVQXyP7w9Dd+kGwYnPbMsJrGISKiY/Q==} engines: {node: '>=18.0.0'} '@smithy/chunked-blob-reader-native@4.2.3': @@ -3481,56 +2808,56 @@ packages: resolution: {integrity: sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.4.10': - resolution: {integrity: sha512-IRTkd6ps0ru+lTWnfnsbXzW80A8Od8p3pYiZnW98K2Hb20rqfsX7VTlfUwhrcOeSSy68Gn9WBofwPuw3e5CCsg==} + '@smithy/config-resolver@4.4.11': + resolution: {integrity: sha512-YxFiiG4YDAtX7WMN7RuhHZLeTmRRAOyCbr+zB8e3AQzHPnUhS8zXjB1+cniPVQI3xbWsQPM0X2aaIkO/ME0ymw==} engines: {node: '>=18.0.0'} - '@smithy/core@3.23.8': - resolution: {integrity: sha512-f7uPeBi7ehmLT4YF2u9j3qx6lSnurG1DLXOsTtJrIRNDF7VXio4BGHQ+SQteN/BrUVudbkuL4v7oOsRCzq4BqA==} + '@smithy/core@3.23.12': + resolution: {integrity: sha512-o9VycsYNtgC+Dy3I0yrwCqv9CWicDnke0L7EVOrZtJpjb2t0EjaEofmMrYc0T1Kn3yk32zm6cspxF9u9Bj7e5w==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.2.11': - resolution: {integrity: sha512-lBXrS6ku0kTj3xLmsJW0WwqWbGQ6ueooYyp/1L9lkyT0M02C+DWwYwc5aTyXFbRaK38ojALxNixg+LxKSHZc0g==} + '@smithy/credential-provider-imds@4.2.12': + resolution: {integrity: sha512-cr2lR792vNZcYMriSIj+Um3x9KWrjcu98kn234xA6reOAFMmbRpQMOv8KPgEmLLtx3eldU6c5wALKFqNOhugmg==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.2.11': - resolution: {integrity: sha512-Sf39Ml0iVX+ba/bgMPxaXWAAFmHqYLTmbjAPfLPLY8CrYkRDEqZdUsKC1OwVMCdJXfAt0v4j49GIJ8DoSYAe6w==} + '@smithy/eventstream-codec@4.2.12': + resolution: {integrity: sha512-FE3bZdEl62ojmy8x4FHqxq2+BuOHlcxiH5vaZ6aqHJr3AIZzwF5jfx8dEiU/X0a8RboyNDjmXjlbr8AdEyLgiA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.2.11': - resolution: {integrity: sha512-3rEpo3G6f/nRS7fQDsZmxw/ius6rnlIpz4UX6FlALEzz8JoSxFmdBt0SZnthis+km7sQo6q5/3e+UJcuQivoXA==} + '@smithy/eventstream-serde-browser@4.2.12': + resolution: {integrity: sha512-XUSuMxlTxV5pp4VpqZf6Sa3vT/Q75FVkLSpSSE3KkWBvAQWeuWt1msTv8fJfgA4/jcJhrbrbMzN1AC/hvPmm5A==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.3.11': - resolution: {integrity: sha512-XeNIA8tcP/GDWnnKkO7qEm/bg0B/bP9lvIXZBXcGZwZ+VYM8h8k9wuDvUODtdQ2Wcp2RcBkPTCSMmaniVHrMlA==} + '@smithy/eventstream-serde-config-resolver@4.3.12': + resolution: {integrity: sha512-7epsAZ3QvfHkngz6RXQYseyZYHlmWXSTPOfPmXkiS+zA6TBNo1awUaMFL9vxyXlGdoELmCZyZe1nQE+imbmV+Q==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@4.2.11': - resolution: {integrity: sha512-fzbCh18rscBDTQSCrsp1fGcclLNF//nJyhjldsEl/5wCYmgpHblv5JSppQAyQI24lClsFT0wV06N1Porn0IsEw==} + '@smithy/eventstream-serde-node@4.2.12': + resolution: {integrity: sha512-D1pFuExo31854eAvg89KMn9Oab/wEeJR6Buy32B49A9Ogdtx5fwZPqBHUlDzaCDpycTFk2+fSQgX689Qsk7UGA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@4.2.11': - resolution: {integrity: sha512-MJ7HcI+jEkqoWT5vp+uoVaAjBrmxBtKhZTeynDRG/seEjJfqyg3SiqMMqyPnAMzmIfLaeJ/uiuSDP/l9AnMy/Q==} + '@smithy/eventstream-serde-universal@4.2.12': + resolution: {integrity: sha512-+yNuTiyBACxOJUTvbsNsSOfH9G9oKbaJE1lNL3YHpGcuucl6rPZMi3nrpehpVOVR2E07YqFFmtwpImtpzlouHQ==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.3.13': - resolution: {integrity: sha512-U2Hcfl2s3XaYjikN9cT4mPu8ybDbImV3baXR0PkVlC0TTx808bRP3FaPGAzPtB8OByI+JqJ1kyS+7GEgae7+qQ==} + '@smithy/fetch-http-handler@5.3.15': + resolution: {integrity: sha512-T4jFU5N/yiIfrtrsb9uOQn7RdELdM/7HbyLNr6uO/mpkj1ctiVs7CihVr51w4LyQlXWDpXFn4BElf1WmQvZu/A==} engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@4.2.12': - resolution: {integrity: sha512-1wQE33DsxkM/waftAhCH9VtJbUGyt1PJ9YRDpOu+q9FUi73LLFUZ2fD8A61g2mT1UY9k7b99+V1xZ41Rz4SHRQ==} + '@smithy/hash-blob-browser@4.2.13': + resolution: {integrity: sha512-YrF4zWKh+ghLuquldj6e/RzE3xZYL8wIPfkt0MqCRphVICjyyjH8OwKD7LLlKpVEbk4FLizFfC1+gwK6XQdR3g==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.2.11': - resolution: {integrity: sha512-T+p1pNynRkydpdL015ruIoyPSRw9e/SQOWmSAMmmprfswMrd5Ow5igOWNVlvyVFZlxXqGmyH3NQwfwy8r5Jx0A==} + '@smithy/hash-node@4.2.12': + resolution: {integrity: sha512-QhBYbGrbxTkZ43QoTPrK72DoYviDeg6YKDrHTMJbbC+A0sml3kSjzFtXP7BtbyJnXojLfTQldGdUR0RGD8dA3w==} engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@4.2.11': - resolution: {integrity: sha512-hQsTjwPCRY8w9GK07w1RqJi3e+myh0UaOWBBhZ1UMSDgofH/Q1fEYzU1teaX6HkpX/eWDdm7tAGR0jBPlz9QEQ==} + '@smithy/hash-stream-node@4.2.12': + resolution: {integrity: sha512-O3YbmGExeafuM/kP7Y8r6+1y0hIh3/zn6GROx0uNlB54K9oihAL75Qtc+jFfLNliTi6pxOAYZrRKD9A7iA6UFw==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.2.11': - resolution: {integrity: sha512-cGNMrgykRmddrNhYy1yBdrp5GwIgEkniS7k9O1VLB38yxQtlvrxpZtUVvo6T4cKpeZsriukBuuxfJcdZQc/f/g==} + '@smithy/invalid-dependency@4.2.12': + resolution: {integrity: sha512-/4F1zb7Z8LOu1PalTdESFHR0RbPwHd3FcaG1sI3UEIriQTWakysgJr65lc1jj6QY5ye7aFsisajotH6UhWfm/g==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': @@ -3541,76 +2868,76 @@ packages: resolution: {integrity: sha512-n6rQ4N8Jj4YTQO3YFrlgZuwKodf4zUFs7EJIWH86pSCWBaAtAGBFfCM7Wx6D2bBJ2xqFNxGBSrUWswT3M0VJow==} engines: {node: '>=18.0.0'} - '@smithy/md5-js@4.2.11': - resolution: {integrity: sha512-350X4kGIrty0Snx2OWv7rPM6p6vM7RzryvFs6B/56Cux3w3sChOb3bymo5oidXJlPcP9fIRxGUCk7GqpiSOtng==} + '@smithy/md5-js@4.2.12': + resolution: {integrity: sha512-W/oIpHCpWU2+iAkfZYyGWE+qkpuf3vEXHLxQQDx9FPNZTTdnul0dZ2d/gUFrtQ5je1G2kp4cjG0/24YueG2LbQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.2.11': - resolution: {integrity: sha512-UvIfKYAKhCzr4p6jFevPlKhQwyQwlJ6IeKLDhmV1PlYfcW3RL4ROjNEDtSik4NYMi9kDkH7eSwyTP3vNJ/u/Dw==} + '@smithy/middleware-content-length@4.2.12': + resolution: {integrity: sha512-YE58Yz+cvFInWI/wOTrB+DbvUVz/pLn5mC5MvOV4fdRUc6qGwygyngcucRQjAhiCEbmfLOXX0gntSIcgMvAjmA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.22': - resolution: {integrity: sha512-sc81w1o4Jy+/MAQlY3sQ8C7CmSpcvIi3TAzXblUv2hjG11BBSJi/Cw8vDx5BxMxapuH2I+Gc+45vWsgU07WZRQ==} + '@smithy/middleware-endpoint@4.4.26': + resolution: {integrity: sha512-8Qfikvd2GVKSm8S6IbjfwFlRY9VlMrj0Dp4vTwAuhqbX7NhJKE5DQc2bnfJIcY0B+2YKMDBWfvexbSZeejDgeg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.39': - resolution: {integrity: sha512-MCVCxaCzuZgiHtHGV2Ke44nh6t4+8/tO+rTYOzrr2+G4nMLU/qbzNCWKBX54lyEaVcGQrfOJiG2f8imtiw+nIQ==} + '@smithy/middleware-retry@4.4.43': + resolution: {integrity: sha512-ZwsifBdyuNHrFGmbc7bAfP2b54+kt9J2rhFd18ilQGAB+GDiP4SrawqyExbB7v455QVR7Psyhb2kjULvBPIhvA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.2.12': - resolution: {integrity: sha512-W9g1bOLui7Xn5FABRVS0o3rXL0gfN37d/8I/W7i0N7oxjx9QecUmXEMSUMADTODwdtka9cN43t5BI2CodLJpng==} + '@smithy/middleware-serde@4.2.15': + resolution: {integrity: sha512-ExYhcltZSli0pgAKOpQQe1DLFBLryeZ22605y/YS+mQpdNWekum9Ujb/jMKfJKgjtz1AZldtwA/wCYuKJgjjlg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.2.11': - resolution: {integrity: sha512-s+eenEPW6RgliDk2IhjD2hWOxIx1NKrOHxEwNUaUXxYBxIyCcDfNULZ2Mu15E3kwcJWBedTET/kEASPV1A1Akg==} + '@smithy/middleware-stack@4.2.12': + resolution: {integrity: sha512-kruC5gRHwsCOuyCd4ouQxYjgRAym2uDlCvQ5acuMtRrcdfg7mFBg6blaxcJ09STpt3ziEkis6bhg1uwrWU7txw==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.3.11': - resolution: {integrity: sha512-xD17eE7kaLgBBGf5CZQ58hh2YmwK1Z0O8YhffwB/De2jsL0U3JklmhVYJ9Uf37OtUDLF2gsW40Xwwag9U869Gg==} + '@smithy/node-config-provider@4.3.12': + resolution: {integrity: sha512-tr2oKX2xMcO+rBOjobSwVAkV05SIfUKz8iI53rzxEmgW3GOOPOv0UioSDk+J8OpRQnpnhsO3Af6IEBabQBVmiw==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.4.14': - resolution: {integrity: sha512-DamSqaU8nuk0xTJDrYnRzZndHwwRnyj/n/+RqGGCcBKB4qrQem0mSDiWdupaNWdwxzyMU91qxDmHOCazfhtO3A==} + '@smithy/node-http-handler@4.5.0': + resolution: {integrity: sha512-Rnq9vQWiR1+/I6NZZMNzJHV6pZYyEHt2ZnuV3MG8z2NNenC4i/8Kzttz7CjZiHSmsN5frhXhg17z3Zqjjhmz1A==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.2.11': - resolution: {integrity: sha512-14T1V64o6/ndyrnl1ze1ZhyLzIeYNN47oF/QU6P5m82AEtyOkMJTb0gO1dPubYjyyKuPD6OSVMPDKe+zioOnCg==} + '@smithy/property-provider@4.2.12': + resolution: {integrity: sha512-jqve46eYU1v7pZ5BM+fmkbq3DerkSluPr5EhvOcHxygxzD05ByDRppRwRPPpFrsFo5yDtCYLKu+kreHKVrvc7A==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.3.11': - resolution: {integrity: sha512-hI+barOVDJBkNt4y0L2mu3Ugc0w7+BpJ2CZuLwXtSltGAAwCb3IvnalGlbDV/UCS6a9ZuT3+exd1WxNdLb5IlQ==} + '@smithy/protocol-http@5.3.12': + resolution: {integrity: sha512-fit0GZK9I1xoRlR4jXmbLhoN0OdEpa96ul8M65XdmXnxXkuMxM0Y8HDT0Fh0Xb4I85MBvBClOzgSrV1X2s1Hxw==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.2.11': - resolution: {integrity: sha512-7spdikrYiljpket6u0up2Ck2mxhy7dZ0+TDd+S53Dg2DHd6wg+YNJrTCHiLdgZmEXZKI7LJZcwL3721ZRDFiqA==} + '@smithy/querystring-builder@4.2.12': + resolution: {integrity: sha512-6wTZjGABQufekycfDGMEB84BgtdOE/rCVTov+EDXQ8NHKTUNIp/j27IliwP7tjIU9LR+sSzyGBOXjeEtVgzCHg==} engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@4.2.11': - resolution: {integrity: sha512-nE3IRNjDltvGcoThD2abTozI1dkSy8aX+a2N1Rs55en5UsdyyIXgGEmevUL3okZFoJC77JgRGe99xYohhsjivQ==} + '@smithy/querystring-parser@4.2.12': + resolution: {integrity: sha512-P2OdvrgiAKpkPNKlKUtWbNZKB1XjPxM086NeVhK+W+wI46pIKdWBe5QyXvhUm3MEcyS/rkLvY8rZzyUdmyDZBw==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.2.11': - resolution: {integrity: sha512-HkMFJZJUhzU3HvND1+Yw/kYWXp4RPDLBWLcK1n+Vqw8xn4y2YiBhdww8IxhkQjP/QlZun5bwm3vcHc8AqIU3zw==} + '@smithy/service-error-classification@4.2.12': + resolution: {integrity: sha512-LlP29oSQN0Tw0b6D0Xo6BIikBswuIiGYbRACy5ujw/JgWSzTdYj46U83ssf6Ux0GyNJVivs2uReU8pt7Eu9okQ==} engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@4.4.6': - resolution: {integrity: sha512-IB/M5I8G0EeXZTHsAxpx51tMQ5R719F3aq+fjEB6VtNcCHDc0ajFDIGDZw+FW9GxtEkgTduiPpjveJdA/CX7sw==} + '@smithy/shared-ini-file-loader@4.4.7': + resolution: {integrity: sha512-HrOKWsUb+otTeo1HxVWeEb99t5ER1XrBi/xka2Wv6NVmTbuCUC1dvlrksdvxFtODLBjsC+PHK+fuy2x/7Ynyiw==} engines: {node: '>=18.0.0'} - '@smithy/signature-v4@5.3.11': - resolution: {integrity: sha512-V1L6N9aKOBAN4wEHLyqjLBnAz13mtILU0SeDrjOaIZEeN6IFa6DxwRt1NNpOdmSpQUfkBj0qeD3m6P77uzMhgQ==} + '@smithy/signature-v4@5.3.12': + resolution: {integrity: sha512-B/FBwO3MVOL00DaRSXfXfa/TRXRheagt/q5A2NM13u7q+sHS59EOVGQNfG7DkmVtdQm5m3vOosoKAXSqn/OEgw==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.12.2': - resolution: {integrity: sha512-HezY3UuG0k4T+4xhFKctLXCA5N2oN+Rtv+mmL8Gt7YmsUY2yhmcLyW75qrSzldfj75IsCW/4UhY3s20KcFnZqA==} + '@smithy/smithy-client@4.12.6': + resolution: {integrity: sha512-aib3f0jiMsJ6+cvDnXipBsGDL7ztknYSVqJs1FdN9P+u9tr/VzOR7iygSh6EUOdaBeMCMSh3N0VdyYsG4o91DQ==} engines: {node: '>=18.0.0'} - '@smithy/types@4.13.0': - resolution: {integrity: sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw==} + '@smithy/types@4.13.1': + resolution: {integrity: sha512-787F3yzE2UiJIQ+wYW1CVg2odHjmaWLGksnKQHUrK/lYZSEcy1msuLVvxaR/sI2/aDe9U+TBuLsXnr3vod1g0g==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.2.11': - resolution: {integrity: sha512-oTAGGHo8ZYc5VZsBREzuf5lf2pAurJQsccMusVZ85wDkX66ojEc/XauiGjzCj50A61ObFTPe6d7Pyt6UBYaing==} + '@smithy/url-parser@4.2.12': + resolution: {integrity: sha512-wOPKPEpso+doCZGIlr+e1lVI6+9VAKfL4kZWFgzVgGWY2hZxshNKod4l2LXS3PRC9otH/JRSjtEHqQ/7eLciRA==} engines: {node: '>=18.0.0'} '@smithy/util-base64@4.3.2': @@ -3637,32 +2964,32 @@ packages: resolution: {integrity: sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.3.38': - resolution: {integrity: sha512-c8P1mFLNxcsdAMabB8/VUQUbWzFmgujWi4bAXSggcqLYPc8V4U5abqFqOyn+dK4YT+q8UyCVkTO8807t4t2syA==} + '@smithy/util-defaults-mode-browser@4.3.42': + resolution: {integrity: sha512-0vjwmcvkWAUtikXnWIUOyV6IFHTEeQUYh3JUZcDgcszF+hD/StAsQ3rCZNZEPHgI9kVNcbnyc8P2CBHnwgmcwg==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.2.41': - resolution: {integrity: sha512-/UG+9MT3UZAR0fLzOtMJMfWGcjjHvgggq924x/CRy8vRbL+yFf3Z6vETlvq8vDH92+31P/1gSOFoo7303wN8WQ==} + '@smithy/util-defaults-mode-node@4.2.45': + resolution: {integrity: sha512-q5dOqqfTgUcLe38TAGiFn9srToKj2YCHJ34QGOLzM+xYLLA+qRZv7N+33kl1MERVusue36ZHnlNaNEvY/PzSrw==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.3.2': - resolution: {integrity: sha512-+4HFLpE5u29AbFlTdlKIT7jfOzZ8PDYZKTb3e+AgLz986OYwqTourQ5H+jg79/66DB69Un1+qKecLnkZdAsYcA==} + '@smithy/util-endpoints@3.3.3': + resolution: {integrity: sha512-VACQVe50j0HZPjpwWcjyT51KUQ4AnsvEaQ2lKHOSL4mNLD0G9BjEniQ+yCt1qqfKfiAHRAts26ud7hBjamrwig==} engines: {node: '>=18.0.0'} '@smithy/util-hex-encoding@4.2.2': resolution: {integrity: sha512-Qcz3W5vuHK4sLQdyT93k/rfrUwdJ8/HZ+nMUOyGdpeGA1Wxt65zYwi3oEl9kOM+RswvYq90fzkNDahPS8K0OIg==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.2.11': - resolution: {integrity: sha512-r3dtF9F+TpSZUxpOVVtPfk09Rlo4lT6ORBqEvX3IBT6SkQAdDSVKR5GcfmZbtl7WKhKnmb3wbDTQ6ibR2XHClw==} + '@smithy/util-middleware@4.2.12': + resolution: {integrity: sha512-Er805uFUOvgc0l8nv0e0su0VFISoxhJ/AwOn3gL2NWNY2LUEldP5WtVcRYSQBcjg0y9NfG8JYrCJaYDpupBHJQ==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.2.11': - resolution: {integrity: sha512-XSZULmL5x6aCTTii59wJqKsY1l3eMIAomRAccW7Tzh9r8s7T/7rdo03oektuH5jeYRlJMPcNP92EuRDvk9aXbw==} + '@smithy/util-retry@4.2.12': + resolution: {integrity: sha512-1zopLDUEOwumjcHdJ1mwBHddubYF8GMQvstVCLC54Y46rqoHwlIU+8ZzUeaBcD+WCJHyDGSeZ2ml9YSe9aqcoQ==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.5.17': - resolution: {integrity: sha512-793BYZ4h2JAQkNHcEnyFxDTcZbm9bVybD0UV/LEWmZ5bkTms7JqjfrLMi2Qy0E5WFcCzLwCAPgcvcvxoeALbAQ==} + '@smithy/util-stream@4.5.20': + resolution: {integrity: sha512-4yXLm5n/B5SRBR2p8cZ90Sbv4zL4NKsgxdzCzp/83cXw2KxLEumt5p+GAVyRNZgQOSrzXn9ARpO0lUe8XSlSDw==} engines: {node: '>=18.0.0'} '@smithy/util-uri-escape@4.2.2': @@ -3677,8 +3004,8 @@ packages: resolution: {integrity: sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.2.11': - resolution: {integrity: sha512-x7Rh2azQPs3XxbvCzcttRErKKvLnbZfqRf/gOjw2pb+ZscX88e5UkRPCB67bVnsFHxayvMvmePfKTqsRb+is1A==} + '@smithy/util-waiter@4.2.13': + resolution: {integrity: sha512-2zdZ9DTHngRtcYxJK1GUDxruNr53kv5W2Lupe0LMU+Imr6ohQg8M2T14MNkj1Y0wS3FFwpgpGQyvuaMF7CiTmQ==} engines: {node: '>=18.0.0'} '@smithy/uuid@1.1.2': @@ -3803,10 +3130,10 @@ packages: '@tailwindcss/vite@4.2.1': resolution: {integrity: sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==} peerDependencies: - vite: ^8.0.0-beta.16 + vite: ^8.0.0 - '@tanstack/history@1.161.4': - resolution: {integrity: sha512-Kp/WSt411ZWYvgXy6uiv5RmhHrz9cAml05AQPrtdAp7eUqvIDbMGPnML25OKbzR3RJ1q4wgENxDTvlGPa9+Mww==} + '@tanstack/history@1.161.6': + resolution: {integrity: sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg==} engines: {node: '>=20.19'} '@tanstack/query-core@5.90.20': @@ -3817,8 +3144,8 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-ssr-query@1.166.2': - resolution: {integrity: sha512-ERtz62+94ZF5kY35wlTN0pLL8hY2Enqn/AjauHaeHkvGh8WsN3dQdvPrPqI6urUWwzEjJjkC3fBDsim88HF8rQ==} + '@tanstack/react-router-ssr-query@1.166.9': + resolution: {integrity: sha512-FCszWUvQlJXBkINBmwalD6i25VBPWvzv/dzSgWdFP4JPYf5GHm23rz/PmCDoWevnKJSDjv0rF8EOY2tpCxOIgg==} engines: {node: '>=20.19'} peerDependencies: '@tanstack/query-core': '>=5.90.0' @@ -3827,34 +3154,35 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.166.2': - resolution: {integrity: sha512-pKhUtrvVLlhjWhsHkJSuIzh1J4LcP+8ErbIqRLORX9Js8dUFMKoT0+8oFpi+P8QRpuhm/7rzjYiWfcyTsqQZtA==} + '@tanstack/react-router@1.167.4': + resolution: {integrity: sha512-VpbZh382zX3WF4+X2Z+EUyd8eJhJyjg9C6ByYwrVZiWbhgbMK4+zQQIG2+lCAlIlDi7SV8fDcGL09NA8Z2kpGQ==} engines: {node: '>=20.19'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-client@1.166.2': - resolution: {integrity: sha512-Dlup62M5WV3LrLzLSiK8QTsYcSFKUlBffwP8evBzBAN/A4lDaTJat+EBqUxOYwR8gDVm1GR/H4O+7tg6ur2MBA==} + '@tanstack/react-start-client@1.166.13': + resolution: {integrity: sha512-JLEdkoM+v+sHAmCW7AJ10jHsLBSZWmSOV8xDVAgI2uI5r/VvUd+ZIheupy9YNLSD3mOXN4j+FR8Q3ZS38AwtOg==} engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-server@1.166.2': - resolution: {integrity: sha512-0E7gp/8YFeCa3y65xI0ubyI8IzQjSiWn9D2Uo0r0Izi4/jQkv4Ee+niE4NqPAohY5oyxmcoLhnDqEyo0MqHIpQ==} + '@tanstack/react-start-server@1.166.13': + resolution: {integrity: sha512-a8JIJo3ltcrWmSmeM0XG3lsz2qhUGeVosVjprm2sElr60Cz9XwtzNLG2iofeu1/GcHCeMnI3HcTledWNV7vmSg==} engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start@1.166.2': - resolution: {integrity: sha512-ryeDIITTVmGmOkTrdg4dL4Sl+LXK5w8BZtzLtsr3YxNhQaPwxqX4r69iuBt5M8jyXEsWwbJJdToN3xLr7CO5XQ==} + '@tanstack/react-start@1.166.16': + resolution: {integrity: sha512-WHISr2Y/lr8L8VF8l8VsnpRutd1kElsU1z/58SxbMwIosu9X05KrrDFI+hqONyIygUfVakpYW084U0hw5eapTQ==} engines: {node: '>=22.12.0'} + hasBin: true peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - vite: ^8.0.0-beta.16 + vite: ^8.0.0 '@tanstack/react-store@0.9.1': resolution: {integrity: sha512-YzJLnRvy5lIEFTLWBAZmcOjK3+2AepnBv/sr6NZmiqJvq7zTQggyK99Gw8fqYdMdHPQWXjz0epFKJXC+9V2xDA==} @@ -3862,21 +3190,23 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.166.2': - resolution: {integrity: sha512-zn3NhENOAX9ToQiX077UV2OH3aJKOvV2ZMNZZxZ3gDG3i3WqL8NfWfEgetEAfMN37/Mnt90PpotYgf7IyuoKqQ==} + '@tanstack/router-core@1.167.4': + resolution: {integrity: sha512-Gk5V9Zr5JFJ4SbLyCheQLJ3MnXddccENPA+DJRz+9g3QxtN8DJB8w8KCUCgDeYlWp4LvmO4nX3fy3tupqVP2Pw==} + engines: {node: '>=20.19'} + hasBin: true + + '@tanstack/router-generator@1.166.12': + resolution: {integrity: sha512-2HdxSTbCkbU9JeYogKVigIlXoLtIJE1x5rbEov+ZLTPjGCO9kicNQuljqg9Js+u2/ahtWewNrE5u1QCAyxmpIg==} engines: {node: '>=20.19'} - '@tanstack/router-generator@1.166.2': - resolution: {integrity: sha512-wbvdyP1PKKQKk4aVlGeK9S5uDy8zodTr3tEZ2gRKNavJLusXbEWqtoo42JxHFFNB6dtguehFMt8PyZPAtkgWwQ==} - engines: {node: '>=20.19'} - - '@tanstack/router-plugin@1.166.2': - resolution: {integrity: sha512-TnyV/7//Vp5fR49mmNbOWHGz9IJTm1lqVxzPdtpzg7D5PjkW2HFmLFLtWwpJgz2R7AJJWR4Ge5kIPmC+fVZ6eQ==} + '@tanstack/router-plugin@1.166.13': + resolution: {integrity: sha512-xG3ND3AlMe6DN9PihJAYUbQJevqJvVdzN1QpZbfU1/jkHurL97ynP2yXfmMTh8Qgi1K+SWRko4bi7iZlYP9SUw==} engines: {node: '>=20.19'} + hasBin: true peerDependencies: '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.166.2 - vite: ^8.0.0-beta.16 + '@tanstack/react-router': ^1.167.4 + vite: ^8.0.0 vite-plugin-solid: ^2.11.10 webpack: '>=5.92.0' peerDependenciesMeta: @@ -3891,48 +3221,51 @@ packages: webpack: optional: true - '@tanstack/router-ssr-query-core@1.166.2': - resolution: {integrity: sha512-syzrtCFtCX/TFK0sy/VqwPtRamg3TL/vr8KTbmksERnHzgRYNm+XynEc0BF9u0LZ/m3gkmY+4n2F4//PUjMG2w==} + '@tanstack/router-ssr-query-core@1.166.9': + resolution: {integrity: sha512-7L9Wly0PYMHhCdiGmlSZPOVz0O0OQhmIrE0VH3+ZP4RFfDtOZZSk0TywssLrOWDbkNfLY/MBqlhXi9t50KTGAw==} engines: {node: '>=20.19'} peerDependencies: '@tanstack/query-core': '>=5.90.0' '@tanstack/router-core': '>=1.127.0' - '@tanstack/router-utils@1.161.4': - resolution: {integrity: sha512-r8TpjyIZoqrXXaf2DDyjd44gjGBoyE+/oEaaH68yLI9ySPO1gUWmQENZ1MZnmBnpUGN24NOZxdjDLc8npK0SAw==} + '@tanstack/router-utils@1.161.6': + resolution: {integrity: sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw==} engines: {node: '>=20.19'} - '@tanstack/start-client-core@1.166.2': - resolution: {integrity: sha512-weADfq6bBWgib7Tf7J+P5zF7LHfUm8UuMhijwTfYjaDQ5za04N4PQk5msw2+VchUnSL44aQUA0WeOmoEkG1KMQ==} + '@tanstack/start-client-core@1.166.12': + resolution: {integrity: sha512-E09jnzmoU3yKzrhCvnGqhDzzPDThmiK9wLXS37UhZdmttd0LRc+BeavwWoWNrtTEykIoc3W3l4rA/izRXXDFKw==} + engines: {node: '>=22.12.0'} + hasBin: true + + '@tanstack/start-fn-stubs@1.161.6': + resolution: {integrity: sha512-Y6QSlGiLga8cHfvxGGaonXIlt2bIUTVdH6AMjmpMp7+ANNCp+N96GQbjjhLye3JkaxDfP68x5iZA8NK4imgRig==} engines: {node: '>=22.12.0'} - '@tanstack/start-fn-stubs@1.161.4': - resolution: {integrity: sha512-b8s6iSQ+ny0P4lGK0n3DKaL6EI7SECG0/89svDeYieVw2+MaFOJVcQo3rU3BUvmuOcIkgkE5IhdzkmzPXH6yfA==} - engines: {node: '>=22.12.0'} - - '@tanstack/start-plugin-core@1.166.2': - resolution: {integrity: sha512-geJE4Y/IQ3ZDRB/AahCoUuLliK4bYREcWVF1ViJfD1qCjsQlXMhDSruvswiMWMTxKfMuzX/XuIJWhmtndxymjQ==} + '@tanstack/start-plugin-core@1.167.0': + resolution: {integrity: sha512-6kJmojXjGE7rIhEnnVmk/uPAHHY469OWMRZeHm9bDk9oxm6toIoT0a7M/rqeqC2elg+J20b2rWSVERd63M1hqA==} engines: {node: '>=22.12.0'} peerDependencies: - vite: ^8.0.0-beta.16 + vite: ^8.0.0 - '@tanstack/start-server-core@1.166.2': - resolution: {integrity: sha512-9BDZsaLyHVux5tJRRBRYa2xW2jUaKr4PbJkTCSSOnAByOGUVJy7N+790/Q1Kq/LVud+0h42vZHWSRDDywfnedQ==} + '@tanstack/start-server-core@1.166.12': + resolution: {integrity: sha512-DVONJRVegeO1FMQYWRWlIc17zq3nbjixBq/uTv01K+iy3CnV9rjvqF5Df2ifvuHB6sNLFNhX7Mic7CFGfQLktQ==} engines: {node: '>=22.12.0'} + hasBin: true - '@tanstack/start-storage-context@1.166.2': - resolution: {integrity: sha512-c3QPApFAhiDXDZ/zLvop5InErqCrawWuO751FpItGnelOlpOAPMw5/h//1u/RnIcOv2l/ffDBCbp+N09eFPhaA==} + '@tanstack/start-storage-context@1.166.12': + resolution: {integrity: sha512-5MJfWpGoCbblYiOEA+5WS84cDYMPUGp+q29g5LttHsNJ5PsjiO7Lyw/zwp3rJJiMUI1QM2KCQ1d03XrSUmla3Q==} engines: {node: '>=22.12.0'} '@tanstack/store@0.9.1': resolution: {integrity: sha512-+qcNkOy0N1qSGsP7omVCW0SDrXtaDcycPqBDE726yryiA5eTDFpjBReaYjghVJwNf1pcPMyzIwTGlYjCSQR0Fg==} - '@tanstack/virtual-file-routes@1.161.4': - resolution: {integrity: sha512-42WoRePf8v690qG8yGRe/YOh+oHni9vUaUUfoqlS91U2scd3a5rkLtVsc6b7z60w3RogH0I00vdrC5AaeiZ18w==} + '@tanstack/virtual-file-routes@1.161.7': + resolution: {integrity: sha512-olW33+Cn+bsCsZKPwEGhlkqS6w3M2slFv11JIobdnCFKMLG97oAI2kWKdx5/zsywTL8flpnoIgaZZPlQTFYhdQ==} engines: {node: '>=20.19'} + hasBin: true - '@tanstack/zod-adapter@1.166.2': - resolution: {integrity: sha512-Y+i8emDGJ7dhgazagzECeoG6EO3kFkgNOYqUXuimM1qg/luYs225bb4SbrbLiusPWr3DFEdSmW8wkLDV+kpzLA==} + '@tanstack/zod-adapter@1.166.9': + resolution: {integrity: sha512-HHllQ/CKGi8YBbftv6OmzojtHM6Rk4UszAFICAgUMbwiqtKqjlIZQ/7mv2IPNxBb8YlOQgzyQ4jz2UTEXIi6YA==} engines: {node: '>=20.19'} peerDependencies: '@tanstack/react-router': '>=1.43.2' @@ -3941,174 +3274,177 @@ packages: '@tediousjs/connection-string@0.5.0': resolution: {integrity: sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==} - '@tiptap/core@3.20.1': - resolution: {integrity: sha512-SwkPEWIfaDEZjC8SEIi4kZjqIYUbRgLUHUuQezo5GbphUNC8kM1pi3C3EtoOPtxXrEbY6e4pWEzW54Pcrd+rVA==} + '@tiptap/core@3.20.4': + resolution: {integrity: sha512-3i/DG89TFY/b34T5P+j35UcjYuB5d3+9K8u6qID+iUqNPiza015HPIZLuPfE5elNwVdV3EXIoPo0LLeBLgXXAg==} peerDependencies: - '@tiptap/pm': ^3.20.1 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-blockquote@3.20.1': - resolution: {integrity: sha512-WzNXk/63PQI2fav4Ta6P0GmYRyu8Gap1pV3VUqaVK829iJ6Zt1T21xayATHEHWMK27VT1GLPJkx9Ycr2jfDyQw==} + '@tiptap/extension-blockquote@3.20.4': + resolution: {integrity: sha512-9sskyyhYj2oKat//lyZVXCp9YrPt4oJAZnGHYWXS0xlskjsLElrfKKlM4vpbhGss3VrhQRoEGqWLnIaJYPF1zw==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-bold@3.20.1': - resolution: {integrity: sha512-fz++Qv6Rk/Hov0IYG/r7TJ1Y4zWkuGONe0UN5g0KY32NIMg3HeOHicbi4xsNWTm9uAOl3eawWDkezEMrleObMw==} + '@tiptap/extension-bold@3.20.4': + resolution: {integrity: sha512-Md7/mNAeJCY+VLJc8JRGI+8XkVPKiOGB1NgqQPdh3aYtxXQDChQOZoJEQl6TuudDxZ85bLZB67NjZlx3jo8/0g==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-bubble-menu@3.20.1': - resolution: {integrity: sha512-XaPvO6aCoWdFnCBus0s88lnj17NR/OopV79i8Qhgz3WMR0vrsL5zsd45l0lZuu9pSvm5VW47SoxakkJiZC1suw==} + '@tiptap/extension-bubble-menu@3.20.4': + resolution: {integrity: sha512-EXywPlI8wjPcAb8ozymgVhjtMjFrnhtoyNTy8ZcObdpUi5CdO9j892Y7aPbKe5hLhlDpvJk7rMfir4FFKEmfng==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-bullet-list@3.20.1': - resolution: {integrity: sha512-mbrlvOZo5OF3vLhp+3fk9KuL/6J/wsN0QxF6ZFRAHzQ9NkJdtdfARcBeBnkWXGN8inB6YxbTGY1/E4lmBkOpOw==} + '@tiptap/extension-bullet-list@3.20.4': + resolution: {integrity: sha512-1RTGrur1EKoxfnLZ3M6xeNj8GITAz74jH2DHGcjLsd2Xr7Q7BozGaIq6GkkvKguMwbI1zCOxTHFCpUETXAIQQA==} peerDependencies: - '@tiptap/extension-list': ^3.20.1 + '@tiptap/extension-list': ^3.20.4 - '@tiptap/extension-code-block@3.20.1': - resolution: {integrity: sha512-vKejwBq+Nlj4Ybd3qOyDxIQKzYymdNH+8eXkKwGShk2nfLJIxq69DCyGvmuHgipIO1qcYPJ149UNpGN+YGcdmA==} + '@tiptap/extension-code-block@3.20.4': + resolution: {integrity: sha512-Zlw3FrXTy01+o1yISeX/LC+iJeHA+ym602bMXGmtA6lyl7QSOSO7WExweJ6xeJGhbCjldwT5al6fkRAs8iGJZg==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-code@3.20.1': - resolution: {integrity: sha512-509DHINIA/Gg+eTG7TEkfsS8RUiPLH5xZNyLRT0A1oaoaJmECKfrV6aAm05IdfTyqDqz6LW5pbnX6DdUC4keug==} + '@tiptap/extension-code@3.20.4': + resolution: {integrity: sha512-7j8Hi964bH1SZ9oLdZC1fkqWz27mliSDV7M8lmL/M14+Qw42D/VOAKS4Aw9OCFtHMlTsjLR6qsoVxL8Lpkt6NA==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-document@3.20.1': - resolution: {integrity: sha512-9vrqdGmRV7bQCSY3NLgu7UhIwgOCDp4sKqMNsoNRX0aZ021QQMTvBQDPkiRkCf7MNsnWrNNnr52PVnULEn3vFQ==} + '@tiptap/extension-document@3.20.4': + resolution: {integrity: sha512-zF1CIFVLt8MfSpWWnPwtGyxPOsT0xYM2qJKcXf2yZcTG37wDKmUi6heG53vGigIavbQlLaAFvs+1mNdOu2x/0A==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-dropcursor@3.20.1': - resolution: {integrity: sha512-K18L9FX4znn+ViPSIbTLOGcIaXMx/gLNwAPE8wPLwswbHhQqdiY1zzdBw6drgOc1Hicvebo2dIoUlSXOZsOEcw==} + '@tiptap/extension-dropcursor@3.20.4': + resolution: {integrity: sha512-TgMwvZ8myXYdmd6bUV7qkpZXv7ZUiSmX/8eo+iPEzYo2CnDLAGvDKgC50nfq/g87SDvfBgPuAiBfFvsMQQWaTw==} peerDependencies: - '@tiptap/extensions': ^3.20.1 + '@tiptap/extensions': ^3.20.4 - '@tiptap/extension-floating-menu@3.20.1': - resolution: {integrity: sha512-BeDC6nfOesIMn5pFuUnkEjOxGv80sOJ8uk1mdt9/3Fkvra8cB9NIYYCVtd6PU8oQFmJ8vFqPrRkUWrG5tbqnOg==} + '@tiptap/extension-floating-menu@3.20.4': + resolution: {integrity: sha512-AaPTFhoO8DBIElJyd/RTVJjkctvJuL+GHURX0npbtTxXq5HXbebVwf2ARNR7jMd/GThsmBaNJiGxZg4A2oeDqQ==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-gapcursor@3.20.1': - resolution: {integrity: sha512-kZOtttV6Ai8VUAgEng3h4WKFbtdSNJ6ps7r0cRPY+FctWhVmgNb/JJwwyC+vSilR7nRENAhrA/Cv/RxVlvLw+g==} + '@tiptap/extension-gapcursor@3.20.4': + resolution: {integrity: sha512-JJ6f1iQ1e0s4kISgq55U3UYGwWV/N9f0PYMtB6e3L+SBQjXnywaLK0g6vfN6IvTCC2vdIuqeSOX8VlSO97sJLw==} peerDependencies: - '@tiptap/extensions': ^3.20.1 + '@tiptap/extensions': ^3.20.4 - '@tiptap/extension-hard-break@3.20.1': - resolution: {integrity: sha512-9sKpmg/IIdlLXimYWUZ3PplIRcehv4Oc7V1miTqlnAthMzjMqigDkjjgte4JZV67RdnDJTQkRw8TklCAU28Emg==} + '@tiptap/extension-hard-break@3.20.4': + resolution: {integrity: sha512-gJbq58d8zB1gzyqVEopowej5CpW4/Fpg6oGJvlZxaCukqd0gJRWGC89K+jE62YA1Td4sfcKrekKvN7jm2y/ZUg==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-heading@3.20.1': - resolution: {integrity: sha512-unudyfQP6FxnyWinxvPqe/51DG91J6AaJm666RnAubgYMCgym+33kBftx4j4A6qf+ddWYbD00thMNKOnVLjAEQ==} + '@tiptap/extension-heading@3.20.4': + resolution: {integrity: sha512-xsnkmTGggJc5P2iCwS1lv8KFG31xC/GNPJKoi/3UH67j/lKDhA3AdtshsLeyv2FKtTtYDb8oV0IqzHB1MM6a7w==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-highlight@3.20.1': - resolution: {integrity: sha512-Ufv1eNsQBR7NNSxQIvHaI9Bm3/MS8GW9uCXR/20WJ2r0GhDA6vwnS5MHAhP5JUXK6KOsd0Rvz2cfvYB7f3okbQ==} + '@tiptap/extension-highlight@3.20.4': + resolution: {integrity: sha512-CyTVPorVWwE4v89+k1nmaoAvjXLo7/fYWBsYlHW6b9Y1Un0iLANgKMFmmuapyfpaqpvg7V0Eg5ElG9U9+rogVA==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-horizontal-rule@3.20.1': - resolution: {integrity: sha512-rjFKFXNntdl0jay8oIGFvvykHlpyQTLmrH3Ag2fj3i8yh6MVvqhtaDomYQbw5sxECd5hBkL+T4n2d2DRuVw/QQ==} + '@tiptap/extension-horizontal-rule@3.20.4': + resolution: {integrity: sha512-y6joCi49haAA0bo3EGUY+dWUMHH1GPUc84hxrBY/0pMs+Bn+kQ1+DQJErZDTWGJrlHPWU/yekBZT72SNdp0DNA==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-italic@3.20.1': - resolution: {integrity: sha512-ZYRX13Kt8tR8JOzSXirH3pRpi8x30o7LHxZY58uXBdUvr3tFzOkh03qbN523+diidSVeHP/aMd/+IrplHRkQug==} + '@tiptap/extension-italic@3.20.4': + resolution: {integrity: sha512-4ZqiWr7cmqPFux8tj1ZLiYytyWf343IvQemNX6AvVWvscrJcrfj3YX4Le2BA0RW3A3M6RpLQXXozuF8vxYFDeQ==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-link@3.20.1': - resolution: {integrity: sha512-oYTTIgsQMqpkSnJAuAc+UtIKMuI4lv9e1y4LfI1iYm6NkEUHhONppU59smhxHLzb3Ww7YpDffbp5IgDTAiJztA==} + '@tiptap/extension-link@3.20.4': + resolution: {integrity: sha512-JNDSkWrVdb8NSvbQXwHWvK5tCMbTWwOHFOweknQZ1JPK4dei9FJVofYQaHyW4bJBdcCjds3NZSnXE8DM9iAWmg==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-list-item@3.20.1': - resolution: {integrity: sha512-tzgnyTW82lYJkUnadYbatwkI9dLz/OWRSWuFpQPRje/ItmFMWuQ9c9NDD8qLbXPdEYnvrgSAA+ipCD/1G0qA0Q==} + '@tiptap/extension-list-item@3.20.4': + resolution: {integrity: sha512-QoTc5RACXaZF+vIIBBxjGO7D0oWFUDgBKJCpvUZ0CoGGKosnfe4a9I5THFyLj4201cf0oUqgf1oZhTqETGxlVw==} peerDependencies: - '@tiptap/extension-list': ^3.20.1 + '@tiptap/extension-list': ^3.20.4 - '@tiptap/extension-list-keymap@3.20.1': - resolution: {integrity: sha512-Dr0xsQKx0XPOgDg7xqoWwfv7FFwZ3WeF3eOjqh3rDXlNHMj1v+UW5cj1HLphrsAZHTrVTn2C+VWPJkMZrSbpvQ==} + '@tiptap/extension-list-keymap@3.20.4': + resolution: {integrity: sha512-RIqXM649+8IP7p/KVfaGlJiwjCylm1m6OPlaoM3K8O7oEOGRQzNeexexECCD2jsXRxew4E+vBNMD2orXqJmu8A==} peerDependencies: - '@tiptap/extension-list': ^3.20.1 + '@tiptap/extension-list': ^3.20.4 - '@tiptap/extension-list@3.20.1': - resolution: {integrity: sha512-euBRAn0mkV7R2VEE+AuOt3R0j9RHEMFXamPFmtvTo8IInxDClusrm6mJoDjS8gCGAXsQCRiAe1SCQBPgGbOOwg==} + '@tiptap/extension-list@3.20.4': + resolution: {integrity: sha512-X+5plTKhOioNcQ4KsAFJJSb/3+zR8Xhdpow4HzXtoV1KcbdDey1fhZdpsfkbrzCL0s6/wAgwZuAchCK7HujurQ==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-ordered-list@3.20.1': - resolution: {integrity: sha512-Y+3Ad7OwAdagqdYwCnbqf7/to5ypD4NnUNHA0TXRCs7cAHRA8AdgPoIcGFpaaSpV86oosNU3yfeJouYeroffog==} + '@tiptap/extension-ordered-list@3.20.4': + resolution: {integrity: sha512-3budNL8BgBon3TcXZ4hjT0YpFvx1Ka3uSIECKDxHgES+OQcR+6cagxSb60gFEccf3Dr0PIwcVTY6g14lC1qKRQ==} peerDependencies: - '@tiptap/extension-list': ^3.20.1 + '@tiptap/extension-list': ^3.20.4 - '@tiptap/extension-paragraph@3.20.1': - resolution: {integrity: sha512-QFrAtXNyv7JSnomMQc1nx5AnG9mMznfbYJAbdOQYVdbLtAzTfiTuNPNbQrufy5ZGtGaHxDCoaygu2QEfzaKG+Q==} + '@tiptap/extension-paragraph@3.20.4': + resolution: {integrity: sha512-lm6fOScWuZAF/Sfp97igUwFd3L1QHIVLAWP5NVdh0DTLrEIt4rMBmsww+yOpMQRhvz2uTgMbMXynrimhzi/QVw==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-strike@3.20.1': - resolution: {integrity: sha512-EYgyma10lpsY+rwbVQL9u+gA7hBlKLSMFH7Zgd37FSxukOjr+HE8iKPQQ+SwbGejyDsPlLT8Z5Jnuxo5Ng90Pg==} + '@tiptap/extension-strike@3.20.4': + resolution: {integrity: sha512-It1Px9uDGTsVqyyg6cy7DigLoenljpQwqdI0jssM7QclZrHnsrye9fZxBBiiuCzzV1305MxKgHvratkHwqmVNA==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-table@3.20.1': - resolution: {integrity: sha512-y2o1De3P/FH80nst1D9pYSwtRvxF87WkNAYGurqCkZ6SjwFq1Ifeh9eY+o79R6SCwcfpvQRytCYd+Yw9o5XAtA==} + '@tiptap/extension-table@3.20.4': + resolution: {integrity: sha512-vEHXRL9k9G02pp3P+DyUnN4YRaRAHGfTBC6gck0s9TpsCM9NIchL0qI1fb/u46Bu6UaoMMk58DGr7xaJ29g7KQ==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/extension-text-align@3.20.1': - resolution: {integrity: sha512-9816EFiTO7BvACGomYNI0pZIu5EOBVHrgqO33+sFjseQCvq+5FD6OPNLdHSkPzAmRrE0LUBvFZ93sjO4N+kJPg==} + '@tiptap/extension-text-align@3.20.4': + resolution: {integrity: sha512-6ZuRyClIyCimXu+S5LQ54DueEsYg5VOVOmubOVbG+WAjM9svn9Z8gv2sNDah2yEqXrX06B02zYcSyMiD7CHbfA==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-text@3.20.1': - resolution: {integrity: sha512-7PlIbYW8UenV6NPOXHmv8IcmPGlGx6HFq66RmkJAOJRPXPkTLAiX0N8rQtzUJ6jDEHqoJpaHFEHJw0xzW1yF+A==} + '@tiptap/extension-text@3.20.4': + resolution: {integrity: sha512-jchJcBZixDEO2J66Zx5dchsI2mA6IYsROqF8P1poxL4ienH7RVQRCTsBNnSfIeOtREKKWeOU/tEs5fcpvvGwIQ==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extension-underline@3.20.1': - resolution: {integrity: sha512-fmHvDKzwCgnZUwRreq8tYkb1YyEwgzZ6QQkAQ0CsCRtvRMqzerr3Duz0Als4i8voZTuGDEL3VR6nAJbLAb/wPg==} + '@tiptap/extension-underline@3.20.4': + resolution: {integrity: sha512-0OjMc3FDujX16G+jhvqcY/mLot8SrNtDu8ggUwNLAfiI/QIvMVgk7giFD71DATC/4Nb8i/iwAEegTD8MxBIXCg==} peerDependencies: - '@tiptap/core': ^3.20.1 + '@tiptap/core': ^3.20.4 - '@tiptap/extensions@3.20.1': - resolution: {integrity: sha512-JRc/v+OBH0qLTdvQ7HvHWTxGJH73QOf1MC0R8NhOX2QnAbg2mPFv1h+FjGa2gfLGuCXBdWQomjekWkUKbC4e5A==} + '@tiptap/extensions@3.20.4': + resolution: {integrity: sha512-8p6hVT65DjuQjtEdlH6ewX9SOJHlVQAOee3sWIJQmeJNRnZNvqPIBLleebUqDiljNTpxBv6s6QWkSTKgf3btwg==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 - '@tiptap/pm@3.20.1': - resolution: {integrity: sha512-6kCiGLvpES4AxcEuOhb7HR7/xIeJWMjZlb6J7e8zpiIh5BoQc7NoRdctsnmFEjZvC19bIasccshHQ7H2zchWqw==} + '@tiptap/pm@3.20.4': + resolution: {integrity: sha512-rCHYSBToilBEuI6PtjziHDdRkABH/XqwJ7dG4Amn/SD3yGiZKYCiEApQlTUS2zZeo8DsLeuqqqB4vEOeD4OEPg==} - '@tiptap/react@3.20.1': - resolution: {integrity: sha512-UH1NpVpCaZBGB3Yr5N6aTS+rsCMDl9wHfrt/w+6+Gz4KHFZ2OILA82hELxZzhNc1Lmjz8vgCArKcsYql9gbzJA==} + '@tiptap/react@3.20.4': + resolution: {integrity: sha512-1B8iWsHWwb5TeyVaUs8BRPzwWo4PsLQcl03urHaz0zTJ8DauopqvxzV3+lem1OkzRHn7wnrapDvwmIGoROCaQw==} peerDependencies: - '@tiptap/core': ^3.20.1 - '@tiptap/pm': ^3.20.1 + '@tiptap/core': ^3.20.4 + '@tiptap/pm': ^3.20.4 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.20.1': - resolution: {integrity: sha512-opqWxL/4OTEiqmVC0wsU4o3JhAf6LycJ2G/gRIZVAIFLljI9uHfpPMTFGxZ5w9IVVJaP5PJysfwW/635kKqkrw==} + '@tiptap/starter-kit@3.20.4': + resolution: {integrity: sha512-WcyK6hsTl8eBsQhQ+d9Sq8fYZKOYdL+D45MyH3hz583elXqJlW3h3JPFYb0o87gddGxn8Mm57OA/gA1zEdeDMw==} '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@ts-morph/common@0.27.0': + resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} @@ -4157,8 +3493,8 @@ packages: '@types/mssql@9.1.9': resolution: {integrity: sha512-P0nCgw6vzY23UxZMnbI4N7fnLGANt4LI4yvxze1paPj+LuN28cFv5EI+QidP8udnId/BKhkcRhm/BleNsjK65A==} - '@types/node@25.3.5': - resolution: {integrity: sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==} + '@types/node@25.5.0': + resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} '@types/nodemailer@7.0.11': resolution: {integrity: sha512-E+U4RzR2dKrx+u3N4DlsmLaDC6mMZOM/TPROxA0UAPiTgI0y4CEFBmZE+coGWTjakDriRsXG368lNk1u9Q0a2g==} @@ -4183,12 +3519,18 @@ packages: '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/statuses@2.0.6': + resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} '@types/use-sync-external-store@0.0.6': resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + '@types/validate-npm-package-name@4.0.2': + resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} + '@types/webidl-conversions@7.0.3': resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==} @@ -4204,19 +3546,109 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-E63cwlaAKeOXGcSaTcuVKdfGQJoms/vSMZH8lYsvxU6el3X96LdbXVcAIqbqwDfPJt7rQ6gw/OOGO45BlTlxSw==} + cpu: [arm64] + os: [darwin] + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-cy9kmUiwJmANoz1tOc22HYXqyz92tvNrI9eP/q8LAa5LGega5OlTqAbuSiEc4C9OUL/4EvCJuIYmOk5PFME0tQ==} + cpu: [x64] + os: [darwin] + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-YeRI5O4z5H7JgBCb2tTaZSEEEpojjBxac5DQ1NEm3wwjSSWhHadCaq/mDLq8yWDQo9JK0Yuj3Vb0NK3/P7F9Sw==} + cpu: [arm64] + os: [linux] + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-Q6vKYOej5FoPfYzvNsUdeE4GWWKxUg9wzo2fJxgV50ZQeITEDvSpG1PxS1019kFbe3KSAoIIzSmhP/4EIie7Kg==} + cpu: [arm] + os: [linux] + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-PJN4JbWrVeJ8WyWbRWVdyUHUUSL9zKqywwroXdqIDgxUO2B09bSUCCs9DFJNHXQ5NqWND/WeVPgpYfnQ95S21Q==} + cpu: [x64] + os: [linux] + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-Obv+ZTK0NVfv1E/KlTz7G5EyPbE8zNA1qeT59CyoWHl0Mi2iq3njs5dRIfcRbgGDZkSI8wJ+4C4JGfUyZZGZkA==} + cpu: [arm64] + os: [win32] + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-Trt8E1nphVXaicVcXpsyiVArT6Zf+blhqGP/MPx9YEBlp1nuzxFpu1kj7A75r+6js4vIdoKieK215Q4J358qUw==} + cpu: [x64] + os: [win32] + + '@typescript/native-preview@7.0.0-dev.20260317.1': + resolution: {integrity: sha512-HmYNuhDoN9OHfsSHuSRvYJobHAHDVubLvSGSrjfNL6C34fVlPkPDi+iA53LcN1pVX5J30kajcKC7Snm13xmuKA==} + hasBin: true + '@typespec/ts-http-runtime@0.3.3': resolution: {integrity: sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==} engines: {node: '>=20.0.0'} + '@uiw/color-convert@2.9.6': + resolution: {integrity: sha512-w8TpU3MRcquurQJxWR1daKcRygu/a0hLP/VGsLMA3ebb41sAZGxMQLHtS+zC/e3ciFNB7BbPrSPlzOcz6w6cRg==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + + '@uiw/react-color-alpha@2.9.6': + resolution: {integrity: sha512-DNzEVHZ0Izp4NAwzKqTcl4rLdPjSFjyZCP6Q2vKJEglugZ/bdPsmZaos9IYOrgnd1kPDmTSKZ/p8nI7vBIATGw==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@uiw/react-color-colorful@2.9.6': + resolution: {integrity: sha512-h74zo+ve9Rpv7xwb1dRfoa23yN39b6eYScDIm7V2d5FzkXN6hR7jnnJ7ZUD9Joz/rdaCz1eFQD9ig+wp8+wSnQ==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@uiw/react-color-hue@2.9.6': + resolution: {integrity: sha512-B99dW2/AHMD3py83BrXl94bhXeGCZR1FMpU/FNbIIbUrV9QTiIXDs2/SB/tMD9ltcSP59RD5Sc5m2vCb/8anjw==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@uiw/react-color-saturation@2.9.6': + resolution: {integrity: sha512-R1tiKbTG2WiJXerkmuaKnBFfzgyZUn08q9OjQSvNH1f3ov2/YeUVlOwQY9MbQE7ytZv+9x+1h0Lpk4QG7AdulQ==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@uiw/react-drag-event-interactive@2.9.6': + resolution: {integrity: sha512-jXzt3Xis/BIYap2Hj2++gB3aEUD0mZoVNGfckurrwjAwxasxNiwkmTGxV5er3due0ZgaVKdOAfTRoYKlgZukSg==} + peerDependencies: + '@babel/runtime': '>=7.19.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' + '@vercel/oidc@3.1.0': resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} engines: {node: '>= 20'} - '@vitejs/plugin-react@5.1.4': - resolution: {integrity: sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==} + '@vitejs/plugin-react@6.0.1': + resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^8.0.0-beta.16 + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + + '@xmldom/is-dom-node@1.0.1': + resolution: {integrity: sha512-CJDxIgE5I0FH+ttq/Fxy6nRpxP70+e2O048EPe85J2use3XKdatVM7dDVvFNjQudd9B49NPoZ+8PG49zj4Er8Q==} + engines: {node: '>= 16'} '@xmldom/xmldom@0.8.11': resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} @@ -4243,11 +3675,11 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ai-sdk-ollama@3.8.0: - resolution: {integrity: sha512-Nlla8FpK8QFMNh9m8sPCZoNqnr+n+Ud0QTqpXNds4j/b/lbVZGaji13ZcRuuFvBwPwd4xnFkNrijJzi70Ih1Tg==} + ai-sdk-ollama@3.8.1: + resolution: {integrity: sha512-DeNG88t3Knsu0AFNU8qe20tp82W+9yczgjduSltIEFWvo2mKuR3MeUNjg5/iGz2IBOkYKnni8pDoI19OxOCN/Q==} engines: {node: '>=22'} peerDependencies: - ai: ^6.0.89 + ai: ^6.0.116 ai@6.0.116: resolution: {integrity: sha512-7yM+cTmyRLeNIXwt4Vj+mrrJgVQ9RMIW5WO0ydoLoYkewIvsMcvUmqS4j2RJTUXaF1HphwmSKUMQ/HypNRGOmA==} @@ -4270,6 +3702,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -4286,9 +3722,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -4304,6 +3737,9 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -4419,8 +3855,8 @@ packages: resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==} engines: {node: '>= 18'} - better-auth@1.5.4: - resolution: {integrity: sha512-ReykcEKx6Kp9560jG1wtlDBnftA7L7xb3ZZdDWm5yGXKKe2pUf+oBjH0fqekrkRII0m4XBVQbQ0mOrFv+3FdYg==} + better-auth@1.5.5: + resolution: {integrity: sha512-GpVPaV1eqr3mOovKfghJXXk6QvlcVeFbS3z+n+FPDid5rK/2PchnDtiaVCzWyXA9jH2KkirOfl+JhAUvnja0Eg==} peerDependencies: '@lynx-js/react': '*' '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -4489,6 +3925,14 @@ packages: zod: optional: true + better-call@1.3.4: + resolution: {integrity: sha512-ZhY7Wy1usw/YpanMBsvY+cCsdTa6k96iuetRrndvgpFSjl3Bfdqa6DxC6XJf4lzRYqxxtpJiCTjbBkHdSI7hOQ==} + peerDependencies: + zod: ^4.0.0 + peerDependenciesMeta: + zod: + optional: true + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -4499,9 +3943,6 @@ packages: bl@6.1.6: resolution: {integrity: sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg==} - bluebird@3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - body-parser@2.2.2: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} engines: {node: '>=18'} @@ -4584,6 +4025,10 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + camelcase@9.0.0: + resolution: {integrity: sha512-TO9xmyXTZ9HUHI8M1OnvExxYB0eYVS/1e5s7IDMTAoIcwUd+aNcFODs6Xk83mobk0velyHFQgA1yIrvYc6wclw==} + engines: {node: '>=20'} + caniuse-lite@1.0.30001776: resolution: {integrity: sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw==} @@ -4591,6 +4036,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -4635,6 +4084,10 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -4643,6 +4096,10 @@ packages: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -4661,6 +4118,9 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc + code-block-writer@13.0.3: + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -4680,6 +4140,10 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -4723,9 +4187,6 @@ packages: core-js-compat@3.48.0: resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cors@2.8.6: resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} @@ -4743,6 +4204,15 @@ packages: typescript: optional: true + cosmiconfig@9.0.1: + resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} @@ -4769,9 +4239,18 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} @@ -4823,6 +4302,14 @@ packages: supports-color: optional: true + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deepmerge-ts@7.1.5: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} @@ -4890,9 +4377,6 @@ packages: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} - dingbat-to-unicode@1.0.1: - resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -4906,9 +4390,8 @@ packages: dompurify@3.2.7: resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} - dompurify@3.3.2: - resolution: {integrity: sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==} - engines: {node: '>=20'} + dompurify@3.3.3: + resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==} domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -4917,12 +4400,16 @@ packages: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} - drizzle-kit@1.0.0-beta.16-ea816b6: - resolution: {integrity: sha512-GiJQqCNPZP8Kk+i7/sFa3rtXbq26tLDNi3LbMx9aoLuwF2ofk8CS7cySUGdI+r4J3q0a568quC8FZeaFTCw4IA==} + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + engines: {node: '>=12'} + + drizzle-kit@1.0.0-beta.18-7eb39f0: + resolution: {integrity: sha512-F3ozFBjlUr/VWHR0NIz06jM9cKmfFafoXnCDhKvwjhH91hRK/l6sxIjiDOwMxjGuoJH+/p9W8DE6juoGvn7kXA==} hasBin: true - drizzle-orm@1.0.0-beta.16-ea816b6: - resolution: {integrity: sha512-k9gT4f0O9Qvah5YK/zL+FZonQ8TPyVxcG/ojN4dzO0fHP8hs8tBno8lqmJo53g0JLWv3Q2nsTUoyBRKM2TljFw==} + drizzle-orm@1.0.0-beta.18-7eb39f0: + resolution: {integrity: sha512-piQ+esfm3krAiwXw3d8U559VdBjzA178jqazAkb0tSo7lJPZUL4SbB5uqg77ZUuCvY37hJuQ/o/gQoMX4m0E6Q==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' @@ -4935,7 +4422,6 @@ packages: '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1.13' - '@prisma/client': '*' '@sinclair/typebox': '>=0.34.8' '@sqlitecloud/drivers': '>=1.0.653' '@tidbcloud/serverless': '*' @@ -4958,7 +4444,6 @@ packages: mysql2: '>=2' pg: '>=8' postgres: '>=3' - prisma: '*' sql.js: '>=1' sqlite3: '>=5' typebox: '>=1.0.0' @@ -4987,8 +4472,6 @@ packages: optional: true '@planetscale/database': optional: true - '@prisma/client': - optional: true '@sinclair/typebox': optional: true '@sqlitecloud/drivers': @@ -5029,8 +4512,6 @@ packages: optional: true postgres: optional: true - prisma: - optional: true sql.js: optional: true sqlite3: @@ -5048,9 +4529,6 @@ packages: drizzle-orm: '>=0.36.0' zod: ^3.25.0 || ^4.0.0 - duck@0.1.12: - resolution: {integrity: sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -5058,6 +4536,10 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + eciesjs@0.4.18: + resolution: {integrity: sha512-wG99Zcfcys9fZux7Cft8BAX/YrOJLJSZ3jyYPfhZHqN2E+Ffx+QXBDsv3gubEgPtV6dTzJMSQUwk1H98/t/0wQ==} + engines: {bun: '>=1', deno: '>=2', node: '>=16'} + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -5072,6 +4554,9 @@ packages: electron-to-chromium@1.5.307: resolution: {integrity: sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5109,6 +4594,15 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + env-runner@0.1.6: + resolution: {integrity: sha512-fSb7X1zdda8k6611a6/SdSQpDe7a/bqMz2UWdbHjk9YWzpUR4/fn9YtE/hqgGQ2nhvVN0zUtcL1SRMKwIsDbAA==} + hasBin: true + peerDependencies: + miniflare: ^4.0.0 + peerDependenciesMeta: + miniflare: + optional: true + error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} @@ -5215,6 +4709,14 @@ packages: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} + exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} @@ -5288,6 +4790,14 @@ packages: picomatch: optional: true + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + filelist@1.0.6: resolution: {integrity: sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==} @@ -5312,12 +4822,16 @@ packages: engines: {node: '>=18.3.0'} hasBin: true + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.35.0: - resolution: {integrity: sha512-w8hghCMQ4oq10j6aZh3U2yeEQv5K69O/seDI/41PK4HtgkLrcBovUNc0ayBC3UyyU7V1mrY2yLzvYdWJX9pGZQ==} + framer-motion@12.38.0: + resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -5334,6 +4848,10 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} + fs-extra@11.3.4: + resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + engines: {node: '>=14.14'} + fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -5361,6 +4879,9 @@ packages: resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==} engines: {node: '>=10'} + fuzzysort@3.1.0: + resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} + generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} @@ -5376,6 +4897,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + engines: {node: '>=18'} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -5384,6 +4909,10 @@ packages: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} + get-own-enumerable-keys@1.0.0: + resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} + engines: {node: '>=14.16'} + get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} @@ -5398,6 +4927,14 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -5444,8 +4981,12 @@ packages: graphmatch@1.1.1: resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} - h3@2.0.1-rc.14: - resolution: {integrity: sha512-163qbGmTr/9rqQRNuqMqtgXnOUAkE4KTdauiC9y0E5iG1I65kte9NyfWvZw5RTDMt6eY+DtyoNzrQ9wA2BfvGQ==} + graphql@16.13.1: + resolution: {integrity: sha512-gGgrVCoDKlIZ8fIqXBBb0pPKqDgki0Z/FSKNiQzSGj2uEYHr1tq5wmBegGwJx6QB5S5cM0khSBpi/JFHMCvsmQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + + h3@2.0.1-rc.16: + resolution: {integrity: sha512-h+pjvyujdo9way8qj6FUbhaQcHlR8FEq65EhTX9ViT5pK8aLj68uFl4hBkF+hsTJAH+H1END2Yv6hTIsabGfag==} engines: {node: '>=20.11.1'} hasBin: true peerDependencies: @@ -5481,10 +5022,16 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + headers-polyfill@4.0.3: + resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} + hono@4.12.5: resolution: {integrity: sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==} engines: {node: '>=16.9.0'} + hookable@6.1.0: + resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} + htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} @@ -5506,6 +5053,17 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + httpxy@0.3.1: + resolution: {integrity: sha512-XjG/CEoofEisMrnFr0D6U6xOZ4mRfnwcYQ9qvvnT4lvnX8BoeA3x3WofB75D+vZwpaobFVkBIHrZzoK40w8XSw==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -5520,8 +5078,9 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} immer@11.1.4: resolution: {integrity: sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==} @@ -5623,6 +5182,10 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -5632,6 +5195,10 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -5643,6 +5210,9 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -5655,10 +5225,18 @@ packages: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} + is-obj@3.0.0: + resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} + engines: {node: '>=12'} + is-observable@2.1.0: resolution: {integrity: sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} @@ -5673,6 +5251,10 @@ packages: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} + is-regexp@3.1.0: + resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} + engines: {node: '>=12'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -5685,6 +5267,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -5701,6 +5287,14 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -5717,9 +5311,6 @@ packages: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -5730,6 +5321,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} + isexe@4.0.0: resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} engines: {node: '>=20'} @@ -5807,25 +5402,30 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonrepair@3.13.2: - resolution: {integrity: sha512-Leuly0nbM4R+S5SVJk3VHfw1oxnlEK9KygdZvfUtEtTawNDyzB4qa1xWTmFt1aeoA7sXZkVTRuIixJ8bAvqVUg==} + jsonrepair@3.13.3: + resolution: {integrity: sha512-BTznj0owIt2CBAH/LTo7+1I5pMvl1e1033LRl/HUowlZmJOIhzC0zbX5bxMngLkfT4WnzPP26QnW5wMr2g9tsQ==} hasBin: true jsonwebtoken@9.0.3: resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} - jszip@3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} - jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} - knip@5.85.0: - resolution: {integrity: sha512-V2kyON+DZiYdNNdY6GALseiNCwX7dYdpz9Pv85AUn69Gk0UKCts+glOKWfe5KmaMByRjM9q17Mzj/KinTVOyxg==} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + knip@5.87.0: + resolution: {integrity: sha512-oJBrwd4/Mt5E6817vcdQLaPpejxZTxpASauYLkp6HaT0HN1seHnpF96KEjza9O8yARvHEQ9+So9AFUjkPci7dQ==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: @@ -5840,8 +5440,8 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - lie@3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + libphonenumber-js@1.12.40: + resolution: {integrity: sha512-HKGs7GowShNls3Zh+7DTr6wYpPk5jC78l508yQQY3e8ZgJChM3A9JZghmMJZuK+5bogSfuTafpjksGSR3aMIEg==} lightningcss-android-arm64@1.31.1: resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} @@ -5849,30 +5449,60 @@ packages: cpu: [arm64] os: [android] + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-darwin-arm64@1.31.1: resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.31.1: resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.31.1: resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.31.1: resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.31.1: resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} engines: {node: '>= 12.0.0'} @@ -5880,6 +5510,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + lightningcss-linux-arm64-musl@1.31.1: resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} engines: {node: '>= 12.0.0'} @@ -5887,6 +5524,13 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + lightningcss-linux-x64-gnu@1.31.1: resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} engines: {node: '>= 12.0.0'} @@ -5894,6 +5538,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + lightningcss-linux-x64-musl@1.31.1: resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} engines: {node: '>= 12.0.0'} @@ -5901,22 +5552,45 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + lightningcss-win32-arm64-msvc@1.31.1: resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.31.1: resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.31.1: resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} engines: {node: '>= 12.0.0'} + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -5964,12 +5638,13 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - lop@0.4.2: - resolution: {integrity: sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==} - lru-cache@11.2.6: resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} engines: {node: 20 || >=22} @@ -5985,6 +5660,11 @@ packages: resolution: {integrity: sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==} engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + lucide-react@0.577.0: + resolution: {integrity: sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -5995,11 +5675,6 @@ packages: resolution: {integrity: sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==} engines: {node: ^20.17.0 || >=22.9.0} - mammoth@1.11.0: - resolution: {integrity: sha512-BcEqqY/BOwIcI1iR5tqyVlqc3KIaMRa4egSoK83YAVrBf6+yqdAAbtUcFDCWX8Zef8/fgNZ6rl4VUv+vVX8ddQ==} - engines: {node: '>=12.0.0'} - hasBin: true - markdown-it@14.1.1: resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true @@ -6027,6 +5702,9 @@ packages: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -6047,6 +5725,10 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -6126,14 +5808,14 @@ packages: moo@0.5.3: resolution: {integrity: sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==} - motion-dom@12.35.0: - resolution: {integrity: sha512-FFMLEnIejK/zDABn+vqGVAUN4T0+3fw+cVAY8MMT65yR+j5uMuvWdd4npACWhh94OVWQs79CrBBuwOwGRZAQiA==} + motion-dom@12.38.0: + resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} - motion-utils@12.29.2: - resolution: {integrity: sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==} + motion-utils@12.36.0: + resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} - motion@12.35.0: - resolution: {integrity: sha512-BQUhNUIGvUcwXCzwmnT1JpjUqab34lIwxHnXUyWRht1WC1vAyp7/4qgMiUXxN3K6hgUhyoR+HNnLeQMwUZjVjw==} + motion@12.38.0: + resolution: {integrity: sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -6154,6 +5836,20 @@ packages: engines: {node: '>=18'} hasBin: true + msw@2.12.10: + resolution: {integrity: sha512-G3VUymSE0/iegFnuipujpwyTM2GuZAKXNeerUSrG2+Eg391wW63xFs5ixWsK9MWzr1AGoSkYGmyAzNgbR3+urw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + typescript: '>= 4.8.x' + peerDependenciesMeta: + typescript: + optional: true + + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + mysql2@3.15.3: resolution: {integrity: sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==} engines: {node: '>= 8.0'} @@ -6182,20 +5878,27 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - nf3@0.3.10: - resolution: {integrity: sha512-UlqmHkZiHGgSkRj17yrOXEsSu5ECvtlJ3Xm1W5WsWrTKgu9m7OjrMZh9H/ME2LcWrTlMD0/vmmNVpyBG4yRdGg==} + nf3@0.3.11: + resolution: {integrity: sha512-ObKp/SA3f1g1f/OMeDlRWaZmqGgk7A0NnDIbeO7c/MV4r/quMlpP/BsqMGuTi3lUlXbC1On8YH7ICM2u2bIAOw==} - nitro@3.0.1-alpha.2: - resolution: {integrity: sha512-YviDY5J/trS821qQ1fpJtpXWIdPYiOizC/meHavlm1Hfuhx//H+Egd1+4C5SegJRgtWMnRPW9n//6Woaw81cTQ==} + nitro@3.0.260311-beta: + resolution: {integrity: sha512-0o0fJ9LUh4WKUqJNX012jyieUOtMCnadkNDWr0mHzdraoHpJP/1CGNefjRyZyMXSpoJfwoWdNEZu2iGf35TUvQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - rolldown: '>=1.0.0-beta.0' - rollup: ^4 - vite: ^8.0.0-beta.16 + dotenv: '*' + giget: '*' + jiti: ^2.6.1 + rollup: ^4.59.0 + vite: ^8.0.0 xml2js: ^0.6.2 + zephyr-agent: ^0.1.15 peerDependenciesMeta: - rolldown: + dotenv: + optional: true + giget: + optional: true + jiti: optional: true rollup: optional: true @@ -6203,14 +5906,25 @@ packages: optional: true xml2js: optional: true + zephyr-agent: + optional: true node-addon-api@8.6.0: resolution: {integrity: sha512-gBVjCaqDlRUk0EwoPNKzIr9KkS9041G/q31IBShPs1Xz6UTA+EXdZADbzqAJQrpDRq71CIMnOP5VMut3SL0z5Q==} engines: {node: ^18 || ^20 || >= 21} + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true @@ -6223,8 +5937,11 @@ packages: node-releases@2.0.36: resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} - nodemailer@8.0.1: - resolution: {integrity: sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==} + node-rsa@1.1.1: + resolution: {integrity: sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==} + + nodemailer@8.0.2: + resolution: {integrity: sha512-zbj002pZAIkWQFxyAaqoxvn+zoIwRnS40hgjqTXudKOOJkiFFgBeNqjgD3/YCR12sZnrghWYBY+yP1ZucdDRpw==} engines: {node: '>=6.0.0'} nopt@9.0.0: @@ -6236,11 +5953,19 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-check-updates@19.6.3: - resolution: {integrity: sha512-VAt9Bp26eLaymZ0nZyh5n/by+YZIuegXlvWR0yv1zBqd984f8VnEnBbn+1lS3nN5LyEjn62BJ+yYgzNSpb6Gzg==} + npm-check-updates@19.6.5: + resolution: {integrity: sha512-XlBUMC30relXfEerrnX239W9iB30U6Woz0Hj42Sv6iSF4EGOvj2mS2r45sZ3RglH0VPBxXOWooMxObZ/SMZhrw==} engines: {node: '>=20.0.0', npm: '>=8.12.1'} hasBin: true + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -6261,6 +5986,10 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + object-treeify@1.1.33: + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} + object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} @@ -6268,6 +5997,9 @@ packages: observable-fns@0.6.1: resolution: {integrity: sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==} + ocache@0.1.2: + resolution: {integrity: sha512-lI34wjM7cahEdrq2I5obbF7MEdE97vULf6vNj6ZCzwEadzyXO1w7QOl2qzzG4IL8cyO7wDtXPj9CqW/aG3mn7g==} + ofetch@2.0.0-alpha.3: resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==} @@ -6288,38 +6020,42 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} + open@11.0.0: + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} + openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - option@0.2.4: - resolution: {integrity: sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==} - ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} + ora@8.2.0: + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} + engines: {node: '>=18'} + orderedmap@2.1.1: resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - oxc-minify@0.110.0: - resolution: {integrity: sha512-KWGTzPo83QmGrXC4ml83PM9HDwUPtZFfasiclUvTV4i3/0j7xRRqINVkrL77CbQnoWura3CMxkRofjQKVDuhBw==} - engines: {node: ^20.19.0 || >=22.12.0} - oxc-resolver@11.19.1: resolution: {integrity: sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==} - oxc-transform@0.110.0: - resolution: {integrity: sha512-/fymQNzzUoKZweH0nC5yvbI2eR0yWYusT9TEKDYVgOgYrf9Qmdez9lUFyvxKR9ycx+PTHi/reIOzqf3wkShQsw==} - engines: {node: ^20.19.0 || >=22.12.0} - p-map@7.0.4: resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} @@ -6335,9 +6071,6 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -6346,6 +6079,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse5-htmlparser2-tree-adapter@7.1.0: resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} @@ -6359,14 +6096,17 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -6374,6 +6114,9 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} @@ -6384,15 +6127,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pdf-parse@2.4.5: - resolution: {integrity: sha512-mHU89HGh7v+4u2ubfnevJ03lmPgQ5WU4CxAVmTSh/sxVTEDYd1er/dKS/A6vg77NX47KTEoihq8jZBLr8Cxuwg==} - engines: {node: '>=20.16.0 <21 || >=22.3.0'} - hasBin: true - - pdfjs-dist@5.4.296: - resolution: {integrity: sha512-DlOzet0HO7OEnmUmB6wWGJrrdvbyJKftI1bhMitK7O2N8W2gc757yyYBbINy9IDafXAV9wmKr9t7xsTaNKRG5Q==} - engines: {node: '>=20.16.0 || >=22.3.0'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -6461,6 +6195,10 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + postcss@8.5.8: resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} engines: {node: ^10 || ^12 || >=14} @@ -6485,6 +6223,10 @@ packages: resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} engines: {node: '>=12'} + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + prettier@3.8.1: resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} @@ -6502,6 +6244,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + prisma@7.4.2: resolution: {integrity: sha512-2bP8Ruww3Q95Z2eH4Yqh4KAENRsj/SxbdknIVBfd6DmjPwmpsC4OVFMLOeHt6tM3Amh8ebjvstrUz3V/hOe1dA==} engines: {node: ^20.19 || ^22.12 || >=24.0} @@ -6519,9 +6265,6 @@ packages: resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} engines: {node: ^20.17.0 || >=22.9.0} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -6530,6 +6273,10 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} @@ -6618,8 +6365,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@24.38.0: - resolution: {integrity: sha512-zB3S/tksIhgi2gZRndUe07AudBz5SXOB7hqG0kEa9/YXWrGwlVlYm3tZtwKgfRftBzbmLQl5iwHkQQl04n/mWw==} + puppeteer-core@24.39.1: + resolution: {integrity: sha512-AMqQIKoEhPS6CilDzw0Gd1brLri3emkC+1N2J6ZCCuY1Cglo56M63S0jOeBZDQlemOiRd686MYVMl9ELJBzN3A==} engines: {node: '>=18'} pure-rand@6.1.0: @@ -6641,19 +6388,6 @@ packages: resolution: {integrity: sha512-h36JMxKRqrAxVD8201FrCpyeNuUY9Y5zZwujr20fFO77tpUtGa6EZzfKw/3WaiBX95fq7+MpsuMLNdSnORAwSA==} engines: {node: '>=14.18.0'} - radix-ui@1.4.3: - resolution: {integrity: sha512-aWizCQiyeAenIdUbqEpXgRA1ya65P13NKn/W8rWkcN0OPkRDxdBVLWnIEDsS2RpwCK2nobI7oMUSmexzTDyAmA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -6685,10 +6419,6 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-refresh@0.18.0: - resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} - engines: {node: '>=0.10.0'} - react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -6709,8 +6439,8 @@ packages: '@types/react': optional: true - react-resizable-panels@4.7.1: - resolution: {integrity: sha512-RYBRgvdZhnUds5jJWYr1up0hYFofgN1dqSwhxfBl9Savoxms0gyGF0AfaXskhxTYkXrlwc+TlQPe5UkoV+1neg==} + react-resizable-panels@4.7.3: + resolution: {integrity: sha512-PYcYMLtvJD+Pr0TQNeMvddcnLOwUa/Yb4iNwU7ThNLlHaQYEEC9MIBWHaBGODzYuXIkPRZ/OWe5sbzG1Rzq5ew==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -6742,9 +6472,6 @@ packages: resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -6809,6 +6536,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + reselect@5.1.1: + resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -6825,6 +6555,10 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -6833,6 +6567,9 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + rettime@0.10.1: + resolution: {integrity: sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw==} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -6840,8 +6577,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rolldown@1.0.0-rc.6: - resolution: {integrity: sha512-B8vFPV1ADyegoYfhg+E7RAucYKv0xdVlwYYsIJgfPNeiSxZGWNxts9RqhyGzC11ULK/VaeXyKezGCwpMiH8Ktw==} + rolldown@1.0.0-rc.9: + resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -6856,6 +6593,9 @@ packages: rou3@0.7.12: resolution: {integrity: sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==} + rou3@0.8.1: + resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==} + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -6871,9 +6611,6 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -6888,6 +6625,9 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + samlify@2.11.0: + resolution: {integrity: sha512-1C9ukjlf0rRsuyqdzztqikdItqa33j9NCCDZgeBiWk0etU6vxNB+SWJKW4Flk07ZlhXeev/twALEKrPhIAyfDg==} + scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -6940,12 +6680,13 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shadcn@4.0.8: + resolution: {integrity: sha512-DVAyeo95TQ/OvaHugLm5V0Dqz3al+dnoP3mZdWWxKJ33IYG1jN5B3sGZyNaYsfzm7JsWokfksSzDl83LnmMing==} + hasBin: true + sharp@0.34.5: resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -6981,6 +6722,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -7038,9 +6782,6 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} @@ -7048,13 +6789,8 @@ packages: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} engines: {node: '>= 0.6'} - srvx@0.10.1: - resolution: {integrity: sha512-A//xtfak4eESMWWydSRFUVvCTQbSwivnGCEf8YGPe2eHU0+Z6znfUTCPF0a7oV3sObSOcrXHlL6Bs9vVctfXdg==} - engines: {node: '>=20.16.0'} - hasBin: true - - srvx@0.11.8: - resolution: {integrity: sha512-2n9t0YnAXPJjinytvxccNgs7rOA5gmE7Wowt/8Dy2dx2fDC6sBhfBpbrCvjYKALlVukPS/Uq3QwkolKNa7P/2Q==} + srvx@0.11.12: + resolution: {integrity: sha512-AQfrGqntqVPXgP03pvBDN1KyevHC+KmYVqb8vVf4N+aomQqdhaZxjvoVp+AOm4u6x+GgNQY3MVzAUIn+TqwkOA==} engines: {node: '>=20.16.0'} hasBin: true @@ -7072,6 +6808,10 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -7079,10 +6819,17 @@ packages: streamx@2.23.0: resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + string.prototype.matchall@4.0.12: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} engines: {node: '>= 0.4'} @@ -7099,9 +6846,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -7109,14 +6853,34 @@ packages: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} + stringify-object@5.0.0: + resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==} + engines: {node: '>=14.16'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-comments@2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-json-comments@5.0.3: resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} engines: {node: '>=14.16'} @@ -7137,6 +6901,9 @@ packages: peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + tagged-tag@1.0.0: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} @@ -7216,6 +6983,20 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts-core@7.0.25: + resolution: {integrity: sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + + tldts@7.0.25: + resolution: {integrity: sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w==} + hasBin: true + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -7224,6 +7005,10 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + tough-cookie@6.0.0: + resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} + engines: {node: '>=16'} + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -7231,9 +7016,16 @@ packages: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} + ts-morph@26.0.0: + resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} + ts-pattern@5.9.0: resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -7287,13 +7079,14 @@ packages: ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + unbash@2.2.0: + resolution: {integrity: sha512-X2wH19RAPZE3+ldGicOkoj/SIA83OIxcJ6Cuaw23hf8Xc6fQpvZXY0SftE2JgS0QhYLUG4uwodSI3R53keyh7w==} + engines: {node: '>=14'} + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - underscore@1.13.8: - resolution: {integrity: sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==} - undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -7320,6 +7113,10 @@ packages: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + unique-filename@5.0.0: resolution: {integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==} engines: {node: ^20.17.0 || >=22.9.0} @@ -7422,6 +7219,9 @@ packages: uploadthing: optional: true + until-async@3.0.2: + resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} + upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} @@ -7482,6 +7282,10 @@ packages: typescript: optional: true + validate-npm-package-name@7.0.2: + resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} + engines: {node: ^20.17.0 || >=22.9.0} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -7491,15 +7295,15 @@ packages: engines: {node: '>=16.0.0'} peerDependencies: '@vite-pwa/assets-generator': ^1.0.0 - vite: ^8.0.0-beta.16 + vite: ^8.0.0 workbox-build: ^7.4.0 workbox-window: ^7.4.0 peerDependenciesMeta: '@vite-pwa/assets-generator': optional: true - vite@8.0.0-beta.16: - resolution: {integrity: sha512-c0t7hYkxsjws89HH+BUFh/sL3BpPNhNsL9CJrTpMxBmwKQBRSa5OJ5w4o9O0bQVI/H/vx7UpUUIevvXa37NS/Q==} + vite@8.0.0: + resolution: {integrity: sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -7544,7 +7348,7 @@ packages: vitefu@1.1.2: resolution: {integrity: sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==} peerDependencies: - vite: ^8.0.0-beta.16 + vite: ^8.0.0 peerDependenciesMeta: vite: optional: true @@ -7559,6 +7363,10 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webdriver-bidi-protocol@0.4.1: resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==} @@ -7612,6 +7420,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + which@6.0.1: resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} engines: {node: ^20.17.0 || >=22.9.0} @@ -7669,6 +7482,10 @@ packages: workbox-window@7.4.0: resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -7692,13 +7509,35 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} + wsl-utils@0.3.1: + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} + + xml-crypto@6.1.2: + resolution: {integrity: sha512-leBOVQdVi8FvPJrMYoum7Ici9qyxfE4kVi+AkpUoYCSXaQF4IlBm1cneTK9oAxR61LpYxTx7lNcsnBIeRpGW2w==} + engines: {node: '>=16'} + + xml-escape@1.1.0: + resolution: {integrity: sha512-B/T4sDK8Z6aUh/qNr7mjKAwwncIljFuUP+DO/D5hloYFj+90O88z8Wf7oSucZTHxBAsC1/CTP4rtx/x1Uf72Mg==} + + xml@1.0.1: + resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} + xmlbuilder2@4.0.3: resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==} engines: {node: '>=20.0'} - xmlbuilder@10.1.1: - resolution: {integrity: sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==} - engines: {node: '>=4.0'} + xpath@0.0.32: + resolution: {integrity: sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==} + engines: {node: '>=0.6.0'} + + xpath@0.0.33: + resolution: {integrity: sha512-NNXnzrkDrAzalLhIUc01jO2mOzXGXh1JwPgkihcLLzw98c0WgYDmmjSh1Kl3wzaxSVWMuA+fe0WTWOBDWCBmNA==} + engines: {node: '>=0.6.0'} + + xpath@0.0.34: + resolution: {integrity: sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA==} + engines: {node: '>=0.6.0'} xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} @@ -7722,6 +7561,11 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -7733,6 +7577,14 @@ packages: yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + zeptomatch@2.1.0: resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} @@ -7752,8 +7604,8 @@ packages: peerDependencies: zustand: ^4.3.0 || ^5.0.0 - zustand@5.0.11: - resolution: {integrity: sha512-fdZY+dk7zn/vbWNCYmzZULHRrss0jx5pPFiOuMZ/5HJN6Yv3u+1Wswy/4MpZEkEGhtNH+pwxZB8OKgUBPzYAGg==} + zustand@5.0.12: + resolution: {integrity: sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -7797,13 +7649,6 @@ snapshots: '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) zod: 4.3.6 - '@ai-sdk/provider-utils@4.0.17(zod@4.3.6)': - dependencies: - '@ai-sdk/provider': 3.0.8 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.6 - zod: 4.3.6 - '@ai-sdk/provider-utils@4.0.19(zod@4.3.6)': dependencies: '@ai-sdk/provider': 3.0.8 @@ -7832,23 +7677,29 @@ snapshots: jsonpointer: 5.0.1 leven: 3.1.0 + '@authenio/xml-encryption@2.0.2': + dependencies: + '@xmldom/xmldom': 0.8.11 + escape-html: 1.0.3 + xpath: 0.0.32 + '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 '@aws-sdk/util-locate-window': 3.965.4 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -7858,7 +7709,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 '@aws-sdk/util-locate-window': 3.965.4 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -7866,7 +7717,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -7875,400 +7726,402 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1003.0': + '@aws-sdk/client-s3@3.1011.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.18 - '@aws-sdk/credential-provider-node': 3.972.17 - '@aws-sdk/middleware-bucket-endpoint': 3.972.7 - '@aws-sdk/middleware-expect-continue': 3.972.7 - '@aws-sdk/middleware-flexible-checksums': 3.973.4 - '@aws-sdk/middleware-host-header': 3.972.7 - '@aws-sdk/middleware-location-constraint': 3.972.7 - '@aws-sdk/middleware-logger': 3.972.7 - '@aws-sdk/middleware-recursion-detection': 3.972.7 - '@aws-sdk/middleware-sdk-s3': 3.972.18 - '@aws-sdk/middleware-ssec': 3.972.7 - '@aws-sdk/middleware-user-agent': 3.972.18 - '@aws-sdk/region-config-resolver': 3.972.7 - '@aws-sdk/signature-v4-multi-region': 3.996.6 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 - '@aws-sdk/util-user-agent-browser': 3.972.7 - '@aws-sdk/util-user-agent-node': 3.973.3 - '@smithy/config-resolver': 4.4.10 - '@smithy/core': 3.23.8 - '@smithy/eventstream-serde-browser': 4.2.11 - '@smithy/eventstream-serde-config-resolver': 4.3.11 - '@smithy/eventstream-serde-node': 4.2.11 - '@smithy/fetch-http-handler': 5.3.13 - '@smithy/hash-blob-browser': 4.2.12 - '@smithy/hash-node': 4.2.11 - '@smithy/hash-stream-node': 4.2.11 - '@smithy/invalid-dependency': 4.2.11 - '@smithy/md5-js': 4.2.11 - '@smithy/middleware-content-length': 4.2.11 - '@smithy/middleware-endpoint': 4.4.22 - '@smithy/middleware-retry': 4.4.39 - '@smithy/middleware-serde': 4.2.12 - '@smithy/middleware-stack': 4.2.11 - '@smithy/node-config-provider': 4.3.11 - '@smithy/node-http-handler': 4.4.14 - '@smithy/protocol-http': 5.3.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/credential-provider-node': 3.972.21 + '@aws-sdk/middleware-bucket-endpoint': 3.972.8 + '@aws-sdk/middleware-expect-continue': 3.972.8 + '@aws-sdk/middleware-flexible-checksums': 3.974.0 + '@aws-sdk/middleware-host-header': 3.972.8 + '@aws-sdk/middleware-location-constraint': 3.972.8 + '@aws-sdk/middleware-logger': 3.972.8 + '@aws-sdk/middleware-recursion-detection': 3.972.8 + '@aws-sdk/middleware-sdk-s3': 3.972.20 + '@aws-sdk/middleware-ssec': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.21 + '@aws-sdk/region-config-resolver': 3.972.8 + '@aws-sdk/signature-v4-multi-region': 3.996.8 + '@aws-sdk/types': 3.973.6 + '@aws-sdk/util-endpoints': 3.996.5 + '@aws-sdk/util-user-agent-browser': 3.972.8 + '@aws-sdk/util-user-agent-node': 3.973.7 + '@smithy/config-resolver': 4.4.11 + '@smithy/core': 3.23.12 + '@smithy/eventstream-serde-browser': 4.2.12 + '@smithy/eventstream-serde-config-resolver': 4.3.12 + '@smithy/eventstream-serde-node': 4.2.12 + '@smithy/fetch-http-handler': 5.3.15 + '@smithy/hash-blob-browser': 4.2.13 + '@smithy/hash-node': 4.2.12 + '@smithy/hash-stream-node': 4.2.12 + '@smithy/invalid-dependency': 4.2.12 + '@smithy/md5-js': 4.2.12 + '@smithy/middleware-content-length': 4.2.12 + '@smithy/middleware-endpoint': 4.4.26 + '@smithy/middleware-retry': 4.4.43 + '@smithy/middleware-serde': 4.2.15 + '@smithy/middleware-stack': 4.2.12 + '@smithy/node-config-provider': 4.3.12 + '@smithy/node-http-handler': 4.5.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.38 - '@smithy/util-defaults-mode-node': 4.2.41 - '@smithy/util-endpoints': 3.3.2 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-retry': 4.2.11 - '@smithy/util-stream': 4.5.17 + '@smithy/util-defaults-mode-browser': 4.3.42 + '@smithy/util-defaults-mode-node': 4.2.45 + '@smithy/util-endpoints': 3.3.3 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-retry': 4.2.12 + '@smithy/util-stream': 4.5.20 '@smithy/util-utf8': 4.2.2 - '@smithy/util-waiter': 4.2.11 + '@smithy/util-waiter': 4.2.13 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.18': + '@aws-sdk/core@3.973.20': dependencies: - '@aws-sdk/types': 3.973.5 - '@aws-sdk/xml-builder': 3.972.10 - '@smithy/core': 3.23.8 - '@smithy/node-config-provider': 4.3.11 - '@smithy/property-provider': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/signature-v4': 5.3.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@aws-sdk/xml-builder': 3.972.11 + '@smithy/core': 3.23.12 + '@smithy/node-config-provider': 4.3.12 + '@smithy/property-provider': 4.2.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/signature-v4': 5.3.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 '@smithy/util-base64': 4.3.2 - '@smithy/util-middleware': 4.2.11 + '@smithy/util-middleware': 4.2.12 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/crc64-nvme@3.972.4': + '@aws-sdk/crc64-nvme@3.972.5': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.16': + '@aws-sdk/credential-provider-env@3.972.18': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.18': + '@aws-sdk/credential-provider-http@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/types': 3.973.5 - '@smithy/fetch-http-handler': 5.3.13 - '@smithy/node-http-handler': 4.4.14 - '@smithy/property-provider': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 - '@smithy/util-stream': 4.5.17 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/types': 3.973.6 + '@smithy/fetch-http-handler': 5.3.15 + '@smithy/node-http-handler': 4.5.0 + '@smithy/property-provider': 4.2.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 + '@smithy/util-stream': 4.5.20 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.16': + '@aws-sdk/credential-provider-ini@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/credential-provider-env': 3.972.16 - '@aws-sdk/credential-provider-http': 3.972.18 - '@aws-sdk/credential-provider-login': 3.972.16 - '@aws-sdk/credential-provider-process': 3.972.16 - '@aws-sdk/credential-provider-sso': 3.972.16 - '@aws-sdk/credential-provider-web-identity': 3.972.16 - '@aws-sdk/nested-clients': 3.996.6 - '@aws-sdk/types': 3.973.5 - '@smithy/credential-provider-imds': 4.2.11 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/credential-provider-env': 3.972.18 + '@aws-sdk/credential-provider-http': 3.972.20 + '@aws-sdk/credential-provider-login': 3.972.20 + '@aws-sdk/credential-provider-process': 3.972.18 + '@aws-sdk/credential-provider-sso': 3.972.20 + '@aws-sdk/credential-provider-web-identity': 3.972.20 + '@aws-sdk/nested-clients': 3.996.10 + '@aws-sdk/types': 3.973.6 + '@smithy/credential-provider-imds': 4.2.12 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.16': + '@aws-sdk/credential-provider-login@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/nested-clients': 3.996.6 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/nested-clients': 3.996.10 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.17': + '@aws-sdk/credential-provider-node@3.972.21': dependencies: - '@aws-sdk/credential-provider-env': 3.972.16 - '@aws-sdk/credential-provider-http': 3.972.18 - '@aws-sdk/credential-provider-ini': 3.972.16 - '@aws-sdk/credential-provider-process': 3.972.16 - '@aws-sdk/credential-provider-sso': 3.972.16 - '@aws-sdk/credential-provider-web-identity': 3.972.16 - '@aws-sdk/types': 3.973.5 - '@smithy/credential-provider-imds': 4.2.11 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/credential-provider-env': 3.972.18 + '@aws-sdk/credential-provider-http': 3.972.20 + '@aws-sdk/credential-provider-ini': 3.972.20 + '@aws-sdk/credential-provider-process': 3.972.18 + '@aws-sdk/credential-provider-sso': 3.972.20 + '@aws-sdk/credential-provider-web-identity': 3.972.20 + '@aws-sdk/types': 3.973.6 + '@smithy/credential-provider-imds': 4.2.12 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.16': + '@aws-sdk/credential-provider-process@3.972.18': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.16': + '@aws-sdk/credential-provider-sso@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/nested-clients': 3.996.6 - '@aws-sdk/token-providers': 3.1003.0 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/nested-clients': 3.996.10 + '@aws-sdk/token-providers': 3.1009.0 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.16': + '@aws-sdk/credential-provider-web-identity@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/nested-clients': 3.996.6 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/nested-clients': 3.996.10 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.972.7': + '@aws-sdk/middleware-bucket-endpoint@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 '@aws-sdk/util-arn-parser': 3.972.3 - '@smithy/node-config-provider': 4.3.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/node-config-provider': 4.3.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.972.7': + '@aws-sdk/middleware-expect-continue@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.973.4': + '@aws-sdk/middleware-flexible-checksums@3.974.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.18 - '@aws-sdk/crc64-nvme': 3.972.4 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/crc64-nvme': 3.972.5 + '@aws-sdk/types': 3.973.6 '@smithy/is-array-buffer': 4.2.2 - '@smithy/node-config-provider': 4.3.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-stream': 4.5.17 + '@smithy/node-config-provider': 4.3.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-stream': 4.5.20 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.972.7': + '@aws-sdk/middleware-host-header@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.972.7': + '@aws-sdk/middleware-location-constraint@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.972.7': + '@aws-sdk/middleware-logger@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.972.7': + '@aws-sdk/middleware-recursion-detection@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 + '@aws-sdk/types': 3.973.6 '@aws/lambda-invoke-store': 0.2.3 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.18': + '@aws-sdk/middleware-sdk-s3@3.972.20': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/types': 3.973.5 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/types': 3.973.6 '@aws-sdk/util-arn-parser': 3.972.3 - '@smithy/core': 3.23.8 - '@smithy/node-config-provider': 4.3.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/signature-v4': 5.3.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 + '@smithy/core': 3.23.12 + '@smithy/node-config-provider': 4.3.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/signature-v4': 5.3.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-stream': 4.5.17 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-stream': 4.5.20 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.972.7': + '@aws-sdk/middleware-ssec@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.18': + '@aws-sdk/middleware-user-agent@3.972.21': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 - '@smithy/core': 3.23.8 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/types': 3.973.6 + '@aws-sdk/util-endpoints': 3.996.5 + '@smithy/core': 3.23.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 + '@smithy/util-retry': 4.2.12 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.996.6': + '@aws-sdk/nested-clients@3.996.10': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.18 - '@aws-sdk/middleware-host-header': 3.972.7 - '@aws-sdk/middleware-logger': 3.972.7 - '@aws-sdk/middleware-recursion-detection': 3.972.7 - '@aws-sdk/middleware-user-agent': 3.972.18 - '@aws-sdk/region-config-resolver': 3.972.7 - '@aws-sdk/types': 3.973.5 - '@aws-sdk/util-endpoints': 3.996.4 - '@aws-sdk/util-user-agent-browser': 3.972.7 - '@aws-sdk/util-user-agent-node': 3.973.3 - '@smithy/config-resolver': 4.4.10 - '@smithy/core': 3.23.8 - '@smithy/fetch-http-handler': 5.3.13 - '@smithy/hash-node': 4.2.11 - '@smithy/invalid-dependency': 4.2.11 - '@smithy/middleware-content-length': 4.2.11 - '@smithy/middleware-endpoint': 4.4.22 - '@smithy/middleware-retry': 4.4.39 - '@smithy/middleware-serde': 4.2.12 - '@smithy/middleware-stack': 4.2.11 - '@smithy/node-config-provider': 4.3.11 - '@smithy/node-http-handler': 4.4.14 - '@smithy/protocol-http': 5.3.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/middleware-host-header': 3.972.8 + '@aws-sdk/middleware-logger': 3.972.8 + '@aws-sdk/middleware-recursion-detection': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.21 + '@aws-sdk/region-config-resolver': 3.972.8 + '@aws-sdk/types': 3.973.6 + '@aws-sdk/util-endpoints': 3.996.5 + '@aws-sdk/util-user-agent-browser': 3.972.8 + '@aws-sdk/util-user-agent-node': 3.973.7 + '@smithy/config-resolver': 4.4.11 + '@smithy/core': 3.23.12 + '@smithy/fetch-http-handler': 5.3.15 + '@smithy/hash-node': 4.2.12 + '@smithy/invalid-dependency': 4.2.12 + '@smithy/middleware-content-length': 4.2.12 + '@smithy/middleware-endpoint': 4.4.26 + '@smithy/middleware-retry': 4.4.43 + '@smithy/middleware-serde': 4.2.15 + '@smithy/middleware-stack': 4.2.12 + '@smithy/node-config-provider': 4.3.12 + '@smithy/node-http-handler': 4.5.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.38 - '@smithy/util-defaults-mode-node': 4.2.41 - '@smithy/util-endpoints': 3.3.2 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-retry': 4.2.11 + '@smithy/util-defaults-mode-browser': 4.3.42 + '@smithy/util-defaults-mode-node': 4.2.45 + '@smithy/util-endpoints': 3.3.3 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-retry': 4.2.12 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.972.7': + '@aws-sdk/region-config-resolver@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/config-resolver': 4.4.10 - '@smithy/node-config-provider': 4.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/config-resolver': 4.4.11 + '@smithy/node-config-provider': 4.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.6': + '@aws-sdk/signature-v4-multi-region@3.996.8': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.18 - '@aws-sdk/types': 3.973.5 - '@smithy/protocol-http': 5.3.11 - '@smithy/signature-v4': 5.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/middleware-sdk-s3': 3.972.20 + '@aws-sdk/types': 3.973.6 + '@smithy/protocol-http': 5.3.12 + '@smithy/signature-v4': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1003.0': + '@aws-sdk/token-providers@3.1009.0': dependencies: - '@aws-sdk/core': 3.973.18 - '@aws-sdk/nested-clients': 3.996.6 - '@aws-sdk/types': 3.973.5 - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@aws-sdk/core': 3.973.20 + '@aws-sdk/nested-clients': 3.996.10 + '@aws-sdk/types': 3.973.6 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.973.5': + '@aws-sdk/types@3.973.6': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@aws-sdk/util-arn-parser@3.972.3': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.996.4': + '@aws-sdk/util-endpoints@3.996.5': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 - '@smithy/util-endpoints': 3.3.2 + '@aws-sdk/types': 3.973.6 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 + '@smithy/util-endpoints': 3.3.3 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.965.4': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.972.7': + '@aws-sdk/util-user-agent-browser@3.972.8': dependencies: - '@aws-sdk/types': 3.973.5 - '@smithy/types': 4.13.0 + '@aws-sdk/types': 3.973.6 + '@smithy/types': 4.13.1 bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.3': + '@aws-sdk/util-user-agent-node@3.973.7': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.18 - '@aws-sdk/types': 3.973.5 - '@smithy/node-config-provider': 4.3.11 - '@smithy/types': 4.13.0 + '@aws-sdk/middleware-user-agent': 3.972.21 + '@aws-sdk/types': 3.973.6 + '@smithy/node-config-provider': 4.3.12 + '@smithy/types': 4.13.1 + '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.10': + '@aws-sdk/xml-builder@3.972.11': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 fast-xml-parser: 5.4.2 tslib: 2.8.1 @@ -8913,16 +8766,6 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -8967,6 +8810,17 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -9073,6 +8927,17 @@ snapshots: '@babel/types': 7.29.0 esutils: 2.0.3 + '@babel/preset-typescript@7.28.5(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + '@babel/runtime@7.28.6': {} '@babel/template@7.28.6': @@ -9098,14 +8963,38 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@better-auth/api-key@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(better-auth@1.5.4(4c1ffe6c2b2477b93b62ecdbf943eb27))': + '@base-ui/react@1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@babel/runtime': 7.28.6 + '@base-ui/utils': 0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@floating-ui/utils': 0.2.11 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + tabbable: 6.4.0 + use-sync-external-store: 1.6.0(react@19.2.4) + optionalDependencies: + '@types/react': 19.2.14 + + '@base-ui/utils@0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@floating-ui/utils': 0.2.11 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + reselect: 5.1.1 + use-sync-external-store: 1.6.0(react@19.2.4) + optionalDependencies: + '@types/react': 19.2.14 + + '@better-auth/api-key@1.5.5(0deaaa17e1a55d22e058ad78990ab47b)': + dependencies: + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 - better-auth: 1.5.4(4c1ffe6c2b2477b93b62ecdbf943eb27) + better-auth: 1.5.5(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(drizzle-kit@1.0.0-beta.18-7eb39f0)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(pg@8.20.0)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) zod: 4.3.6 - '@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)': + '@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)': dependencies: '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -9116,39 +9005,65 @@ snapshots: nanostores: 1.1.1 zod: 4.3.6 - '@better-auth/drizzle-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))': + '@better-auth/drizzle-adapter@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 - drizzle-orm: 1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) + optionalDependencies: + drizzle-orm: 1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) - '@better-auth/kysely-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11)': + '@better-auth/infra@0.1.12(81efdf05db11483743fdd6d8339b7ec2)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/sso': 1.5.5(75622cc3afe235c4546eb52a0908fe5d) + '@better-fetch/fetch': 1.1.21 + better-auth: 1.5.5(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(drizzle-kit@1.0.0-beta.18-7eb39f0)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(pg@8.20.0)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + better-call: 1.3.4(zod@4.3.6) + jose: 6.1.3 + libphonenumber-js: 1.12.40 + zod: 4.3.6 + + '@better-auth/kysely-adapter@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11)': + dependencies: + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 kysely: 0.28.11 - '@better-auth/memory-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': + '@better-auth/memory-adapter@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 - '@better-auth/mongo-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0(socks@2.8.7))': + '@better-auth/mongo-adapter@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0(socks@2.8.7))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 mongodb: 7.1.0(socks@2.8.7) - '@better-auth/prisma-adapter@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))': + '@better-auth/prisma-adapter@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 + optionalDependencies: '@prisma/client': 7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) prisma: 7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) - '@better-auth/telemetry@1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))': + '@better-auth/sso@1.5.5(75622cc3afe235c4546eb52a0908fe5d)': dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 + better-auth: 1.5.5(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(drizzle-kit@1.0.0-beta.18-7eb39f0)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(pg@8.20.0)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + better-call: 1.3.2(zod@4.3.6) + fast-xml-parser: 5.4.2 + jose: 6.1.3 + samlify: 2.11.0 + tldts: 6.1.86 + zod: 4.3.6 + + '@better-auth/telemetry@1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))': + dependencies: + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 @@ -9156,39 +9071,39 @@ snapshots: '@better-fetch/fetch@1.1.21': {} - '@biomejs/biome@2.4.6': + '@biomejs/biome@2.4.7': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.4.6 - '@biomejs/cli-darwin-x64': 2.4.6 - '@biomejs/cli-linux-arm64': 2.4.6 - '@biomejs/cli-linux-arm64-musl': 2.4.6 - '@biomejs/cli-linux-x64': 2.4.6 - '@biomejs/cli-linux-x64-musl': 2.4.6 - '@biomejs/cli-win32-arm64': 2.4.6 - '@biomejs/cli-win32-x64': 2.4.6 + '@biomejs/cli-darwin-arm64': 2.4.7 + '@biomejs/cli-darwin-x64': 2.4.7 + '@biomejs/cli-linux-arm64': 2.4.7 + '@biomejs/cli-linux-arm64-musl': 2.4.7 + '@biomejs/cli-linux-x64': 2.4.7 + '@biomejs/cli-linux-x64-musl': 2.4.7 + '@biomejs/cli-win32-arm64': 2.4.7 + '@biomejs/cli-win32-x64': 2.4.7 - '@biomejs/cli-darwin-arm64@2.4.6': + '@biomejs/cli-darwin-arm64@2.4.7': optional: true - '@biomejs/cli-darwin-x64@2.4.6': + '@biomejs/cli-darwin-x64@2.4.7': optional: true - '@biomejs/cli-linux-arm64-musl@2.4.6': + '@biomejs/cli-linux-arm64-musl@2.4.7': optional: true - '@biomejs/cli-linux-arm64@2.4.6': + '@biomejs/cli-linux-arm64@2.4.7': optional: true - '@biomejs/cli-linux-x64-musl@2.4.6': + '@biomejs/cli-linux-x64-musl@2.4.7': optional: true - '@biomejs/cli-linux-x64@2.4.6': + '@biomejs/cli-linux-x64@2.4.7': optional: true - '@biomejs/cli-win32-arm64@2.4.6': + '@biomejs/cli-win32-arm64@2.4.7': optional: true - '@biomejs/cli-win32-x64@2.4.6': + '@biomejs/cli-win32-x64@2.4.7': optional: true '@chevrotain/cst-dts-gen@10.5.0': @@ -9196,15 +9111,19 @@ snapshots: '@chevrotain/gast': 10.5.0 '@chevrotain/types': 10.5.0 lodash: 4.17.23 + optional: true '@chevrotain/gast@10.5.0': dependencies: '@chevrotain/types': 10.5.0 lodash: 4.17.23 + optional: true - '@chevrotain/types@10.5.0': {} + '@chevrotain/types@10.5.0': + optional: true - '@chevrotain/utils@10.5.0': {} + '@chevrotain/utils@10.5.0': + optional: true '@dnd-kit/accessibility@3.1.1(react@19.2.4)': dependencies: @@ -9231,17 +9150,36 @@ snapshots: react: 19.2.4 tslib: 2.8.1 + '@dotenvx/dotenvx@1.54.1': + dependencies: + commander: 11.1.0 + dotenv: 17.3.1 + eciesjs: 0.4.18 + execa: 5.1.1 + fdir: 6.5.0(picomatch@4.0.3) + ignore: 5.3.2 + object-treeify: 1.1.33 + picomatch: 4.0.3 + which: 4.0.0 + '@drizzle-team/brocli@0.11.0': {} + '@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)': + dependencies: + '@noble/ciphers': 1.3.0 + '@electric-sql/pglite-socket@0.0.20(@electric-sql/pglite@0.3.15)': dependencies: '@electric-sql/pglite': 0.3.15 + optional: true '@electric-sql/pglite-tools@0.2.20(@electric-sql/pglite@0.3.15)': dependencies: '@electric-sql/pglite': 0.3.15 + optional: true - '@electric-sql/pglite@0.3.15': {} + '@electric-sql/pglite@0.3.15': + optional: true '@emnapi/core@1.8.1': dependencies: @@ -9445,6 +9383,7 @@ snapshots: '@hono/node-server@1.19.9(hono@4.12.5)': dependencies: hono: 4.12.5 + optional: true '@hookform/resolvers@5.2.2(react-hook-form@7.71.2(react@19.2.4))': dependencies: @@ -9547,6 +9486,34 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true + '@inquirer/ansi@1.0.2': {} + + '@inquirer/confirm@5.1.21(@types/node@25.5.0)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@25.5.0) + '@inquirer/type': 3.0.10(@types/node@25.5.0) + optionalDependencies: + '@types/node': 25.5.0 + + '@inquirer/core@10.3.2(@types/node@25.5.0)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@25.5.0) + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 25.5.0 + + '@inquirer/figures@1.0.15': {} + + '@inquirer/type@3.0.10(@types/node@25.5.0)': + optionalDependencies: + '@types/node': 25.5.0 + '@isaacs/cliui@9.0.0': {} '@isaacs/fs-minipass@4.0.1': @@ -9562,7 +9529,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.3.5 + '@types/node': 25.5.0 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -9596,35 +9563,35 @@ snapshots: dependencies: jsbi: 4.3.2 - '@lingui/babel-plugin-extract-messages@5.9.2': {} + '@lingui/babel-plugin-extract-messages@5.9.3': {} - '@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3)': + '@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3)': dependencies: '@babel/core': 7.29.0 '@babel/runtime': 7.28.6 '@babel/types': 7.29.0 - '@lingui/conf': 5.9.2(typescript@5.9.3) - '@lingui/core': 5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) - '@lingui/message-utils': 5.9.2 + '@lingui/conf': 5.9.3(typescript@5.9.3) + '@lingui/core': 5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) + '@lingui/message-utils': 5.9.3 optionalDependencies: babel-plugin-macros: 3.1.0 transitivePeerDependencies: - supports-color - typescript - '@lingui/cli@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3)': + '@lingui/cli@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3)': dependencies: '@babel/core': 7.29.0 '@babel/generator': 7.29.1 '@babel/parser': 7.29.0 '@babel/runtime': 7.28.6 '@babel/types': 7.29.0 - '@lingui/babel-plugin-extract-messages': 5.9.2 - '@lingui/babel-plugin-lingui-macro': 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) - '@lingui/conf': 5.9.2(typescript@5.9.3) - '@lingui/core': 5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) - '@lingui/format-po': 5.9.2(typescript@5.9.3) - '@lingui/message-utils': 5.9.2 + '@lingui/babel-plugin-extract-messages': 5.9.3 + '@lingui/babel-plugin-lingui-macro': 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) + '@lingui/conf': 5.9.3(typescript@5.9.3) + '@lingui/core': 5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) + '@lingui/format-po': 5.9.3(typescript@5.9.3) + '@lingui/message-utils': 5.9.3 chokidar: 3.5.1 cli-table: 0.3.11 commander: 10.0.1 @@ -9646,7 +9613,7 @@ snapshots: - supports-color - typescript - '@lingui/conf@5.9.2(typescript@5.9.3)': + '@lingui/conf@5.9.3(typescript@5.9.3)': dependencies: '@babel/runtime': 7.28.6 cosmiconfig: 8.3.6(typescript@5.9.3) @@ -9656,42 +9623,42 @@ snapshots: transitivePeerDependencies: - typescript - '@lingui/core@5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)': + '@lingui/core@5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)': dependencies: '@babel/runtime': 7.28.6 - '@lingui/message-utils': 5.9.2 + '@lingui/message-utils': 5.9.3 optionalDependencies: - '@lingui/babel-plugin-lingui-macro': 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) + '@lingui/babel-plugin-lingui-macro': 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) babel-plugin-macros: 3.1.0 - '@lingui/format-po@5.9.2(typescript@5.9.3)': + '@lingui/format-po@5.9.3(typescript@5.9.3)': dependencies: - '@lingui/conf': 5.9.2(typescript@5.9.3) - '@lingui/message-utils': 5.9.2 + '@lingui/conf': 5.9.3(typescript@5.9.3) + '@lingui/message-utils': 5.9.3 date-fns: 3.6.0 pofile: 1.1.4 transitivePeerDependencies: - typescript - '@lingui/message-utils@5.9.2': + '@lingui/message-utils@5.9.3': dependencies: '@messageformat/parser': 5.1.1 js-sha256: 0.10.1 - '@lingui/react@5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)(react@19.2.4)': + '@lingui/react@5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0)(react@19.2.4)': dependencies: '@babel/runtime': 7.28.6 - '@lingui/core': 5.9.2(@lingui/babel-plugin-lingui-macro@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) + '@lingui/core': 5.9.3(@lingui/babel-plugin-lingui-macro@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3))(babel-plugin-macros@3.1.0) react: 19.2.4 optionalDependencies: - '@lingui/babel-plugin-lingui-macro': 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) + '@lingui/babel-plugin-lingui-macro': 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) babel-plugin-macros: 3.1.0 - '@lingui/vite-plugin@5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@lingui/vite-plugin@5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@lingui/cli': 5.9.2(babel-plugin-macros@3.1.0)(typescript@5.9.3) - '@lingui/conf': 5.9.2(typescript@5.9.3) - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + '@lingui/cli': 5.9.3(babel-plugin-macros@3.1.0)(typescript@5.9.3) + '@lingui/conf': 5.9.3(typescript@5.9.3) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -9701,6 +9668,28 @@ snapshots: dependencies: moo: 0.5.3 + '@modelcontextprotocol/sdk@1.27.1(zod@3.25.76)': + dependencies: + '@hono/node-server': 1.19.10(hono@4.12.5) + ajv: 8.18.0 + ajv-formats: 3.0.1(ajv@8.18.0) + content-type: 1.0.5 + cors: 2.8.6 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.6 + express: 5.2.1 + express-rate-limit: 8.2.1(express@5.2.1) + hono: 4.12.5 + jose: 6.1.3 + json-schema-typed: 8.0.2 + pkce-challenge: 5.0.1 + raw-body: 3.0.2 + zod: 3.25.76 + zod-to-json-schema: 3.25.1(zod@3.25.76) + transitivePeerDependencies: + - supports-color + '@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)': dependencies: '@hono/node-server': 1.19.10(hono@4.12.5) @@ -9742,49 +9731,16 @@ snapshots: dependencies: chevrotain: 10.5.0 lilconfig: 2.1.0 - - '@napi-rs/canvas-android-arm64@0.1.80': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.80': - optional: true - - '@napi-rs/canvas-darwin-x64@0.1.80': - optional: true - - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.80': - optional: true - - '@napi-rs/canvas-linux-arm64-gnu@0.1.80': - optional: true - - '@napi-rs/canvas-linux-arm64-musl@0.1.80': - optional: true - - '@napi-rs/canvas-linux-riscv64-gnu@0.1.80': - optional: true - - '@napi-rs/canvas-linux-x64-gnu@0.1.80': - optional: true - - '@napi-rs/canvas-linux-x64-musl@0.1.80': - optional: true - - '@napi-rs/canvas-win32-x64-msvc@0.1.80': - optional: true - - '@napi-rs/canvas@0.1.80': - optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.80 - '@napi-rs/canvas-darwin-arm64': 0.1.80 - '@napi-rs/canvas-darwin-x64': 0.1.80 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.80 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.80 - '@napi-rs/canvas-linux-arm64-musl': 0.1.80 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.80 - '@napi-rs/canvas-linux-x64-gnu': 0.1.80 - '@napi-rs/canvas-linux-x64-musl': 0.1.80 - '@napi-rs/canvas-win32-x64-msvc': 0.1.80 + '@mswjs/interceptors@0.41.3': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 '@napi-rs/wasm-runtime@1.1.1': dependencies: @@ -9793,8 +9749,16 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@noble/ciphers@1.3.0': {} + '@noble/ciphers@2.1.1': {} + '@noble/curves@1.9.7': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/hashes@1.8.0': {} + '@noble/hashes@2.0.1': {} '@nodelib/fs.scandir@2.1.5': @@ -9840,35 +9804,44 @@ snapshots: '@oozcitak/util@10.0.0': {} + '@open-draft/deferred-promise@2.2.0': {} + + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + '@opentelemetry/api@1.9.0': {} - '@orpc/client@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/client@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-peer': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fetch': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-peer': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/contract@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/contract@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) '@standard-schema/spec': 1.1.0 openapi-types: 12.1.3 transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/interop@1.13.6': {} + '@orpc/interop@1.13.7': {} - '@orpc/json-schema@1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0)': + '@orpc/json-schema@1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0)': dependencies: - '@orpc/contract': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/interop': 1.13.6 - '@orpc/openapi': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/server': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/interop': 1.13.7 + '@orpc/openapi': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/server': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) json-schema-typed: 8.0.2 transitivePeerDependencies: - '@opentelemetry/api' @@ -9876,24 +9849,24 @@ snapshots: - fastify - ws - '@orpc/openapi-client@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/openapi-client@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/contract': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/openapi@1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0)': + '@orpc/openapi@1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0)': dependencies: - '@orpc/client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/contract': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/interop': 1.13.6 - '@orpc/openapi-client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/server': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/interop': 1.13.7 + '@orpc/openapi-client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/server': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) json-schema-typed: 8.0.2 rou3: 0.7.12 transitivePeerDependencies: @@ -9902,93 +9875,93 @@ snapshots: - fastify - ws - '@orpc/server@1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0)': + '@orpc/server@1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0)': dependencies: - '@orpc/client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/contract': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/interop': 1.13.6 - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-aws-lambda': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fastify': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-peer': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/interop': 1.13.7 + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-aws-lambda': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fastify': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fetch': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-node': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-peer': 1.13.7(@opentelemetry/api@1.9.0) cookie: 1.1.1 optionalDependencies: - crossws: 0.4.4(srvx@0.10.1) + crossws: 0.4.4(srvx@0.11.12) ws: 8.19.0 transitivePeerDependencies: - '@opentelemetry/api' - fastify - '@orpc/shared@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/shared@1.13.7(@opentelemetry/api@1.9.0)': dependencies: radash: 12.1.1 type-fest: 5.4.4 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@orpc/standard-server-aws-lambda@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server-aws-lambda@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fetch': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-node': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/standard-server-fastify@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server-fastify@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-node': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/standard-server-fetch@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server-fetch@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/standard-server-node@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server-node@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fetch': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fetch': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/standard-server-peer@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server-peer@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/standard-server@1.13.6(@opentelemetry/api@1.9.0)': + '@orpc/standard-server@1.13.7(@opentelemetry/api@1.9.0)': dependencies: - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/tanstack-query@1.13.6(@opentelemetry/api@1.9.0)(@orpc/client@1.13.6(@opentelemetry/api@1.9.0))(@tanstack/query-core@5.90.20)': + '@orpc/tanstack-query@1.13.7(@opentelemetry/api@1.9.0)(@orpc/client@1.13.7(@opentelemetry/api@1.9.0))(@tanstack/query-core@5.90.20)': dependencies: - '@orpc/client': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/client': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) '@tanstack/query-core': 5.90.20 transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/zod@1.13.6(@opentelemetry/api@1.9.0)(@orpc/contract@1.13.6(@opentelemetry/api@1.9.0))(@orpc/server@1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0))(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0)(zod@4.3.6)': + '@orpc/zod@1.13.7(@opentelemetry/api@1.9.0)(@orpc/contract@1.13.7(@opentelemetry/api@1.9.0))(@orpc/server@1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0))(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0)(zod@4.3.6)': dependencies: - '@orpc/contract': 1.13.6(@opentelemetry/api@1.9.0) - '@orpc/json-schema': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/openapi': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/server': 1.13.6(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.10.1))(ws@8.19.0) - '@orpc/shared': 1.13.6(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.13.7(@opentelemetry/api@1.9.0) + '@orpc/json-schema': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/openapi': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/server': 1.13.7(@opentelemetry/api@1.9.0)(crossws@0.4.4(srvx@0.11.12))(ws@8.19.0) + '@orpc/shared': 1.13.7(@opentelemetry/api@1.9.0) escape-string-regexp: 5.0.0 wildcard-match: 5.1.4 zod: 4.3.6 @@ -9998,68 +9971,6 @@ snapshots: - fastify - ws - '@oxc-minify/binding-android-arm-eabi@0.110.0': - optional: true - - '@oxc-minify/binding-android-arm64@0.110.0': - optional: true - - '@oxc-minify/binding-darwin-arm64@0.110.0': - optional: true - - '@oxc-minify/binding-darwin-x64@0.110.0': - optional: true - - '@oxc-minify/binding-freebsd-x64@0.110.0': - optional: true - - '@oxc-minify/binding-linux-arm-gnueabihf@0.110.0': - optional: true - - '@oxc-minify/binding-linux-arm-musleabihf@0.110.0': - optional: true - - '@oxc-minify/binding-linux-arm64-gnu@0.110.0': - optional: true - - '@oxc-minify/binding-linux-arm64-musl@0.110.0': - optional: true - - '@oxc-minify/binding-linux-ppc64-gnu@0.110.0': - optional: true - - '@oxc-minify/binding-linux-riscv64-gnu@0.110.0': - optional: true - - '@oxc-minify/binding-linux-riscv64-musl@0.110.0': - optional: true - - '@oxc-minify/binding-linux-s390x-gnu@0.110.0': - optional: true - - '@oxc-minify/binding-linux-x64-gnu@0.110.0': - optional: true - - '@oxc-minify/binding-linux-x64-musl@0.110.0': - optional: true - - '@oxc-minify/binding-openharmony-arm64@0.110.0': - optional: true - - '@oxc-minify/binding-wasm32-wasi@0.110.0': - dependencies: - '@napi-rs/wasm-runtime': 1.1.1 - optional: true - - '@oxc-minify/binding-win32-arm64-msvc@0.110.0': - optional: true - - '@oxc-minify/binding-win32-ia32-msvc@0.110.0': - optional: true - - '@oxc-minify/binding-win32-x64-msvc@0.110.0': - optional: true - '@oxc-project/runtime@0.115.0': {} '@oxc-project/types@0.115.0': {} @@ -10126,68 +10037,6 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.19.1': optional: true - '@oxc-transform/binding-android-arm-eabi@0.110.0': - optional: true - - '@oxc-transform/binding-android-arm64@0.110.0': - optional: true - - '@oxc-transform/binding-darwin-arm64@0.110.0': - optional: true - - '@oxc-transform/binding-darwin-x64@0.110.0': - optional: true - - '@oxc-transform/binding-freebsd-x64@0.110.0': - optional: true - - '@oxc-transform/binding-linux-arm-gnueabihf@0.110.0': - optional: true - - '@oxc-transform/binding-linux-arm-musleabihf@0.110.0': - optional: true - - '@oxc-transform/binding-linux-arm64-gnu@0.110.0': - optional: true - - '@oxc-transform/binding-linux-arm64-musl@0.110.0': - optional: true - - '@oxc-transform/binding-linux-ppc64-gnu@0.110.0': - optional: true - - '@oxc-transform/binding-linux-riscv64-gnu@0.110.0': - optional: true - - '@oxc-transform/binding-linux-riscv64-musl@0.110.0': - optional: true - - '@oxc-transform/binding-linux-s390x-gnu@0.110.0': - optional: true - - '@oxc-transform/binding-linux-x64-gnu@0.110.0': - optional: true - - '@oxc-transform/binding-linux-x64-musl@0.110.0': - optional: true - - '@oxc-transform/binding-openharmony-arm64@0.110.0': - optional: true - - '@oxc-transform/binding-wasm32-wasi@0.110.0': - dependencies: - '@napi-rs/wasm-runtime': 1.1.1 - optional: true - - '@oxc-transform/binding-win32-arm64-msvc@0.110.0': - optional: true - - '@oxc-transform/binding-win32-ia32-msvc@0.110.0': - optional: true - - '@oxc-transform/binding-win32-x64-msvc@0.110.0': - optional: true - '@phosphor-icons/react@2.1.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: react: 19.2.4 @@ -10195,7 +10044,8 @@ snapshots: '@phosphor-icons/web@2.1.2': {} - '@prisma/client-runtime-utils@7.4.2': {} + '@prisma/client-runtime-utils@7.4.2': + optional: true '@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3)': dependencies: @@ -10203,6 +10053,7 @@ snapshots: optionalDependencies: prisma: 7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) typescript: 5.9.3 + optional: true '@prisma/config@7.4.2': dependencies: @@ -10212,10 +10063,13 @@ snapshots: empathic: 2.0.0 transitivePeerDependencies: - magicast + optional: true - '@prisma/debug@7.2.0': {} + '@prisma/debug@7.2.0': + optional: true - '@prisma/debug@7.4.2': {} + '@prisma/debug@7.4.2': + optional: true '@prisma/dev@0.20.0(typescript@5.9.3)': dependencies: @@ -10238,8 +10092,10 @@ snapshots: zeptomatch: 2.1.0 transitivePeerDependencies: - typescript + optional: true - '@prisma/engines-version@7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919': {} + '@prisma/engines-version@7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919': + optional: true '@prisma/engines@7.4.2': dependencies: @@ -10247,28 +10103,34 @@ snapshots: '@prisma/engines-version': 7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919 '@prisma/fetch-engine': 7.4.2 '@prisma/get-platform': 7.4.2 + optional: true '@prisma/fetch-engine@7.4.2': dependencies: '@prisma/debug': 7.4.2 '@prisma/engines-version': 7.5.0-10.94a226be1cf2967af2541cca5529f0f7ba866919 '@prisma/get-platform': 7.4.2 + optional: true '@prisma/get-platform@7.2.0': dependencies: '@prisma/debug': 7.2.0 + optional: true '@prisma/get-platform@7.4.2': dependencies: '@prisma/debug': 7.4.2 + optional: true - '@prisma/query-plan-executor@7.2.0': {} + '@prisma/query-plan-executor@7.2.0': + optional: true '@prisma/studio-core@0.13.1(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@types/react': 19.2.14 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) + optional: true '@puppeteer/browsers@2.13.0': dependencies: @@ -10285,145 +10147,14 @@ snapshots: - react-native-b4a - supports-color - '@radix-ui/number@1.1.1': {} - '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: '@types/react': 19.2.14 - '@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 @@ -10452,12 +10183,6 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.4)': - dependencies: - react: 19.2.4 - optionalDependencies: - '@types/react': 19.2.14 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -10471,21 +10196,6 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 @@ -10503,37 +10213,6 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-form@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) @@ -10541,158 +10220,6 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - aria-hidden: 1.2.6 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-menubar@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-password-toggle-field@0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - aria-hidden: 1.2.6 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/rect': 1.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -10731,125 +10258,6 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - aria-hidden: 1.2.6 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.4)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) @@ -10864,118 +10272,6 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 @@ -11004,98 +10300,75 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.2.4)': - dependencies: - react: 19.2.4 - use-sync-external-store: 1.6.0(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: react: 19.2.4 optionalDependencies: '@types/react': 19.2.14 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.4)': - dependencies: - react: 19.2.4 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.4)': - dependencies: - '@radix-ui/rect': 1.1.1 - react: 19.2.4 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.4)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - react: 19.2.4 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - - '@radix-ui/rect@1.1.1': {} - '@remirror/core-constants@3.0.0': {} - '@rolldown/binding-android-arm64@1.0.0-rc.6': + '@rolldown/binding-android-arm64@1.0.0-rc.9': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.6': + '@rolldown/binding-darwin-arm64@1.0.0-rc.9': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.6': + '@rolldown/binding-darwin-x64@1.0.0-rc.9': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.6': + '@rolldown/binding-freebsd-x64@1.0.0-rc.9': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.6': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.6': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.6': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.6': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.6': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.6': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.6': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.9': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.9': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.6': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.6': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9': optional: true + '@rolldown/plugin-babel@0.2.1(@babel/core@7.29.0)(@babel/runtime@7.28.6)(rolldown@1.0.0-rc.9)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': + dependencies: + '@babel/core': 7.29.0 + picomatch: 4.0.3 + rolldown: 1.0.0-rc.9 + optionalDependencies: + '@babel/runtime': 7.28.6 + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + '@rolldown/pluginutils@1.0.0-beta.40': {} - '@rolldown/pluginutils@1.0.0-rc.3': {} + '@rolldown/pluginutils@1.0.0-rc.7': {} - '@rolldown/pluginutils@1.0.0-rc.6': {} + '@rolldown/pluginutils@1.0.0-rc.9': {} '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.80.0)': dependencies: @@ -11147,8 +10420,12 @@ snapshots: optionalDependencies: rollup: 2.80.0 + '@sec-ant/readable-stream@0.4.1': {} + '@sinclair/typebox@0.27.10': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sindresorhus/slugify@3.0.0': dependencies: '@sindresorhus/transliterate': 2.3.1 @@ -11156,9 +10433,9 @@ snapshots: '@sindresorhus/transliterate@2.3.1': {} - '@smithy/abort-controller@4.2.11': + '@smithy/abort-controller@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@smithy/chunked-blob-reader-native@4.2.3': @@ -11170,97 +10447,97 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.4.10': + '@smithy/config-resolver@4.4.11': dependencies: - '@smithy/node-config-provider': 4.3.11 - '@smithy/types': 4.13.0 + '@smithy/node-config-provider': 4.3.12 + '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 - '@smithy/util-endpoints': 3.3.2 - '@smithy/util-middleware': 4.2.11 + '@smithy/util-endpoints': 3.3.3 + '@smithy/util-middleware': 4.2.12 tslib: 2.8.1 - '@smithy/core@3.23.8': + '@smithy/core@3.23.12': dependencies: - '@smithy/middleware-serde': 4.2.12 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-stream': 4.5.17 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-stream': 4.5.20 '@smithy/util-utf8': 4.2.2 '@smithy/uuid': 1.1.2 tslib: 2.8.1 - '@smithy/credential-provider-imds@4.2.11': + '@smithy/credential-provider-imds@4.2.12': dependencies: - '@smithy/node-config-provider': 4.3.11 - '@smithy/property-provider': 4.2.11 - '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 + '@smithy/node-config-provider': 4.3.12 + '@smithy/property-provider': 4.2.12 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 tslib: 2.8.1 - '@smithy/eventstream-codec@4.2.11': + '@smithy/eventstream-codec@4.2.12': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 '@smithy/util-hex-encoding': 4.2.2 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.2.11': + '@smithy/eventstream-serde-browser@4.2.12': dependencies: - '@smithy/eventstream-serde-universal': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/eventstream-serde-universal': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.3.11': + '@smithy/eventstream-serde-config-resolver@4.3.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.2.11': + '@smithy/eventstream-serde-node@4.2.12': dependencies: - '@smithy/eventstream-serde-universal': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/eventstream-serde-universal': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.2.11': + '@smithy/eventstream-serde-universal@4.2.12': dependencies: - '@smithy/eventstream-codec': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/eventstream-codec': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.3.13': + '@smithy/fetch-http-handler@5.3.15': dependencies: - '@smithy/protocol-http': 5.3.11 - '@smithy/querystring-builder': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/querystring-builder': 4.2.12 + '@smithy/types': 4.13.1 '@smithy/util-base64': 4.3.2 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.2.12': + '@smithy/hash-blob-browser@4.2.13': dependencies: '@smithy/chunked-blob-reader': 5.2.2 '@smithy/chunked-blob-reader-native': 4.2.3 - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/hash-node@4.2.11': + '@smithy/hash-node@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 '@smithy/util-buffer-from': 4.2.2 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/hash-stream-node@4.2.11': + '@smithy/hash-stream-node@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/invalid-dependency@4.2.11': + '@smithy/invalid-dependency@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -11271,126 +10548,127 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/md5-js@4.2.11': + '@smithy/md5-js@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/middleware-content-length@4.2.11': + '@smithy/middleware-content-length@4.2.12': dependencies: - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.22': + '@smithy/middleware-endpoint@4.4.26': dependencies: - '@smithy/core': 3.23.8 - '@smithy/middleware-serde': 4.2.12 - '@smithy/node-config-provider': 4.3.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 - '@smithy/url-parser': 4.2.11 - '@smithy/util-middleware': 4.2.11 + '@smithy/core': 3.23.12 + '@smithy/middleware-serde': 4.2.15 + '@smithy/node-config-provider': 4.3.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 + '@smithy/url-parser': 4.2.12 + '@smithy/util-middleware': 4.2.12 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.39': + '@smithy/middleware-retry@4.4.43': dependencies: - '@smithy/node-config-provider': 4.3.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/service-error-classification': 4.2.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 - '@smithy/util-middleware': 4.2.11 - '@smithy/util-retry': 4.2.11 + '@smithy/node-config-provider': 4.3.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/service-error-classification': 4.2.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 + '@smithy/util-middleware': 4.2.12 + '@smithy/util-retry': 4.2.12 '@smithy/uuid': 1.1.2 tslib: 2.8.1 - '@smithy/middleware-serde@4.2.12': + '@smithy/middleware-serde@4.2.15': dependencies: - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/core': 3.23.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/middleware-stack@4.2.11': + '@smithy/middleware-stack@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/node-config-provider@4.3.11': + '@smithy/node-config-provider@4.3.12': dependencies: - '@smithy/property-provider': 4.2.11 - '@smithy/shared-ini-file-loader': 4.4.6 - '@smithy/types': 4.13.0 + '@smithy/property-provider': 4.2.12 + '@smithy/shared-ini-file-loader': 4.4.7 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/node-http-handler@4.4.14': + '@smithy/node-http-handler@4.5.0': dependencies: - '@smithy/abort-controller': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/querystring-builder': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/abort-controller': 4.2.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/querystring-builder': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/property-provider@4.2.11': + '@smithy/property-provider@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/protocol-http@5.3.11': + '@smithy/protocol-http@5.3.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/querystring-builder@4.2.11': + '@smithy/querystring-builder@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 '@smithy/util-uri-escape': 4.2.2 tslib: 2.8.1 - '@smithy/querystring-parser@4.2.11': + '@smithy/querystring-parser@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/service-error-classification@4.2.11': + '@smithy/service-error-classification@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 - '@smithy/shared-ini-file-loader@4.4.6': + '@smithy/shared-ini-file-loader@4.4.7': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/signature-v4@5.3.11': + '@smithy/signature-v4@5.3.12': dependencies: '@smithy/is-array-buffer': 4.2.2 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 '@smithy/util-hex-encoding': 4.2.2 - '@smithy/util-middleware': 4.2.11 + '@smithy/util-middleware': 4.2.12 '@smithy/util-uri-escape': 4.2.2 '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/smithy-client@4.12.2': + '@smithy/smithy-client@4.12.6': dependencies: - '@smithy/core': 3.23.8 - '@smithy/middleware-endpoint': 4.4.22 - '@smithy/middleware-stack': 4.2.11 - '@smithy/protocol-http': 5.3.11 - '@smithy/types': 4.13.0 - '@smithy/util-stream': 4.5.17 + '@smithy/core': 3.23.12 + '@smithy/middleware-endpoint': 4.4.26 + '@smithy/middleware-stack': 4.2.12 + '@smithy/protocol-http': 5.3.12 + '@smithy/types': 4.13.1 + '@smithy/util-stream': 4.5.20 tslib: 2.8.1 - '@smithy/types@4.13.0': + '@smithy/types@4.13.1': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.2.11': + '@smithy/url-parser@4.2.12': dependencies: - '@smithy/querystring-parser': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/querystring-parser': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@smithy/util-base64@4.3.2': @@ -11421,49 +10699,49 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.3.38': + '@smithy/util-defaults-mode-browser@4.3.42': dependencies: - '@smithy/property-provider': 4.2.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 + '@smithy/property-provider': 4.2.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.2.41': + '@smithy/util-defaults-mode-node@4.2.45': dependencies: - '@smithy/config-resolver': 4.4.10 - '@smithy/credential-provider-imds': 4.2.11 - '@smithy/node-config-provider': 4.3.11 - '@smithy/property-provider': 4.2.11 - '@smithy/smithy-client': 4.12.2 - '@smithy/types': 4.13.0 + '@smithy/config-resolver': 4.4.11 + '@smithy/credential-provider-imds': 4.2.12 + '@smithy/node-config-provider': 4.3.12 + '@smithy/property-provider': 4.2.12 + '@smithy/smithy-client': 4.12.6 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/util-endpoints@3.3.2': + '@smithy/util-endpoints@3.3.3': dependencies: - '@smithy/node-config-provider': 4.3.11 - '@smithy/types': 4.13.0 + '@smithy/node-config-provider': 4.3.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@smithy/util-hex-encoding@4.2.2': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.2.11': + '@smithy/util-middleware@4.2.12': dependencies: - '@smithy/types': 4.13.0 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/util-retry@4.2.11': + '@smithy/util-retry@4.2.12': dependencies: - '@smithy/service-error-classification': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/service-error-classification': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/util-stream@4.5.17': + '@smithy/util-stream@4.5.20': dependencies: - '@smithy/fetch-http-handler': 5.3.13 - '@smithy/node-http-handler': 4.4.14 - '@smithy/types': 4.13.0 + '@smithy/fetch-http-handler': 5.3.15 + '@smithy/node-http-handler': 4.5.0 + '@smithy/types': 4.13.1 '@smithy/util-base64': 4.3.2 '@smithy/util-buffer-from': 4.2.2 '@smithy/util-hex-encoding': 4.2.2 @@ -11484,10 +10762,10 @@ snapshots: '@smithy/util-buffer-from': 4.2.2 tslib: 2.8.1 - '@smithy/util-waiter@4.2.11': + '@smithy/util-waiter@4.2.13': dependencies: - '@smithy/abort-controller': 4.2.11 - '@smithy/types': 4.13.0 + '@smithy/abort-controller': 4.2.12 + '@smithy/types': 4.13.1 tslib: 2.8.1 '@smithy/uuid@1.1.2': @@ -11572,14 +10850,14 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.2.1 '@tailwindcss/oxide-win32-x64-msvc': 4.2.1 - '@tailwindcss/vite@4.2.1(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@tailwindcss/vite@4.2.1(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@tailwindcss/node': 4.2.1 '@tailwindcss/oxide': 4.2.1 tailwindcss: 4.2.1 - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) - '@tanstack/history@1.161.4': {} + '@tanstack/history@1.161.6': {} '@tanstack/query-core@5.90.20': {} @@ -11588,63 +10866,63 @@ snapshots: '@tanstack/query-core': 5.90.20 react: 19.2.4 - '@tanstack/react-router-ssr-query@1.166.2(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.21(react@19.2.4))(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.166.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-router-ssr-query@1.166.9(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.21(react@19.2.4))(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.167.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@tanstack/query-core': 5.90.20 '@tanstack/react-query': 5.90.21(react@19.2.4) - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-ssr-query-core': 1.166.2(@tanstack/query-core@5.90.20)(@tanstack/router-core@1.166.2) + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/router-ssr-query-core': 1.166.9(@tanstack/query-core@5.90.20)(@tanstack/router-core@1.167.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) transitivePeerDependencies: - '@tanstack/router-core' - '@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tanstack/history': 1.161.4 + '@tanstack/history': 1.161.6 '@tanstack/react-store': 0.9.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-core': 1.166.2 + '@tanstack/router-core': 1.167.4 isbot: 5.1.35 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-start-client@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-start-client@1.166.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-core': 1.166.2 - '@tanstack/start-client-core': 1.166.2 + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/router-core': 1.167.4 + '@tanstack/start-client-core': 1.166.12 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-start-server@1.166.2(crossws@0.4.4(srvx@0.10.1))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-start-server@1.166.13(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tanstack/history': 1.161.4 - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-core': 1.166.2 - '@tanstack/start-client-core': 1.166.2 - '@tanstack/start-server-core': 1.166.2(crossws@0.4.4(srvx@0.10.1)) + '@tanstack/history': 1.161.6 + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/router-core': 1.167.4 + '@tanstack/start-client-core': 1.166.12 + '@tanstack/start-server-core': 1.166.12(crossws@0.4.4(srvx@0.11.12)) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) transitivePeerDependencies: - crossws - '@tanstack/react-start@1.166.2(crossws@0.4.4(srvx@0.10.1))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/react-start-client': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/react-start-server': 1.166.2(crossws@0.4.4(srvx@0.10.1))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-utils': 1.161.4 - '@tanstack/start-client-core': 1.166.2 - '@tanstack/start-plugin-core': 1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(crossws@0.4.4(srvx@0.10.1))(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) - '@tanstack/start-server-core': 1.166.2(crossws@0.4.4(srvx@0.10.1)) + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/react-start-client': 1.166.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/react-start-server': 1.166.13(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/router-utils': 1.161.6 + '@tanstack/start-client-core': 1.166.12 + '@tanstack/start-plugin-core': 1.167.0(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(crossws@0.4.4(srvx@0.11.12))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@tanstack/start-server-core': 1.166.12(crossws@0.4.4(srvx@0.11.12)) pathe: 2.0.3 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@rsbuild/core' - crossws @@ -11659,9 +10937,9 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.6.0(react@19.2.4) - '@tanstack/router-core@1.166.2': + '@tanstack/router-core@1.167.4': dependencies: - '@tanstack/history': 1.161.4 + '@tanstack/history': 1.161.6 '@tanstack/store': 0.9.1 cookie-es: 2.0.0 seroval: 1.5.0 @@ -11669,11 +10947,11 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/router-generator@1.166.2': + '@tanstack/router-generator@1.166.12': dependencies: - '@tanstack/router-core': 1.166.2 - '@tanstack/router-utils': 1.161.4 - '@tanstack/virtual-file-routes': 1.161.4 + '@tanstack/router-core': 1.167.4 + '@tanstack/router-utils': 1.161.6 + '@tanstack/virtual-file-routes': 1.161.7 prettier: 3.8.1 recast: 0.23.11 source-map: 0.7.6 @@ -11682,7 +10960,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@tanstack/router-plugin@1.166.13(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) @@ -11690,25 +10968,25 @@ snapshots: '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 - '@tanstack/router-core': 1.166.2 - '@tanstack/router-generator': 1.166.2 - '@tanstack/router-utils': 1.161.4 - '@tanstack/virtual-file-routes': 1.161.4 + '@tanstack/router-core': 1.167.4 + '@tanstack/router-generator': 1.166.12 + '@tanstack/router-utils': 1.161.6 + '@tanstack/virtual-file-routes': 1.161.7 chokidar: 3.6.0 unplugin: 2.3.11 zod: 3.25.76 optionalDependencies: - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@tanstack/router-ssr-query-core@1.166.2(@tanstack/query-core@5.90.20)(@tanstack/router-core@1.166.2)': + '@tanstack/router-ssr-query-core@1.166.9(@tanstack/query-core@5.90.20)(@tanstack/router-core@1.167.4)': dependencies: '@tanstack/query-core': 5.90.20 - '@tanstack/router-core': 1.166.2 + '@tanstack/router-core': 1.167.4 - '@tanstack/router-utils@1.161.4': + '@tanstack/router-utils@1.161.6': dependencies: '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -11722,39 +11000,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/start-client-core@1.166.2': + '@tanstack/start-client-core@1.166.12': dependencies: - '@tanstack/router-core': 1.166.2 - '@tanstack/start-fn-stubs': 1.161.4 - '@tanstack/start-storage-context': 1.166.2 + '@tanstack/router-core': 1.167.4 + '@tanstack/start-fn-stubs': 1.161.6 + '@tanstack/start-storage-context': 1.166.12 seroval: 1.5.0 tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/start-fn-stubs@1.161.4': {} + '@tanstack/start-fn-stubs@1.161.6': {} - '@tanstack/start-plugin-core@1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(crossws@0.4.4(srvx@0.10.1))(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@tanstack/start-plugin-core@1.167.0(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(crossws@0.4.4(srvx@0.11.12))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 '@babel/types': 7.29.0 '@rolldown/pluginutils': 1.0.0-beta.40 - '@tanstack/router-core': 1.166.2 - '@tanstack/router-generator': 1.166.2 - '@tanstack/router-plugin': 1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) - '@tanstack/router-utils': 1.161.4 - '@tanstack/start-client-core': 1.166.2 - '@tanstack/start-server-core': 1.166.2(crossws@0.4.4(srvx@0.10.1)) + '@tanstack/router-core': 1.167.4 + '@tanstack/router-generator': 1.166.12 + '@tanstack/router-plugin': 1.166.13(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + '@tanstack/router-utils': 1.161.6 + '@tanstack/start-client-core': 1.166.12 + '@tanstack/start-server-core': 1.166.12(crossws@0.4.4(srvx@0.11.12)) cheerio: 1.2.0 exsolve: 1.0.8 pathe: 2.0.3 picomatch: 4.0.3 source-map: 0.7.6 - srvx: 0.11.8 + srvx: 0.11.12 tinyglobby: 0.2.15 ufo: 1.6.3 - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) - vitefu: 1.1.2(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + vitefu: 1.1.2(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) xmlbuilder2: 4.0.3 zod: 3.25.76 transitivePeerDependencies: @@ -11765,159 +11043,159 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/start-server-core@1.166.2(crossws@0.4.4(srvx@0.10.1))': + '@tanstack/start-server-core@1.166.12(crossws@0.4.4(srvx@0.11.12))': dependencies: - '@tanstack/history': 1.161.4 - '@tanstack/router-core': 1.166.2 - '@tanstack/start-client-core': 1.166.2 - '@tanstack/start-storage-context': 1.166.2 - h3-v2: h3@2.0.1-rc.14(crossws@0.4.4(srvx@0.10.1)) + '@tanstack/history': 1.161.6 + '@tanstack/router-core': 1.167.4 + '@tanstack/start-client-core': 1.166.12 + '@tanstack/start-storage-context': 1.166.12 + h3-v2: h3@2.0.1-rc.16(crossws@0.4.4(srvx@0.11.12)) seroval: 1.5.0 tiny-invariant: 1.3.3 transitivePeerDependencies: - crossws - '@tanstack/start-storage-context@1.166.2': + '@tanstack/start-storage-context@1.166.12': dependencies: - '@tanstack/router-core': 1.166.2 + '@tanstack/router-core': 1.167.4 '@tanstack/store@0.9.1': {} - '@tanstack/virtual-file-routes@1.161.4': {} + '@tanstack/virtual-file-routes@1.161.7': {} - '@tanstack/zod-adapter@1.166.2(@tanstack/react-router@1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(zod@4.3.6)': + '@tanstack/zod-adapter@1.166.9(@tanstack/react-router@1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(zod@4.3.6)': dependencies: - '@tanstack/react-router': 1.166.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tanstack/react-router': 1.167.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) zod: 4.3.6 '@tediousjs/connection-string@0.5.0': {} - '@tiptap/core@3.20.1(@tiptap/pm@3.20.1)': + '@tiptap/core@3.20.4(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/pm': 3.20.1 + '@tiptap/pm': 3.20.4 - '@tiptap/extension-blockquote@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-blockquote@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-bold@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-bold@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-bubble-menu@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-bubble-menu@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: '@floating-ui/dom': 1.7.6 - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 optional: true - '@tiptap/extension-bullet-list@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-bullet-list@3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-code-block@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-code-block@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 - '@tiptap/extension-code@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-code@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-document@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-document@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-dropcursor@3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-dropcursor@3.20.4(@tiptap/extensions@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extensions': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-floating-menu@3.20.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-floating-menu@3.20.4(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: '@floating-ui/dom': 1.7.6 - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 optional: true - '@tiptap/extension-gapcursor@3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-gapcursor@3.20.4(@tiptap/extensions@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extensions': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-hard-break@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-hard-break@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-heading@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-heading@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-highlight@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-highlight@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-horizontal-rule@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-horizontal-rule@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 - '@tiptap/extension-italic@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-italic@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-link@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-link@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 linkifyjs: 4.3.2 - '@tiptap/extension-list-item@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-list-item@3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-list-keymap@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-list-keymap@3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 - '@tiptap/extension-ordered-list@3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1))': + '@tiptap/extension-ordered-list@3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-list': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) - '@tiptap/extension-paragraph@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-paragraph@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-strike@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-strike@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-table@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extension-table@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 - '@tiptap/extension-text-align@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-text-align@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-text@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-text@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extension-underline@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))': + '@tiptap/extension-underline@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) - '@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)': + '@tiptap/extensions@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 - '@tiptap/pm@3.20.1': + '@tiptap/pm@3.20.4': dependencies: prosemirror-changeset: 2.4.0 prosemirror-collab: 1.3.1 @@ -11938,10 +11216,10 @@ snapshots: prosemirror-transform: 1.11.0 prosemirror-view: 1.41.6 - '@tiptap/react@3.20.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tiptap/react@3.20.4(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 @@ -11950,40 +11228,46 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-floating-menu': 3.20.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) + '@tiptap/extension-bubble-menu': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/extension-floating-menu': 3.20.4(@floating-ui/dom@1.7.6)(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.20.1': + '@tiptap/starter-kit@3.20.4': dependencies: - '@tiptap/core': 3.20.1(@tiptap/pm@3.20.1) - '@tiptap/extension-blockquote': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-bold': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-bullet-list': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-code': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-code-block': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-document': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-dropcursor': 3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-gapcursor': 3.20.1(@tiptap/extensions@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-hard-break': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-heading': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-horizontal-rule': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-italic': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-link': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-list': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/extension-list-item': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-list-keymap': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-ordered-list': 3.20.1(@tiptap/extension-list@3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1)) - '@tiptap/extension-paragraph': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-strike': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-text': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extension-underline': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1)) - '@tiptap/extensions': 3.20.1(@tiptap/core@3.20.1(@tiptap/pm@3.20.1))(@tiptap/pm@3.20.1) - '@tiptap/pm': 3.20.1 + '@tiptap/core': 3.20.4(@tiptap/pm@3.20.4) + '@tiptap/extension-blockquote': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-bold': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-bullet-list': 3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-code': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-code-block': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/extension-document': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-dropcursor': 3.20.4(@tiptap/extensions@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-gapcursor': 3.20.4(@tiptap/extensions@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-hard-break': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-heading': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-horizontal-rule': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/extension-italic': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-link': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/extension-list': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/extension-list-item': 3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-list-keymap': 3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-ordered-list': 3.20.4(@tiptap/extension-list@3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4)) + '@tiptap/extension-paragraph': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-strike': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-text': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extension-underline': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4)) + '@tiptap/extensions': 3.20.4(@tiptap/core@3.20.4(@tiptap/pm@3.20.4))(@tiptap/pm@3.20.4) + '@tiptap/pm': 3.20.4 '@tootallnate/quickjs-emscripten@0.23.0': {} + '@ts-morph/common@0.27.0': + dependencies: + fast-glob: 3.3.3 + minimatch: 10.2.4 + path-browserify: 1.0.1 + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 @@ -11996,23 +11280,27 @@ snapshots: '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 + optional: true '@types/babel__generator@7.27.0': dependencies: '@babel/types': 7.29.0 + optional: true '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 + optional: true '@types/babel__traverse@7.28.0': dependencies: '@babel/types': 7.29.0 + optional: true '@types/bcrypt@6.0.0': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 '@types/estree@0.0.39': {} @@ -12041,26 +11329,26 @@ snapshots: '@types/mssql@9.1.9(@azure/core-client@1.10.1)': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 tarn: 3.0.2 tedious: 19.2.1(@azure/core-client@1.10.1) transitivePeerDependencies: - '@azure/core-client' - supports-color - '@types/node@25.3.5': + '@types/node@25.5.0': dependencies: undici-types: 7.18.2 '@types/nodemailer@7.0.11': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 '@types/parse-json@4.0.2': {} '@types/pg@8.18.0': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 pg-protocol: 1.12.0 pg-types: 2.2.0 @@ -12074,14 +11362,18 @@ snapshots: '@types/readable-stream@4.0.23': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 '@types/resolve@1.20.2': {} + '@types/statuses@2.0.6': {} + '@types/trusted-types@2.0.7': {} '@types/use-sync-external-store@0.0.6': {} + '@types/validate-npm-package-name@4.0.2': {} + '@types/webidl-conversions@7.0.3': {} '@types/whatwg-url@13.0.0': @@ -12096,9 +11388,40 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 optional: true + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260317.1': + optional: true + + '@typescript/native-preview@7.0.0-dev.20260317.1': + optionalDependencies: + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260317.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260317.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260317.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260317.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260317.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260317.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260317.1 + '@typespec/ts-http-runtime@0.3.3': dependencies: http-proxy-agent: 7.0.2 @@ -12107,19 +11430,60 @@ snapshots: transitivePeerDependencies: - supports-color + '@uiw/color-convert@2.9.6(@babel/runtime@7.28.6)': + dependencies: + '@babel/runtime': 7.28.6 + + '@uiw/react-color-alpha@2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@uiw/color-convert': 2.9.6(@babel/runtime@7.28.6) + '@uiw/react-drag-event-interactive': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + '@uiw/react-color-colorful@2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@uiw/color-convert': 2.9.6(@babel/runtime@7.28.6) + '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@uiw/react-color-hue': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@uiw/react-color-saturation': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + '@uiw/react-color-hue@2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@uiw/color-convert': 2.9.6(@babel/runtime@7.28.6) + '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + '@uiw/react-color-saturation@2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@uiw/color-convert': 2.9.6(@babel/runtime@7.28.6) + '@uiw/react-drag-event-interactive': 2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + '@uiw/react-drag-event-interactive@2.9.6(@babel/runtime@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + '@vercel/oidc@3.1.0': {} - '@vitejs/plugin-react@5.1.4(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))': + '@vitejs/plugin-react@6.0.1(@rolldown/plugin-babel@0.2.1(@babel/core@7.29.0)(@babel/runtime@7.28.6)(rolldown@1.0.0-rc.9)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-rc.3 - '@types/babel__core': 7.20.5 - react-refresh: 0.18.0 - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) - transitivePeerDependencies: - - supports-color + '@rolldown/pluginutils': 1.0.0-rc.7 + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) + optionalDependencies: + '@rolldown/plugin-babel': 0.2.1(@babel/core@7.29.0)(@babel/runtime@7.28.6)(rolldown@1.0.0-rc.9)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + + '@xmldom/is-dom-node@1.0.1': {} '@xmldom/xmldom@0.8.11': {} @@ -12138,12 +11502,12 @@ snapshots: agent-base@7.1.4: {} - ai-sdk-ollama@3.8.0(ai@6.0.116(zod@4.3.6))(zod@4.3.6): + ai-sdk-ollama@3.8.1(ai@6.0.116(zod@4.3.6))(zod@4.3.6): dependencies: '@ai-sdk/provider': 3.0.8 - '@ai-sdk/provider-utils': 4.0.17(zod@4.3.6) + '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) ai: 6.0.116(zod@4.3.6) - jsonrepair: 3.13.2 + jsonrepair: 3.13.3 ollama: 0.6.3 transitivePeerDependencies: - zod @@ -12169,6 +11533,8 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -12182,10 +11548,6 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} aria-hidden@1.2.6: @@ -12207,6 +11569,10 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -12225,7 +11591,8 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - aws-ssl-profiles@1.1.2: {} + aws-ssl-profiles@1.1.2: + optional: true b4a@1.8.0: {} @@ -12314,15 +11681,15 @@ snapshots: node-addon-api: 8.6.0 node-gyp-build: 4.8.4 - better-auth@1.5.4(4c1ffe6c2b2477b93b62ecdbf943eb27): + better-auth@1.5.5(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)))(drizzle-kit@1.0.0-beta.18-7eb39f0)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(pg@8.20.0)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - '@better-auth/core': 1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) - '@better-auth/drizzle-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6)) - '@better-auth/kysely-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11) - '@better-auth/memory-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1) - '@better-auth/mongo-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0(socks@2.8.7)) - '@better-auth/prisma-adapter': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)) - '@better-auth/telemetry': 1.5.4(@better-auth/core@1.5.4(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)) + '@better-auth/core': 1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1) + '@better-auth/drizzle-adapter': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6)) + '@better-auth/kysely-adapter': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(kysely@0.28.11) + '@better-auth/memory-adapter': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1) + '@better-auth/mongo-adapter': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(mongodb@7.1.0(socks@2.8.7)) + '@better-auth/prisma-adapter': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1))(@better-auth/utils@0.3.1)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)) + '@better-auth/telemetry': 1.5.5(@better-auth/core@1.5.5(@better-auth/utils@0.3.1)(@better-fetch/fetch@1.1.21)(better-call@1.3.2(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.1)) '@better-auth/utils': 0.3.1 '@better-fetch/fetch': 1.1.21 '@noble/ciphers': 2.1.1 @@ -12335,9 +11702,9 @@ snapshots: zod: 4.3.6 optionalDependencies: '@prisma/client': 7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) - '@tanstack/react-start': 1.166.2(crossws@0.4.4(srvx@0.10.1))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)) - drizzle-kit: 1.0.0-beta.16-ea816b6 - drizzle-orm: 1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) + '@tanstack/react-start': 1.166.16(crossws@0.4.4(srvx@0.11.12))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)) + drizzle-kit: 1.0.0-beta.18-7eb39f0 + drizzle-orm: 1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) mongodb: 7.1.0(socks@2.8.7) mysql2: 3.15.3 pg: 8.20.0 @@ -12356,6 +11723,15 @@ snapshots: optionalDependencies: zod: 4.3.6 + better-call@1.3.4(zod@4.3.6): + dependencies: + '@better-auth/utils': 0.3.1 + '@better-fetch/fetch': 1.1.21 + rou3: 0.7.12 + set-cookie-parser: 3.0.1 + optionalDependencies: + zod: 4.3.6 + binary-extensions@2.3.0: {} bl@4.1.0: @@ -12371,8 +11747,6 @@ snapshots: inherits: 2.0.4 readable-stream: 4.7.0 - bluebird@3.4.7: {} - body-parser@2.2.2: dependencies: bytes: 3.1.2 @@ -12445,6 +11819,7 @@ snapshots: perfect-debounce: 1.0.0 pkg-types: 2.3.0 rc9: 2.1.2 + optional: true cacache@20.0.3: dependencies: @@ -12481,6 +11856,8 @@ snapshots: camelcase@6.3.0: {} + camelcase@9.0.0: {} + caniuse-lite@1.0.30001776: {} chalk@4.1.2: @@ -12488,6 +11865,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.6.2: {} + cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -12519,6 +11898,7 @@ snapshots: '@chevrotain/utils': 10.5.0 lodash: 4.17.23 regexp-to-ast: 0.5.0 + optional: true chokidar@3.5.1: dependencies: @@ -12547,6 +11927,7 @@ snapshots: chokidar@4.0.3: dependencies: readdirp: 4.1.2 + optional: true chownr@3.0.0: {} @@ -12559,8 +11940,10 @@ snapshots: citty@0.1.6: dependencies: consola: 3.4.2 + optional: true - citty@0.2.1: {} + citty@0.2.1: + optional: true class-variance-authority@0.7.1: dependencies: @@ -12570,12 +11953,18 @@ snapshots: dependencies: restore-cursor: 3.1.0 + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + cli-spinners@2.9.2: {} cli-table@0.3.11: dependencies: colors: 1.0.3 + cli-width@4.1.0: {} + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -12598,6 +11987,8 @@ snapshots: - '@types/react' - '@types/react-dom' + code-block-writer@13.0.3: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -12610,11 +12001,14 @@ snapshots: commander@11.1.0: {} + commander@14.0.3: {} + commander@2.20.3: {} common-tags@1.8.2: {} - confbox@0.2.4: {} + confbox@0.2.4: + optional: true consola@3.4.2: {} @@ -12636,8 +12030,6 @@ snapshots: dependencies: browserslist: 4.28.1 - core-util-is@1.0.3: {} - cors@2.8.6: dependencies: object-assign: 4.1.1 @@ -12660,6 +12052,15 @@ snapshots: optionalDependencies: typescript: 5.9.3 + cosmiconfig@9.0.1(typescript@5.9.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.9.3 + crelt@1.0.6: {} cross-spawn@7.0.6: @@ -12668,9 +12069,9 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.4.4(srvx@0.10.1): + crossws@0.4.4(srvx@0.11.12): optionalDependencies: - srvx: 0.10.1 + srvx: 0.11.12 crypto-random-string@2.0.0: {} @@ -12684,8 +12085,12 @@ snapshots: css-what@6.2.2: {} + cssesc@3.0.0: {} + csstype@3.2.3: {} + data-uri-to-buffer@4.0.1: {} + data-uri-to-buffer@6.0.2: {} data-view-buffer@1.0.2: @@ -12708,17 +12113,22 @@ snapshots: date-fns@3.6.0: {} - db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3): + db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3): optionalDependencies: '@electric-sql/pglite': 0.3.15 - drizzle-orm: 1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) + drizzle-orm: 1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) mysql2: 3.15.3 debug@4.4.3: dependencies: ms: 2.1.3 - deepmerge-ts@7.1.5: {} + dedent@1.7.2(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 + + deepmerge-ts@7.1.5: + optional: true deepmerge@4.3.1: {} @@ -12755,13 +12165,15 @@ snapshots: escodegen: 2.1.0 esprima: 4.0.1 - denque@2.1.0: {} + denque@2.1.0: + optional: true depd@2.0.0: {} dequal@2.0.3: {} - destr@2.0.5: {} + destr@2.0.5: + optional: true detect-libc@2.1.2: {} @@ -12771,8 +12183,6 @@ snapshots: diff@8.0.3: {} - dingbat-to-unicode@1.0.1: {} - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -12789,7 +12199,7 @@ snapshots: optionalDependencies: '@types/trusted-types': 2.0.7 - dompurify@3.3.2: + dompurify@3.3.3: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -12799,40 +12209,38 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - dotenv@16.6.1: {} + dotenv@16.6.1: + optional: true - drizzle-kit@1.0.0-beta.16-ea816b6: + dotenv@17.3.1: {} + + drizzle-kit@1.0.0-beta.18-7eb39f0: dependencies: '@drizzle-team/brocli': 0.11.0 '@js-temporal/polyfill': 0.5.1 esbuild: 0.25.12 + get-tsconfig: 4.13.6 jiti: 2.6.1 - drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6): + drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6): dependencies: '@types/mssql': 9.1.9(@azure/core-client@1.10.1) mssql: 11.0.1(@azure/core-client@1.10.1) optionalDependencies: '@electric-sql/pglite': 0.3.15 '@opentelemetry/api': 1.9.0 - '@prisma/client': 7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) '@types/pg': 8.18.0 mysql2: 3.15.3 pg: 8.20.0 postgres: 3.4.7 - prisma: 7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) valibot: 1.2.0(typescript@5.9.3) zod: 4.3.6 - drizzle-zod@0.8.3(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(zod@4.3.6): + drizzle-zod@0.8.3(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(zod@4.3.6): dependencies: - drizzle-orm: 1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) + drizzle-orm: 1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6) zod: 4.3.6 - duck@0.1.12: - dependencies: - underscore: 1.13.8 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -12843,12 +12251,20 @@ snapshots: dependencies: safe-buffer: 5.2.1 + eciesjs@0.4.18: + dependencies: + '@ecies/ciphers': 0.2.5(@noble/ciphers@1.3.0) + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + ee-first@1.1.1: {} effect@3.18.4: dependencies: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 + optional: true ejs@3.1.10: dependencies: @@ -12856,9 +12272,12 @@ snapshots: electron-to-chromium@1.5.307: {} + emoji-regex@10.6.0: {} + emoji-regex@8.0.0: {} - empathic@2.0.0: {} + empathic@2.0.0: + optional: true encodeurl@2.0.0: {} @@ -12884,6 +12303,12 @@ snapshots: env-paths@2.2.1: {} + env-runner@0.1.6: + dependencies: + crossws: 0.4.4(srvx@0.11.12) + httpxy: 0.3.1 + srvx: 0.11.12 + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -13073,6 +12498,33 @@ snapshots: dependencies: eventsource-parser: 3.0.6 + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@9.6.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + exponential-backoff@3.1.3: {} express-rate-limit@8.2.1(express@5.2.1): @@ -13128,6 +12580,7 @@ snapshots: fast-check@3.23.2: dependencies: pure-rand: 6.1.0 + optional: true fast-deep-equal@3.1.3: {} @@ -13172,6 +12625,15 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + filelist@1.0.6: dependencies: minimatch: 10.2.4 @@ -13204,12 +12666,16 @@ snapshots: dependencies: fd-package-json: 2.0.0 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + forwarded@0.2.0: {} - framer-motion@12.35.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + framer-motion@12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - motion-dom: 12.35.0 - motion-utils: 12.29.2 + motion-dom: 12.38.0 + motion-utils: 12.36.0 tslib: 2.8.1 optionalDependencies: react: 19.2.4 @@ -13217,6 +12683,12 @@ snapshots: fresh@2.0.0: {} + fs-extra@11.3.4: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 @@ -13246,9 +12718,12 @@ snapshots: fuse.js@7.1.0: {} + fuzzysort@3.1.0: {} + generate-function@2.3.1: dependencies: is-property: 1.0.2 + optional: true generator-function@2.0.1: {} @@ -13256,6 +12731,8 @@ snapshots: get-caller-file@2.0.5: {} + get-east-asian-width@1.5.0: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -13271,9 +12748,12 @@ snapshots: get-nonce@1.0.1: {} + get-own-enumerable-keys@1.0.0: {} + get-own-enumerable-property-symbols@3.0.2: {} - get-port-please@3.2.0: {} + get-port-please@3.2.0: + optional: true get-proto@1.0.1: dependencies: @@ -13284,6 +12764,13 @@ snapshots: dependencies: pump: 3.0.4 + get-stream@6.0.1: {} + + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -13310,6 +12797,7 @@ snapshots: node-fetch-native: 1.6.7 nypm: 0.6.5 pathe: 2.0.3 + optional: true glob-parent@5.1.2: dependencies: @@ -13339,16 +12827,20 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.12: {} + grammex@3.1.12: + optional: true - graphmatch@1.1.1: {} + graphmatch@1.1.1: + optional: true - h3@2.0.1-rc.14(crossws@0.4.4(srvx@0.10.1)): + graphql@16.13.1: {} + + h3@2.0.1-rc.16(crossws@0.4.4(srvx@0.11.12)): dependencies: - rou3: 0.7.12 - srvx: 0.11.8 + rou3: 0.8.1 + srvx: 0.11.12 optionalDependencies: - crossws: 0.4.4(srvx@0.10.1) + crossws: 0.4.4(srvx@0.11.12) has-bigints@1.1.0: {} @@ -13372,8 +12864,12 @@ snapshots: dependencies: function-bind: 1.1.2 + headers-polyfill@4.0.3: {} + hono@4.12.5: {} + hookable@6.1.0: {} + htmlparser2@10.1.0: dependencies: domelementtype: 2.3.0 @@ -13398,7 +12894,8 @@ snapshots: transitivePeerDependencies: - supports-color - http-status-codes@2.3.0: {} + http-status-codes@2.3.0: + optional: true https-proxy-agent@7.0.6: dependencies: @@ -13407,6 +12904,12 @@ snapshots: transitivePeerDependencies: - supports-color + httpxy@0.3.1: {} + + human-signals@2.1.0: {} + + human-signals@8.0.1: {} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -13419,7 +12922,7 @@ snapshots: ieee754@1.2.1: {} - immediate@3.0.6: {} + ignore@5.3.2: {} immer@11.1.4: {} @@ -13517,18 +13020,24 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-in-ssh@1.0.0: {} + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 is-interactive@1.0.0: {} + is-interactive@2.0.0: {} + is-map@2.0.3: {} is-module@1.0.0: {} is-negative-zero@2.0.3: {} + is-node-process@1.2.0: {} + is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -13538,11 +13047,16 @@ snapshots: is-obj@1.0.1: {} + is-obj@3.0.0: {} + is-observable@2.1.0: {} + is-plain-obj@4.1.0: {} + is-promise@4.0.0: {} - is-property@1.0.2: {} + is-property@1.0.2: + optional: true is-regex@1.2.1: dependencies: @@ -13553,6 +13067,8 @@ snapshots: is-regexp@1.0.0: {} + is-regexp@3.1.0: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -13561,6 +13077,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@4.0.1: {} + is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -13578,6 +13096,10 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.1.0: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -13593,14 +13115,14 @@ snapshots: dependencies: is-inside-container: 1.0.0 - isarray@1.0.0: {} - isarray@2.0.5: {} isbot@5.1.35: {} isexe@2.0.0: {} + isexe@3.1.5: {} + isexe@4.0.0: {} jackspeak@4.2.3: @@ -13662,7 +13184,7 @@ snapshots: jsonpointer@5.0.1: {} - jsonrepair@3.13.2: {} + jsonrepair@3.13.3: {} jsonwebtoken@9.0.3: dependencies: @@ -13677,13 +13199,6 @@ snapshots: ms: 2.1.3 semver: 7.7.4 - jszip@3.10.1: - dependencies: - lie: 3.3.0 - pako: 1.0.11 - readable-stream: 2.3.8 - setimmediate: 1.0.5 - jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -13695,14 +13210,17 @@ snapshots: jwa: 2.0.1 safe-buffer: 5.2.1 - knip@5.85.0(@types/node@25.3.5)(typescript@5.9.3): + kleur@3.0.3: {} + + kleur@4.1.5: {} + + knip@5.87.0(@types/node@25.5.0)(typescript@5.9.3): dependencies: '@nodelib/fs.walk': 1.2.8 - '@types/node': 25.3.5 + '@types/node': 25.5.0 fast-glob: 3.3.3 formatly: 0.3.0 jiti: 2.6.1 - js-yaml: 4.1.1 minimist: 1.2.8 oxc-resolver: 11.19.1 picocolors: 1.1.1 @@ -13710,49 +13228,82 @@ snapshots: smol-toml: 1.6.0 strip-json-comments: 5.0.3 typescript: 5.9.3 + unbash: 2.2.0 + yaml: 2.8.2 zod: 4.3.6 kysely@0.28.11: {} leven@3.1.0: {} - lie@3.3.0: - dependencies: - immediate: 3.0.6 + libphonenumber-js@1.12.40: {} lightningcss-android-arm64@1.31.1: optional: true + lightningcss-android-arm64@1.32.0: + optional: true + lightningcss-darwin-arm64@1.31.1: optional: true + lightningcss-darwin-arm64@1.32.0: + optional: true + lightningcss-darwin-x64@1.31.1: optional: true + lightningcss-darwin-x64@1.32.0: + optional: true + lightningcss-freebsd-x64@1.31.1: optional: true + lightningcss-freebsd-x64@1.32.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.31.1: optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + lightningcss-linux-arm64-gnu@1.31.1: optional: true + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + lightningcss-linux-arm64-musl@1.31.1: optional: true + lightningcss-linux-arm64-musl@1.32.0: + optional: true + lightningcss-linux-x64-gnu@1.31.1: optional: true + lightningcss-linux-x64-gnu@1.32.0: + optional: true + lightningcss-linux-x64-musl@1.31.1: optional: true + lightningcss-linux-x64-musl@1.32.0: + optional: true + lightningcss-win32-arm64-msvc@1.31.1: optional: true + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + lightningcss-win32-x64-msvc@1.31.1: optional: true + lightningcss-win32-x64-msvc@1.32.0: + optional: true + lightningcss@1.31.1: dependencies: detect-libc: 2.1.2 @@ -13769,7 +13320,24 @@ snapshots: lightningcss-win32-arm64-msvc: 1.31.1 lightningcss-win32-x64-msvc: 1.31.1 - lilconfig@2.1.0: {} + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + lilconfig@2.1.0: + optional: true lines-and-columns@1.2.4: {} @@ -13804,13 +13372,13 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - long@5.3.2: {} - - lop@0.4.2: + log-symbols@6.0.0: dependencies: - duck: 0.1.12 - option: 0.2.4 - underscore: 1.13.8 + chalk: 5.6.2 + is-unicode-supported: 1.3.0 + + long@5.3.2: + optional: true lru-cache@11.2.6: {} @@ -13820,7 +13388,12 @@ snapshots: lru-cache@7.18.3: {} - lru.min@1.1.4: {} + lru.min@1.1.4: + optional: true + + lucide-react@0.577.0(react@19.2.4): + dependencies: + react: 19.2.4 magic-string@0.25.9: dependencies: @@ -13846,19 +13419,6 @@ snapshots: transitivePeerDependencies: - supports-color - mammoth@1.11.0: - dependencies: - '@xmldom/xmldom': 0.8.11 - argparse: 1.0.10 - base64-js: 1.5.1 - bluebird: 3.4.7 - dingbat-to-unicode: 1.0.1 - jszip: 3.10.1 - lop: 0.4.2 - path-is-absolute: 1.0.1 - underscore: 1.13.8 - xmlbuilder: 10.1.1 - markdown-it@14.1.1: dependencies: argparse: 2.0.1 @@ -13880,6 +13440,8 @@ snapshots: merge-descriptors@2.0.0: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} micromatch@4.0.8: @@ -13895,6 +13457,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-function@5.0.1: {} + minimatch@10.2.4: dependencies: brace-expansion: 5.0.4 @@ -13957,15 +13521,15 @@ snapshots: moo@0.5.3: {} - motion-dom@12.35.0: + motion-dom@12.38.0: dependencies: - motion-utils: 12.29.2 + motion-utils: 12.36.0 - motion-utils@12.29.2: {} + motion-utils@12.36.0: {} - motion@12.35.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + motion@12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - framer-motion: 12.35.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + framer-motion: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) tslib: 2.8.1 optionalDependencies: react: 19.2.4 @@ -13985,6 +13549,33 @@ snapshots: - '@azure/core-client' - supports-color + msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3): + dependencies: + '@inquirer/confirm': 5.1.21(@types/node@25.5.0) + '@mswjs/interceptors': 0.41.3 + '@open-draft/deferred-promise': 2.2.0 + '@types/statuses': 2.0.6 + cookie: 1.1.1 + graphql: 16.13.1 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + rettime: 0.10.1 + statuses: 2.0.2 + strict-event-emitter: 0.5.1 + tough-cookie: 6.0.0 + type-fest: 5.4.4 + until-async: 3.0.2 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@types/node' + + mute-stream@2.0.0: {} + mysql2@3.15.3: dependencies: aws-ssl-profiles: 1.1.2 @@ -13996,10 +13587,12 @@ snapshots: named-placeholders: 1.1.6 seq-queue: 0.0.5 sqlstring: 2.3.3 + optional: true named-placeholders@1.1.6: dependencies: lru.min: 1.1.4 + optional: true nanoid@3.3.11: {} @@ -14011,28 +13604,30 @@ snapshots: netmask@2.0.2: {} - nf3@0.3.10: {} + nf3@0.3.11: {} - nitro@3.0.1-alpha.2(@azure/identity@4.13.0)(@electric-sql/pglite@0.3.15)(chokidar@4.0.3)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(rolldown@1.0.0-rc.6)(rollup@2.80.0)(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)): + nitro@3.0.260311-beta(@azure/identity@4.13.0)(@electric-sql/pglite@0.3.15)(chokidar@4.0.3)(dotenv@17.3.1)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(giget@2.0.0)(jiti@2.6.1)(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(mysql2@3.15.3)(rollup@2.80.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: consola: 3.4.2 - crossws: 0.4.4(srvx@0.10.1) - db0: 0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3) - h3: 2.0.1-rc.14(crossws@0.4.4(srvx@0.10.1)) - jiti: 2.6.1 - nf3: 0.3.10 + crossws: 0.4.4(srvx@0.11.12) + db0: 0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3) + env-runner: 0.1.6 + h3: 2.0.1-rc.16(crossws@0.4.4(srvx@0.11.12)) + hookable: 6.1.0 + nf3: 0.3.11 + ocache: 0.1.2 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - oxc-minify: 0.110.0 - oxc-transform: 0.110.0 - srvx: 0.10.1 - undici: 7.22.0 + rolldown: 1.0.0-rc.9 + srvx: 0.11.12 unenv: 2.0.0-rc.24 - unstorage: 2.0.0-alpha.6(@azure/identity@4.13.0)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(ofetch@2.0.0-alpha.3) + unstorage: 2.0.0-alpha.6(@azure/identity@4.13.0)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(ofetch@2.0.0-alpha.3) optionalDependencies: - rolldown: 1.0.0-rc.6 + dotenv: 17.3.1 + giget: 2.0.0 + jiti: 2.6.1 rollup: 2.80.0 - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -14057,6 +13652,7 @@ snapshots: - idb-keyval - ioredis - lru-cache + - miniflare - mongodb - mysql2 - sqlite3 @@ -14064,7 +13660,16 @@ snapshots: node-addon-api@8.6.0: {} - node-fetch-native@1.6.7: {} + node-domexception@1.0.0: {} + + node-fetch-native@1.6.7: + optional: true + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 node-gyp-build@4.8.4: {} @@ -14085,7 +13690,11 @@ snapshots: node-releases@2.0.36: {} - nodemailer@8.0.1: {} + node-rsa@1.1.1: + dependencies: + asn1: 0.2.6 + + nodemailer@8.0.2: {} nopt@9.0.0: dependencies: @@ -14093,7 +13702,16 @@ snapshots: normalize-path@3.0.0: {} - npm-check-updates@19.6.3: {} + npm-check-updates@19.6.5: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 nth-check@2.1.1: dependencies: @@ -14104,6 +13722,7 @@ snapshots: citty: 0.2.1 pathe: 2.0.3 tinyexec: 1.0.2 + optional: true object-assign@4.1.1: {} @@ -14111,6 +13730,8 @@ snapshots: object-keys@1.1.1: {} + object-treeify@1.1.33: {} + object.assign@4.1.7: dependencies: call-bind: 1.0.8 @@ -14122,6 +13743,10 @@ snapshots: observable-fns@0.6.1: {} + ocache@0.1.2: + dependencies: + ohash: 2.0.11 + ofetch@2.0.0-alpha.3: {} ohash@2.0.11: {} @@ -14142,6 +13767,10 @@ snapshots: dependencies: mimic-fn: 2.1.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + open@10.2.0: dependencies: default-browser: 5.5.0 @@ -14149,9 +13778,16 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 - openapi-types@12.1.3: {} + open@11.0.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.1.0 + wsl-utils: 0.3.1 - option@0.2.4: {} + openapi-types@12.1.3: {} ora@5.4.1: dependencies: @@ -14165,37 +13801,28 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 + ora@8.2.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.2.0 + orderedmap@2.1.1: {} + outvariant@1.4.3: {} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxc-minify@0.110.0: - optionalDependencies: - '@oxc-minify/binding-android-arm-eabi': 0.110.0 - '@oxc-minify/binding-android-arm64': 0.110.0 - '@oxc-minify/binding-darwin-arm64': 0.110.0 - '@oxc-minify/binding-darwin-x64': 0.110.0 - '@oxc-minify/binding-freebsd-x64': 0.110.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.110.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.110.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.110.0 - '@oxc-minify/binding-linux-arm64-musl': 0.110.0 - '@oxc-minify/binding-linux-ppc64-gnu': 0.110.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.110.0 - '@oxc-minify/binding-linux-riscv64-musl': 0.110.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.110.0 - '@oxc-minify/binding-linux-x64-gnu': 0.110.0 - '@oxc-minify/binding-linux-x64-musl': 0.110.0 - '@oxc-minify/binding-openharmony-arm64': 0.110.0 - '@oxc-minify/binding-wasm32-wasi': 0.110.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.110.0 - '@oxc-minify/binding-win32-ia32-msvc': 0.110.0 - '@oxc-minify/binding-win32-x64-msvc': 0.110.0 - oxc-resolver@11.19.1: optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.19.1 @@ -14219,29 +13846,6 @@ snapshots: '@oxc-resolver/binding-win32-ia32-msvc': 11.19.1 '@oxc-resolver/binding-win32-x64-msvc': 11.19.1 - oxc-transform@0.110.0: - optionalDependencies: - '@oxc-transform/binding-android-arm-eabi': 0.110.0 - '@oxc-transform/binding-android-arm64': 0.110.0 - '@oxc-transform/binding-darwin-arm64': 0.110.0 - '@oxc-transform/binding-darwin-x64': 0.110.0 - '@oxc-transform/binding-freebsd-x64': 0.110.0 - '@oxc-transform/binding-linux-arm-gnueabihf': 0.110.0 - '@oxc-transform/binding-linux-arm-musleabihf': 0.110.0 - '@oxc-transform/binding-linux-arm64-gnu': 0.110.0 - '@oxc-transform/binding-linux-arm64-musl': 0.110.0 - '@oxc-transform/binding-linux-ppc64-gnu': 0.110.0 - '@oxc-transform/binding-linux-riscv64-gnu': 0.110.0 - '@oxc-transform/binding-linux-riscv64-musl': 0.110.0 - '@oxc-transform/binding-linux-s390x-gnu': 0.110.0 - '@oxc-transform/binding-linux-x64-gnu': 0.110.0 - '@oxc-transform/binding-linux-x64-musl': 0.110.0 - '@oxc-transform/binding-openharmony-arm64': 0.110.0 - '@oxc-transform/binding-wasm32-wasi': 0.110.0 - '@oxc-transform/binding-win32-arm64-msvc': 0.110.0 - '@oxc-transform/binding-win32-ia32-msvc': 0.110.0 - '@oxc-transform/binding-win32-x64-msvc': 0.110.0 - p-map@7.0.4: {} pac-proxy-agent@7.2.0: @@ -14264,8 +13868,6 @@ snapshots: package-json-from-dist@1.0.1: {} - pako@1.0.11: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -14277,6 +13879,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 @@ -14292,10 +13896,12 @@ snapshots: parseurl@1.3.3: {} - path-is-absolute@1.0.1: {} + path-browserify@1.0.1: {} path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@2.0.2: @@ -14303,24 +13909,18 @@ snapshots: lru-cache: 11.2.6 minipass: 7.1.3 + path-to-regexp@6.3.0: {} + path-to-regexp@8.3.0: {} path-type@4.0.0: {} pathe@2.0.3: {} - pdf-parse@2.4.5: - dependencies: - '@napi-rs/canvas': 0.1.80 - pdfjs-dist: 5.4.296 - - pdfjs-dist@5.4.296: - optionalDependencies: - '@napi-rs/canvas': 0.1.80 - pend@1.2.0: {} - perfect-debounce@1.0.0: {} + perfect-debounce@1.0.0: + optional: true pg-cloudflare@1.3.0: optional: true @@ -14372,11 +13972,17 @@ snapshots: confbox: 0.2.4 exsolve: 1.0.8 pathe: 2.0.3 + optional: true pofile@1.1.4: {} possible-typed-array-names@1.1.0: {} + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss@8.5.8: dependencies: nanoid: 3.3.11 @@ -14393,7 +13999,10 @@ snapshots: dependencies: xtend: 4.0.2 - postgres@3.4.7: {} + postgres@3.4.7: + optional: true + + powershell-utils@0.1.0: {} prettier@3.8.1: {} @@ -14407,6 +14016,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3): dependencies: '@prisma/config': 7.4.2 @@ -14422,20 +14035,25 @@ snapshots: - magicast - react - react-dom + optional: true proc-log@6.1.0: {} - process-nextick-args@2.0.1: {} - process@0.11.10: {} progress@2.0.3: {} + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + proper-lockfile@4.1.2: dependencies: graceful-fs: 4.2.11 retry: 0.12.0 signal-exit: 3.0.7 + optional: true prosemirror-changeset@2.4.0: dependencies: @@ -14573,7 +14191,7 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@24.38.0: + puppeteer-core@24.39.1: dependencies: '@puppeteer/browsers': 2.13.0 chromium-bidi: 14.0.0(devtools-protocol@0.0.1581282) @@ -14590,7 +14208,8 @@ snapshots: - supports-color - utf-8-validate - pure-rand@6.1.0: {} + pure-rand@6.1.0: + optional: true qrcode.react@4.2.0(react@19.2.4): dependencies: @@ -14604,69 +14223,6 @@ snapshots: radash@12.1.1: {} - radix-ui@1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-accessible-icon': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-alert-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-aspect-ratio': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-avatar': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-context-menu': 2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-form': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-hover-card': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-menubar': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-one-time-password-field': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-password-toggle-field': 0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-progress': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-select': 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slider': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toast': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - range-parser@1.2.1: {} raw-body@3.0.2: @@ -14680,6 +14236,7 @@ snapshots: dependencies: defu: 6.1.4 destr: 2.0.5 + optional: true react-dom@19.2.4(react@19.2.4): dependencies: @@ -14697,8 +14254,6 @@ snapshots: react-is@18.3.1: {} - react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.4): dependencies: react: 19.2.4 @@ -14718,7 +14273,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - react-resizable-panels@4.7.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + react-resizable-panels@4.7.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -14743,16 +14298,6 @@ snapshots: react@19.2.4: {} - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -14775,7 +14320,8 @@ snapshots: dependencies: picomatch: 2.3.1 - readdirp@4.1.2: {} + readdirp@4.1.2: + optional: true recast@0.23.11: dependencies: @@ -14802,7 +14348,8 @@ snapshots: regenerate@1.4.2: {} - regexp-to-ast@0.5.0: {} + regexp-to-ast@0.5.0: + optional: true regexp.prototype.flags@1.5.4: dependencies: @@ -14828,12 +14375,15 @@ snapshots: dependencies: jsesc: 3.1.0 - remeda@2.33.4: {} + remeda@2.33.4: + optional: true require-directory@2.1.1: {} require-from-string@2.0.2: {} + reselect@5.1.1: {} + resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -14849,32 +14399,42 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - retry@0.12.0: {} + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retry@0.12.0: + optional: true retry@0.13.1: {} + rettime@0.10.1: {} + reusify@1.1.0: {} rfdc@1.4.1: {} - rolldown@1.0.0-rc.6: + rolldown@1.0.0-rc.9: dependencies: '@oxc-project/types': 0.115.0 - '@rolldown/pluginutils': 1.0.0-rc.6 + '@rolldown/pluginutils': 1.0.0-rc.9 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.6 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.6 - '@rolldown/binding-darwin-x64': 1.0.0-rc.6 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.6 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.6 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.6 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.6 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.6 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.6 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.6 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.6 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.6 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.6 + '@rolldown/binding-android-arm64': 1.0.0-rc.9 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.9 + '@rolldown/binding-darwin-x64': 1.0.0-rc.9 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.9 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9 rollup@2.80.0: optionalDependencies: @@ -14884,6 +14444,8 @@ snapshots: rou3@0.7.12: {} + rou3@0.8.1: {} + router@2.2.0: dependencies: debug: 4.4.3 @@ -14908,8 +14470,6 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} safe-push-apply@1.0.0: @@ -14925,6 +14485,17 @@ snapshots: safer-buffer@2.1.2: {} + samlify@2.11.0: + dependencies: + '@authenio/xml-encryption': 2.0.2 + '@xmldom/xmldom': 0.8.11 + camelcase: 9.0.0 + node-rsa: 1.1.1 + xml: 1.0.1 + xml-crypto: 6.1.2 + xml-escape: 1.1.0 + xpath: 0.0.34 + scheduler@0.27.0: {} semver@6.3.1: {} @@ -14947,7 +14518,8 @@ snapshots: transitivePeerDependencies: - supports-color - seq-queue@0.0.5: {} + seq-queue@0.0.5: + optional: true serialize-javascript@7.0.4: {} @@ -14990,10 +14562,51 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - setimmediate@1.0.5: {} - setprototypeof@1.2.0: {} + shadcn@4.0.8(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(typescript@5.9.3): + dependencies: + '@babel/core': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) + '@dotenvx/dotenvx': 1.54.1 + '@modelcontextprotocol/sdk': 1.27.1(zod@3.25.76) + '@types/validate-npm-package-name': 4.0.2 + browserslist: 4.28.1 + commander: 14.0.3 + cosmiconfig: 9.0.1(typescript@5.9.3) + dedent: 1.7.2(babel-plugin-macros@3.1.0) + deepmerge: 4.3.1 + diff: 8.0.3 + execa: 9.6.1 + fast-glob: 3.3.3 + fs-extra: 11.3.4 + fuzzysort: 3.1.0 + https-proxy-agent: 7.0.6 + kleur: 4.1.5 + msw: 2.12.10(@types/node@25.5.0)(typescript@5.9.3) + node-fetch: 3.3.2 + open: 11.0.0 + ora: 8.2.0 + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 + prompts: 2.4.2 + recast: 0.23.11 + stringify-object: 5.0.0 + tailwind-merge: 3.5.0 + ts-morph: 26.0.0 + tsconfig-paths: 4.2.0 + validate-npm-package-name: 7.0.2 + zod: 3.25.76 + zod-to-json-schema: 3.25.1(zod@3.25.76) + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@types/node' + - babel-plugin-macros + - supports-color + - typescript + sharp@0.34.5: dependencies: '@img/colour': 1.1.0 @@ -15063,6 +14676,8 @@ snapshots: signal-exit@4.1.0: {} + sisteransi@1.0.5: {} + smart-buffer@4.2.0: {} smob@1.6.1: {} @@ -15110,15 +14725,12 @@ snapshots: split2@4.2.0: {} - sprintf-js@1.0.3: {} - sprintf-js@1.1.3: {} - sqlstring@2.3.3: {} + sqlstring@2.3.3: + optional: true - srvx@0.10.1: {} - - srvx@0.11.8: {} + srvx@0.11.12: {} ssri@13.0.1: dependencies: @@ -15128,7 +14740,10 @@ snapshots: statuses@2.0.2: {} - std-env@3.10.0: {} + std-env@3.10.0: + optional: true + + stdin-discarder@0.2.2: {} stop-iteration-iterator@1.1.0: dependencies: @@ -15144,12 +14759,20 @@ snapshots: - bare-abort-controller - react-native-b4a + strict-event-emitter@0.5.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 + string.prototype.matchall@4.0.12: dependencies: call-bind: 1.0.8 @@ -15189,10 +14812,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -15203,12 +14822,28 @@ snapshots: is-obj: 1.0.1 is-regexp: 1.0.0 + stringify-object@5.0.0: + dependencies: + get-own-enumerable-keys: 1.0.0 + is-obj: 3.0.0 + is-regexp: 3.1.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@3.0.0: {} + strip-comments@2.0.1: {} + strip-final-newline@2.0.0: {} + + strip-final-newline@4.0.0: {} + strip-json-comments@5.0.3: {} strnum@2.2.0: {} @@ -15225,6 +14860,8 @@ snapshots: react: 19.2.4 use-sync-external-store: 1.6.0(react@19.2.4) + tabbable@6.4.0: {} + tagged-tag@1.0.0: {} tailwind-merge@3.5.0: {} @@ -15272,7 +14909,7 @@ snapshots: '@azure/identity': 4.13.0 '@azure/keyvault-keys': 4.10.0(@azure/core-client@1.10.1) '@js-joda/core': 5.7.0 - '@types/node': 25.3.5 + '@types/node': 25.5.0 bl: 6.1.6 iconv-lite: 0.6.3 js-md4: 0.3.2 @@ -15288,7 +14925,7 @@ snapshots: '@azure/identity': 4.13.0 '@azure/keyvault-keys': 4.10.0(@azure/core-client@1.10.1) '@js-joda/core': 5.7.0 - '@types/node': 25.3.5 + '@types/node': 25.5.0 bl: 6.1.6 iconv-lite: 0.7.2 js-md4: 0.3.2 @@ -15349,19 +14986,36 @@ snapshots: esm: 3.2.25 optional: true - tinyexec@1.0.2: {} + tinyexec@1.0.2: + optional: true tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 + tldts-core@6.1.86: {} + + tldts-core@7.0.25: {} + + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + + tldts@7.0.25: + dependencies: + tldts-core: 7.0.25 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 toidentifier@1.0.1: {} + tough-cookie@6.0.0: + dependencies: + tldts: 7.0.25 + tr46@1.0.1: dependencies: punycode: 2.3.1 @@ -15370,8 +15024,19 @@ snapshots: dependencies: punycode: 2.3.1 + ts-morph@26.0.0: + dependencies: + '@ts-morph/common': 0.27.0 + code-block-writer: 13.0.3 + ts-pattern@5.9.0: {} + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.8.1: {} tsx@4.21.0: @@ -15436,6 +15101,8 @@ snapshots: ufo@1.6.3: {} + unbash@2.2.0: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -15443,8 +15110,6 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - underscore@1.13.8: {} - undici-types@7.18.2: {} undici@7.22.0: {} @@ -15464,6 +15129,8 @@ snapshots: unicode-property-aliases-ecmascript@2.2.0: {} + unicorn-magic@0.3.0: {} + unique-filename@5.0.0: dependencies: unique-slug: 6.0.0 @@ -15489,15 +15156,17 @@ snapshots: picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 - unstorage@2.0.0-alpha.6(@azure/identity@4.13.0)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(ofetch@2.0.0-alpha.3): + unstorage@2.0.0-alpha.6(@azure/identity@4.13.0)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3))(lru-cache@11.2.6)(mongodb@7.1.0(socks@2.8.7))(ofetch@2.0.0-alpha.3): optionalDependencies: '@azure/identity': 4.13.0 chokidar: 4.0.3 - db0: 0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.16-ea816b6(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@7.4.2(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(prisma@7.4.2(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3) + db0: 0.3.4(@electric-sql/pglite@0.3.15)(drizzle-orm@1.0.0-beta.18-7eb39f0(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.9(@azure/core-client@1.10.1))(@types/pg@8.18.0)(mssql@11.0.1(@azure/core-client@1.10.1))(mysql2@3.15.3)(pg@8.20.0)(postgres@3.4.7)(valibot@1.2.0(typescript@5.9.3))(zod@4.3.6))(mysql2@3.15.3) lru-cache: 11.2.6 mongodb: 7.1.0(socks@2.8.7) ofetch: 2.0.0-alpha.3 + until-async@3.0.2: {} + upath@1.2.0: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -15539,39 +15208,43 @@ snapshots: valibot@1.2.0(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 + optional: true + + validate-npm-package-name@7.0.2: {} vary@1.1.2: {} - vite-plugin-pwa@1.2.0(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): dependencies: debug: 4.4.3 pretty-bytes: 6.1.1 tinyglobby: 0.2.15 - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) workbox-build: 7.4.0(@types/babel__core@7.20.5) workbox-window: 7.4.0 transitivePeerDependencies: - supports-color - vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0): + vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@oxc-project/runtime': 0.115.0 - lightningcss: 1.31.1 + lightningcss: 1.32.0 picomatch: 4.0.3 postcss: 8.5.8 - rolldown: 1.0.0-rc.6 + rolldown: 1.0.0-rc.9 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.3.5 + '@types/node': 25.5.0 esbuild: 0.27.3 fsevents: 2.3.3 jiti: 2.6.1 terser: 5.46.0 tsx: 4.21.0 + yaml: 2.8.2 - vitefu@1.1.2(vite@8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)): + vitefu@1.1.2(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2)): optionalDependencies: - vite: 8.0.0-beta.16(@types/node@25.3.5)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0) + vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) w3c-keyname@2.2.8: {} @@ -15581,6 +15254,8 @@ snapshots: dependencies: defaults: 1.0.4 + web-streams-polyfill@3.3.3: {} + webdriver-bidi-protocol@0.4.1: {} webidl-conversions@4.0.2: {} @@ -15653,6 +15328,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.5 + which@6.0.1: dependencies: isexe: 4.0.0 @@ -15772,6 +15451,12 @@ snapshots: '@types/trusted-types': 2.0.7 workbox-core: 7.4.0 + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -15786,6 +15471,21 @@ snapshots: dependencies: is-wsl: 3.1.1 + wsl-utils@0.3.1: + dependencies: + is-wsl: 3.1.1 + powershell-utils: 0.1.0 + + xml-crypto@6.1.2: + dependencies: + '@xmldom/is-dom-node': 1.0.1 + '@xmldom/xmldom': 0.8.11 + xpath: 0.0.33 + + xml-escape@1.1.0: {} + + xml@1.0.1: {} + xmlbuilder2@4.0.3: dependencies: '@oozcitak/dom': 2.0.2 @@ -15793,7 +15493,11 @@ snapshots: '@oozcitak/util': 10.0.0 js-yaml: 4.1.1 - xmlbuilder@10.1.1: {} + xpath@0.0.32: {} + + xpath@0.0.33: {} + + xpath@0.0.34: {} xtend@4.0.2: {} @@ -15807,6 +15511,8 @@ snapshots: yaml@1.10.2: {} + yaml@2.8.2: {} + yargs-parser@21.1.1: {} yargs@17.7.2: @@ -15824,10 +15530,19 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 + yoctocolors-cjs@2.1.3: {} + + yoctocolors@2.1.2: {} + zeptomatch@2.1.0: dependencies: grammex: 3.1.12 graphmatch: 1.1.1 + optional: true + + zod-to-json-schema@3.25.1(zod@3.25.76): + dependencies: + zod: 3.25.76 zod-to-json-schema@3.25.1(zod@4.3.6): dependencies: @@ -15837,11 +15552,11 @@ snapshots: zod@4.3.6: {} - zundo@2.3.0(zustand@5.0.11(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))): + zundo@2.3.0(zustand@5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))): dependencies: - zustand: 5.0.11(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)) + zustand: 5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)) - zustand@5.0.11(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)): + zustand@5.0.12(@types/react@19.2.14)(immer@11.1.4)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)): optionalDependencies: '@types/react': 19.2.14 immer: 11.1.4 diff --git a/src/components/ai/chat.tsx b/src/components/ai/chat.tsx index 9d05ea530..34c84593c 100644 --- a/src/components/ai/chat.tsx +++ b/src/components/ai/chat.tsx @@ -305,11 +305,13 @@ export function AIChat() { return ( - - - - - + + + + } + /> {/* Header with clear button */} diff --git a/src/components/input/color-picker.tsx b/src/components/input/color-picker.tsx index f2a792460..f0253e2ec 100644 --- a/src/components/input/color-picker.tsx +++ b/src/components/input/color-picker.tsx @@ -1,829 +1,41 @@ -import { EyedropperIcon } from "@phosphor-icons/react"; -import { Slider as SliderPrimitive, Slot as SlotPrimitive } from "radix-ui"; -import * as React from "react"; -import { VisuallyHiddenInput } from "@/components/input/visually-hidden-input"; -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { - type ColorValue, - type HSVColorValue, - hexToRgb, - hsvToRgb, - parseRgbString, - rgbToHsv, - rgbToString, -} from "@/utils/color"; -import { useComposedRefs } from "@/utils/compose-refs"; -import { cn } from "@/utils/style"; +import { type ColorResult, hsvaToRgbaString, rgbaStringToHsva } from "@uiw/color-convert"; +import ReactColorColorful from "@uiw/react-color-colorful"; +import { useMemo } from "react"; +import { useControlledState } from "@/hooks/use-controlled-state"; +import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover"; -interface EyeDropper { - open: (options?: { signal?: AbortSignal }) => Promise<{ sRGBHex: string }>; -} - -declare global { - interface Window { - EyeDropper?: { - new (): EyeDropper; - }; - } -} - -type Direction = "ltr" | "rtl"; - -const DirectionContext = React.createContext(undefined); - -function useDirection(dirProp?: Direction): Direction { - const contextDir = React.useContext(DirectionContext); - return dirProp ?? contextDir ?? "ltr"; -} - -function useLazyRef(fn: () => T) { - const ref = React.useRef(null); - - if (ref.current === null) { - ref.current = fn(); - } - - return ref as React.RefObject; -} - -interface ColorPickerStoreState { - color: ColorValue; - hsv: HSVColorValue; - open: boolean; -} - -interface ColorPickerStoreCallbacks { - onColorChange?: (colorString: string) => void; - onOpenChange?: (open: boolean) => void; -} - -function colorValuesEqual(a: ColorValue, b: ColorValue): boolean { - return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a; -} - -function hsvValuesEqual(a: HSVColorValue, b: HSVColorValue): boolean { - return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a; -} - -interface ColorPickerStore { - subscribe: (cb: () => void) => () => void; - getState: () => ColorPickerStoreState; - setColor: (value: ColorValue) => void; - setHsv: (value: HSVColorValue) => void; - setOpen: (value: boolean) => void; - syncColor: (value: ColorValue) => void; - notify: () => void; -} - -function createColorPickerStore( - listenersRef: React.RefObject void>>, - stateRef: React.RefObject, - callbacks?: ColorPickerStoreCallbacks, -): ColorPickerStore { - const store: ColorPickerStore = { - subscribe: (cb) => { - if (listenersRef.current) { - listenersRef.current.add(cb); - return () => listenersRef.current?.delete(cb); - } - return () => {}; - }, - getState: () => - stateRef.current || { - color: { r: 0, g: 0, b: 0, a: 1 }, - hsv: { h: 0, s: 0, v: 0, a: 1 }, - open: false, - }, - setColor: (value: ColorValue) => { - if (!stateRef.current) return; - if (colorValuesEqual(stateRef.current.color, value)) return; - - stateRef.current.color = value; - stateRef.current.hsv = rgbToHsv(value); - - if (callbacks?.onColorChange) { - const colorString = rgbToString(value); - callbacks.onColorChange(colorString); - } - - store.notify(); - }, - setHsv: (value: HSVColorValue) => { - if (!stateRef.current) return; - if (hsvValuesEqual(stateRef.current.hsv, value)) return; - - stateRef.current.hsv = value; - stateRef.current.color = hsvToRgb(value); - - if (callbacks?.onColorChange) { - const colorString = rgbToString(stateRef.current.color); - callbacks.onColorChange(colorString); - } - - store.notify(); - }, - syncColor: (value: ColorValue) => { - if (!stateRef.current) return; - if (colorValuesEqual(stateRef.current.color, value)) return; - - stateRef.current.color = value; - stateRef.current.hsv = rgbToHsv(value); - store.notify(); - }, - setOpen: (value: boolean) => { - if (!stateRef.current) return; - if (Object.is(stateRef.current.open, value)) return; - - stateRef.current.open = value; - - if (callbacks?.onOpenChange) { - callbacks.onOpenChange(value); - } - - store.notify(); - }, - notify: () => { - if (listenersRef.current) { - for (const cb of listenersRef.current) { - cb(); - } - } - }, - }; - - return store; -} - -function useColorPickerStoreContext(consumerName: string) { - const context = React.useContext(ColorPickerStoreContext); - if (!context) { - throw new Error(`\`${consumerName}\` must be used within \`ColorPickerRoot\``); - } - return context; -} - -function useColorPickerStore(selector: (state: ColorPickerStoreState) => U): U { - const store = useColorPickerStoreContext("useColorPickerStoreSelector"); - - const getSnapshot = React.useCallback(() => selector(store.getState()), [store, selector]); - - return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot); -} - -interface ColorPickerContextValue { - dir: Direction; - disabled?: boolean; - readOnly?: boolean; - required?: boolean; -} - -const ColorPickerStoreContext = React.createContext(null); -const ColorPickerContext = React.createContext(null); - -function useColorPickerContext(consumerName: string) { - const context = React.useContext(ColorPickerContext); - if (!context) { - throw new Error(`\`${consumerName}\` must be used within \`ColorPickerRoot\``); - } - return context; -} - -interface ColorPickerRootProps - extends Omit, "onValueChange">, - Pick, "defaultOpen" | "open" | "onOpenChange" | "modal"> { +type ColorPickerProps = { value?: string; defaultValue?: string; - onValueChange?: (value: string) => void; - dir?: Direction; - name?: string; - asChild?: boolean; - disabled?: boolean; - readOnly?: boolean; - required?: boolean; -} - -function ColorPickerRoot(props: ColorPickerRootProps) { - const { - value: valueProp, - defaultValue = "rgb(0, 0, 0)", - onValueChange, - defaultOpen, - open: openProp, - onOpenChange, - name, - disabled, - readOnly, - required, - ...rootProps - } = props; - - const initialColor = React.useMemo(() => { - const colorString = valueProp ?? defaultValue; - const parsed = parseRgbString(colorString); - const color = parsed ?? { r: 0, g: 0, b: 0, a: 1 }; - - return { - color, - hsv: rgbToHsv(color), - open: openProp ?? defaultOpen ?? false, - }; - }, [valueProp, defaultValue, openProp, defaultOpen]); - - const stateRef = useLazyRef(() => initialColor); - const listenersRef = useLazyRef(() => new Set<() => void>()); - - const storeCallbacks = React.useMemo( - () => ({ - onColorChange: onValueChange, - onOpenChange: onOpenChange, - }), - [onValueChange, onOpenChange], - ); - - const store = React.useMemo( - () => createColorPickerStore(listenersRef, stateRef, storeCallbacks), - [listenersRef, stateRef, storeCallbacks], - ); - - return ( - - - - ); -} - -interface ColorPickerRootImplProps extends Omit {} - -function ColorPickerRootImpl(props: ColorPickerRootImplProps) { - const { - value: valueProp, - dir: dirProp, - defaultOpen, - open: openProp, - onOpenChange, - name, - ref, - asChild, - disabled, - modal, - readOnly, - required, - ...rootProps - } = props; - - const store = useColorPickerStoreContext("ColorPickerRootImpl"); - - const dir = useDirection(dirProp); - - const [formTrigger, setFormTrigger] = React.useState(null); - const composedRef = useComposedRefs(ref, (node) => setFormTrigger(node)); - - const isFormControl = formTrigger ? !!formTrigger.closest("form") : true; - - React.useEffect(() => { - if (valueProp !== undefined) { - const parsed = parseRgbString(valueProp); - if (parsed) { - const currentState = store.getState(); - const color = { ...parsed, a: parsed.a ?? currentState.color.a }; - store.syncColor(color); - } - } - }, [valueProp, store]); - - React.useEffect(() => { - if (openProp !== undefined) { - store.setOpen(openProp); - } - }, [openProp, store]); - - const contextValue = React.useMemo( - () => ({ - dir, - disabled, - readOnly, - required, - }), - [dir, disabled, readOnly, required], - ); - - const value = useColorPickerStore((state) => rgbToString(state.color)); - - const open = useColorPickerStore((state) => state.open); - - const onPopoverOpenChange = React.useCallback( - (newOpen: boolean) => { - store.setOpen(newOpen); - onOpenChange?.(newOpen); - }, - [store, onOpenChange], - ); - - const RootPrimitive = asChild ? SlotPrimitive.Slot : "div"; - - return ( - - - - {isFormControl && ( - - )} - - - ); -} - -interface ColorPickerTriggerProps extends React.ComponentProps {} - -function ColorPickerTrigger(props: ColorPickerTriggerProps) { - const { asChild, ...triggerProps } = props; - const context = useColorPickerContext("ColorPickerTrigger"); - - const TriggerPrimitive = asChild ? SlotPrimitive.Slot : PopoverTrigger; - - return ( - - - - ); -} - -interface ColorPickerContentProps extends React.ComponentProps {} - -function ColorPickerContent(props: ColorPickerContentProps) { - const { asChild, className, children, ...popoverContentProps } = props; - - return ( - - {children} - - ); -} - -interface ColorPickerSwatchProps extends React.ComponentProps<"div"> { - asChild?: boolean; -} - -function ColorPickerSwatch(props: ColorPickerSwatchProps) { - const { asChild, className, ...swatchProps } = props; - const context = useColorPickerContext("ColorPickerSwatch"); - - const color = useColorPickerStore((state) => state.color); - - const backgroundStyle = React.useMemo(() => { - if (!color) { - return { - background: - "linear-gradient(to bottom right, transparent calc(50% - 1px), hsl(var(--destructive)) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) no-repeat", - }; - } - - const colorString = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`; - - if (color.a < 1) { - return { - background: `linear-gradient(${colorString}, ${colorString}), repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 0% 50% / 8px 8px`, - }; - } - - return { - backgroundColor: colorString, - }; - }, [color]); - - const ariaLabel = !color ? "No color selected" : `Current color: ${rgbToString(color)}`; - - const SwatchPrimitive = asChild ? SlotPrimitive.Slot : "div"; - - return ( - - - - ); -} - -interface ColorPickerAreaProps extends React.ComponentProps<"div"> { - asChild?: boolean; -} - -function ColorPickerArea(props: ColorPickerAreaProps) { - const { asChild, className, ref, ...areaProps } = props; - const context = useColorPickerContext("ColorPickerArea"); - const store = useColorPickerStoreContext("ColorPickerArea"); - - const hsv = useColorPickerStore((state) => state.hsv); - - const isDraggingRef = React.useRef(false); - const areaRef = React.useRef(null); - const composedRef = useComposedRefs(ref, areaRef); - - const updateColorFromPosition = React.useCallback( - (clientX: number, clientY: number) => { - if (!areaRef.current) return; - - const rect = areaRef.current.getBoundingClientRect(); - const x = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width)); - const y = Math.max(0, Math.min(1, 1 - (clientY - rect.top) / rect.height)); - - const newHsv: HSVColorValue = { - h: hsv?.h ?? 0, - s: Math.round(x * 100), - v: Math.round(y * 100), - a: hsv?.a ?? 1, - }; - - store.setHsv(newHsv); - }, - [hsv, store], - ); - - const onPointerDown = React.useCallback( - (event: React.PointerEvent) => { - if (context.disabled) return; - - isDraggingRef.current = true; - areaRef.current?.setPointerCapture(event.pointerId); - updateColorFromPosition(event.clientX, event.clientY); - }, - [context.disabled, updateColorFromPosition], - ); - - const onPointerMove = React.useCallback( - (event: React.PointerEvent) => { - if (isDraggingRef.current) { - updateColorFromPosition(event.clientX, event.clientY); - } - }, - [updateColorFromPosition], - ); - - const onPointerUp = React.useCallback((event: React.PointerEvent) => { - isDraggingRef.current = false; - areaRef.current?.releasePointerCapture(event.pointerId); - }, []); - - const hue = hsv?.h ?? 0; - const backgroundHue = hsvToRgb({ h: hue, s: 100, v: 100, a: 1 }); - - const AreaPrimitive = asChild ? SlotPrimitive.Slot : "div"; - - return ( - - - - - - - - - ); -} - -interface ColorPickerHueSliderProps extends React.ComponentProps {} - -function ColorPickerHueSlider(props: ColorPickerHueSliderProps) { - const { className, ...sliderProps } = props; - const context = useColorPickerContext("ColorPickerHueSlider"); - const store = useColorPickerStoreContext("ColorPickerHueSlider"); - - const hsv = useColorPickerStore((state) => state.hsv); - - const onValueChange = React.useCallback( - (values: number[]) => { - const newHsv: HSVColorValue = { - h: values[0] ?? 0, - s: hsv?.s ?? 0, - v: hsv?.v ?? 0, - a: hsv?.a ?? 1, - }; - store.setHsv(newHsv); - }, - [hsv, store], - ); - - return ( - - - - - - - ); -} - -type ColorPickerEyeDropperProps = React.ComponentProps; - -function ColorPickerEyeDropper(props: ColorPickerEyeDropperProps) { - const { children, size, ...buttonProps } = props; - const context = useColorPickerContext("ColorPickerEyeDropper"); - const store = useColorPickerStoreContext("ColorPickerEyeDropper"); - - const color = useColorPickerStore((state) => state.color); - - const onEyeDropper = React.useCallback(async () => { - if (!window.EyeDropper) return; - - try { - const eyeDropper = new window.EyeDropper(); - const result = await eyeDropper.open(); - - if (result.sRGBHex) { - const currentAlpha = color?.a ?? 1; - const newColor = hexToRgb(result.sRGBHex, currentAlpha); - store.setColor(newColor); - } - } catch (error) { - console.warn("EyeDropper error:", error); - } - }, [color, store]); - - const hasEyeDropper = typeof window !== "undefined" && !!window.EyeDropper; - - if (!hasEyeDropper) return null; - - const buttonSize = size ?? (children ? "default" : "icon"); - - return ( - - {children ?? } - - ); -} - -interface ColorPickerAlphaSliderProps extends React.ComponentProps {} - -function ColorPickerAlphaSlider(props: ColorPickerAlphaSliderProps) { - const { className, ...sliderProps } = props; - const context = useColorPickerContext("ColorPickerAlphaSlider"); - const store = useColorPickerStoreContext("ColorPickerAlphaSlider"); - - const color = useColorPickerStore((state) => state.color); - - const onValueChange = React.useCallback( - (values: number[]) => { - const alpha = (values[0] ?? 0) / 100; - const newColor = { ...color, a: alpha }; - store.setColor(newColor); - }, - [color, store], - ); - - const gradientColor = `rgb(${color?.r ?? 0}, ${color?.g ?? 0}, ${color?.b ?? 0})`; - - return ( - - - - - - - - ); -} - -interface ColorPickerInputProps extends Omit, "value" | "onChange"> { - withoutAlpha?: boolean; -} - -function ColorPickerInput(props: ColorPickerInputProps) { - const context = useColorPickerContext("ColorPickerInput"); - const store = useColorPickerStoreContext("ColorPickerInput"); - - const color = useColorPickerStore((state) => state.color); - - const onChannelChange = React.useCallback( - (channel: "r" | "g" | "b" | "a", max: number, isAlpha = false) => - (event: React.ChangeEvent) => { - const value = Number.parseInt(event.target.value, 10); - if (!Number.isNaN(value) && value >= 0 && value <= max) { - const newValue = isAlpha ? value / 100 : value; - const newColor = { ...color, [channel]: newValue }; - store.setColor(newColor); - } - }, - [color, store], - ); - - const rValue = Math.round(color?.r ?? 0); - const gValue = Math.round(color?.g ?? 0); - const bValue = Math.round(color?.b ?? 0); - const alphaValue = Math.round((color?.a ?? 1) * 100); - - return ( - - R - - G - - B - - {!props.withoutAlpha && ( - <> - A - - > - )} - - ); -} - -type ColorPickerProps = Omit, never>; - -const ColorPicker = (props: ColorPickerProps) => { - return ( - - - - - - - - - - - - - - - - - ); + onChange?: (value: string) => void; }; -export { - ColorPicker, - // - ColorPickerRoot, - ColorPickerTrigger, - ColorPickerContent, - ColorPickerArea, - ColorPickerHueSlider, - ColorPickerAlphaSlider, - ColorPickerSwatch, - ColorPickerEyeDropper, - ColorPickerInput, - // - ColorPickerRoot as Root, - ColorPickerTrigger as Trigger, - ColorPickerContent as Content, - ColorPickerArea as Area, - ColorPickerHueSlider as HueSlider, - ColorPickerAlphaSlider as AlphaSlider, - ColorPickerSwatch as Swatch, - ColorPickerEyeDropper as EyeDropper, - ColorPickerInput as Input, -}; +export function ColorPicker({ value, defaultValue, onChange }: ColorPickerProps) { + const [currentValue, setCurrentValue] = useControlledState({ + value, + defaultValue, + onChange, + }); + + const color = useMemo(() => rgbaStringToHsva(currentValue), [currentValue]); + + function onColorChange(color: ColorResult) { + const rgbaString = hsvaToRgbaString(color.hsva); + setCurrentValue(rgbaString); + } + + return ( + + + + + + + + + + ); +} diff --git a/src/components/input/github-stars-button.tsx b/src/components/input/github-stars-button.tsx index a40bd17f4..5d83c0f7f 100644 --- a/src/components/input/github-stars-button.tsx +++ b/src/components/input/github-stars-button.tsx @@ -14,14 +14,18 @@ export function GithubStarsButton() { : t`Star us on GitHub (opens in new tab)`; return ( - - - - {starCount != null ? ( - - ) : null} - - - + + + {starCount != null ? ( + + ) : null} + + + } + /> ); } diff --git a/src/components/input/icon-picker.tsx b/src/components/input/icon-picker.tsx index 838412992..7f529ff1a 100644 --- a/src/components/input/icon-picker.tsx +++ b/src/components/input/icon-picker.tsx @@ -91,11 +91,13 @@ export function IconPicker({ value, onChange, popoverProps, ...props }: IconPick return ( - - - - - + + + + } + /> diff --git a/src/components/input/rich-input.tsx b/src/components/input/rich-input.tsx index bf3e7f9d7..cd977b646 100644 --- a/src/components/input/rich-input.tsx +++ b/src/components/input/rich-input.tsx @@ -50,7 +50,6 @@ import { useEditorState, } from "@tiptap/react"; import StarterKit from "@tiptap/starter-kit"; -import { VisuallyHidden } from "radix-ui"; import { useMemo, useState } from "react"; import { toast } from "sonner"; import { match } from "ts-pattern"; @@ -170,10 +169,10 @@ export function RichInput({ value, onChange, style, className, editorClassName, - + Fullscreen Editor Edit content in fullscreen mode - + {editorElement} @@ -420,21 +419,24 @@ function EditorToolbar({ editor, isFullscreen }: { editor: Editor; isFullscreen: - - - {match(state) - .with({ isParagraph: true }, () => ) - .with({ isHeading1: true }, () => ) - .with({ isHeading2: true }, () => ) - .with({ isHeading3: true }, () => ) - .with({ isHeading4: true }, () => ) - .with({ isHeading5: true }, () => ) - .with({ isHeading6: true }, () => ) - .otherwise(() => ( - - ))} - - + + {match(state) + .with({ isParagraph: true }, () => ) + .with({ isHeading1: true }, () => ) + .with({ isHeading2: true }, () => ) + .with({ isHeading3: true }, () => ) + .with({ isHeading4: true }, () => ) + .with({ isHeading5: true }, () => ) + .with({ isHeading6: true }, () => ) + .otherwise(() => ( + + ))} + + } + /> + - - - {match(state) - .with({ isLeftAlign: true }, () => ) - .with({ isCenterAlign: true }, () => ) - .with({ isRightAlign: true }, () => ) - .with({ isJustifyAlign: true }, () => ) - .otherwise(() => ( - - ))} - - + + {match(state) + .with({ isLeftAlign: true }, () => ) + .with({ isCenterAlign: true }, () => ) + .with({ isRightAlign: true }, () => ) + .with({ isJustifyAlign: true }, () => ) + .otherwise(() => ( + + ))} + + } + /> + - - - - - + + + + } + /> - + Insert Table - + Add Column Before - + Add Column After - + Add Row Before - + Add Row After - + Delete Column - + Delete Row - + Delete Table diff --git a/src/components/input/url-input.tsx b/src/components/input/url-input.tsx index f5a8ee7e6..1104cfed3 100644 --- a/src/components/input/url-input.tsx +++ b/src/components/input/url-input.tsx @@ -63,11 +63,13 @@ export function URLInput({ value, onChange, hideLabelButton, ...props }: Props) {!hideLabelButton && ( - - - - - + + + + } + /> e.stopPropagation()}> diff --git a/src/components/input/visually-hidden-input.tsx b/src/components/input/visually-hidden-input.tsx index 903417af2..f73653b5d 100644 --- a/src/components/input/visually-hidden-input.tsx +++ b/src/components/input/visually-hidden-input.tsx @@ -74,6 +74,7 @@ export function VisuallyHiddenInput(props: VisuallyHiddenInputPr }); resizeObserver.observe(control, { box: "border-box" }); + return () => { resizeObserver.disconnect(); }; diff --git a/src/components/layout/not-found-screen.tsx b/src/components/layout/not-found-screen.tsx index c423b35e8..5792a805a 100644 --- a/src/components/layout/not-found-screen.tsx +++ b/src/components/layout/not-found-screen.tsx @@ -18,7 +18,7 @@ export function NotFoundScreen({ routeId }: NotFoundRouteProps) { {routeId} - + Go Back diff --git a/src/components/level/combobox.tsx b/src/components/level/combobox.tsx index e4e8f58ce..0f97599aa 100644 --- a/src/components/level/combobox.tsx +++ b/src/components/level/combobox.tsx @@ -3,11 +3,11 @@ import { useMemo } from "react"; import { match } from "ts-pattern"; import type z from "zod"; import { levelDesignSchema } from "@/schema/resume/data"; -import { Combobox, type ComboboxProps } from "../ui/combobox"; +import { Combobox, type SingleComboboxProps } from "../ui/combobox"; type LevelType = z.infer["type"]; -type LevelTypeComboboxProps = Omit; +type LevelTypeComboboxProps = Omit; export const getLevelTypeName = (type: LevelType) => { return match(type) diff --git a/src/components/locale/combobox.tsx b/src/components/locale/combobox.tsx index bc2f3081b..7e5f80637 100644 --- a/src/components/locale/combobox.tsx +++ b/src/components/locale/combobox.tsx @@ -1,9 +1,9 @@ import { i18n } from "@lingui/core"; import { useLingui } from "@lingui/react"; import { isLocale, type Locale, loadLocale, localeMap, setLocaleServerFn } from "@/utils/locale"; -import { Combobox, type ComboboxProps } from "../ui/combobox"; +import { Combobox, type SingleComboboxProps } from "../ui/combobox"; -type Props = Omit; +type Props = Omit; export const getLocaleOptions = () => { return Object.entries(localeMap).map(([value, label]) => ({ @@ -22,5 +22,13 @@ export function LocaleCombobox(props: Props) { window.location.reload(); }; - return ; + return ( + + ); } diff --git a/src/components/primitives/accordion.tsx b/src/components/primitives/accordion.tsx deleted file mode 100644 index 9a9083eeb..000000000 --- a/src/components/primitives/accordion.tsx +++ /dev/null @@ -1,145 +0,0 @@ -import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react"; -import { Accordion as AccordionPrimitive } from "radix-ui"; -import * as React from "react"; -import { useControlledState } from "@/hooks/use-controlled-state"; -import { getStrictContext } from "@/utils/get-strict-context"; - -type AccordionContextType = { - value: string | string[] | undefined; - setValue: (value: string | string[] | undefined) => void; -}; - -type AccordionItemContextType = { - value: string; - isOpen: boolean; - setIsOpen: (open: boolean) => void; -}; - -const [AccordionProvider, useAccordion] = getStrictContext("AccordionContext"); - -const [AccordionItemProvider, useAccordionItem] = getStrictContext("AccordionItemContext"); - -type AccordionProps = React.ComponentProps; - -function Accordion(props: AccordionProps) { - const [value, setValue] = useControlledState({ - value: props?.value, - defaultValue: props?.defaultValue, - onChange: props?.onValueChange as (value: string | string[] | undefined) => void, - }); - - return ( - - - - ); -} - -type AccordionItemProps = React.ComponentProps; - -function AccordionItem(props: AccordionItemProps) { - const { value } = useAccordion(); - const [isOpen, setIsOpen] = React.useState(value?.includes(props?.value) ?? false); - - React.useEffect(() => { - setIsOpen(value?.includes(props?.value) ?? false); - }, [value, props?.value]); - - return ( - - - - ); -} - -type AccordionHeaderProps = React.ComponentProps; - -function AccordionHeader(props: AccordionHeaderProps) { - return ; -} - -type AccordionTriggerProps = React.ComponentProps; - -function AccordionTrigger(props: AccordionTriggerProps) { - return ; -} - -type AccordionContentProps = Omit, "asChild" | "forceMount"> & - HTMLMotionProps<"div"> & { - keepRendered?: boolean; - }; - -function AccordionContent({ - keepRendered = false, - transition = { duration: 0.35, ease: "easeInOut" }, - ...props -}: AccordionContentProps) { - const { isOpen } = useAccordionItem(); - - return ( - - {keepRendered ? ( - - - - ) : ( - isOpen && ( - - - - ) - )} - - ); -} - -export { - Accordion, - AccordionItem, - AccordionHeader, - AccordionTrigger, - AccordionContent, - useAccordion, - useAccordionItem, - type AccordionProps, - type AccordionItemProps, - type AccordionHeaderProps, - type AccordionTriggerProps, - type AccordionContentProps, - type AccordionContextType, - type AccordionItemContextType, -}; diff --git a/src/components/primitives/alert-dialog.tsx b/src/components/primitives/alert-dialog.tsx deleted file mode 100644 index cc3d6c62a..000000000 --- a/src/components/primitives/alert-dialog.tsx +++ /dev/null @@ -1,186 +0,0 @@ -import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react"; -import { AlertDialog as AlertDialogPrimitive } from "radix-ui"; -import type * as React from "react"; -import { useControlledState } from "@/hooks/use-controlled-state"; -import { getStrictContext } from "@/utils/get-strict-context"; - -type AlertDialogContextType = { - isOpen: boolean; - setIsOpen: AlertDialogProps["onOpenChange"]; -}; - -const [AlertDialogProvider, useAlertDialog] = getStrictContext("AlertDialogContext"); - -type AlertDialogProps = React.ComponentProps; - -function AlertDialog(props: AlertDialogProps) { - const [isOpen, setIsOpen] = useControlledState({ - value: props?.open, - defaultValue: props?.defaultOpen, - onChange: props?.onOpenChange, - }); - - return ( - - - - ); -} - -type AlertDialogTriggerProps = React.ComponentProps; - -function AlertDialogTrigger(props: AlertDialogTriggerProps) { - return ; -} - -type AlertDialogPortalProps = Omit, "forceMount">; - -function AlertDialogPortal(props: AlertDialogPortalProps) { - const { isOpen } = useAlertDialog(); - - return ( - - {isOpen && } - - ); -} - -type AlertDialogOverlayProps = Omit< - React.ComponentProps, - "forceMount" | "asChild" -> & - HTMLMotionProps<"div">; - -function AlertDialogOverlay({ transition = { duration: 0.2, ease: "easeInOut" }, ...props }: AlertDialogOverlayProps) { - return ( - - - - ); -} - -type AlertDialogFlipDirection = "top" | "bottom" | "left" | "right"; - -type AlertDialogContentProps = Omit< - React.ComponentProps, - "forceMount" | "asChild" -> & - HTMLMotionProps<"div"> & { - from?: AlertDialogFlipDirection; - }; - -function AlertDialogContent({ - from = "top", - onOpenAutoFocus, - onCloseAutoFocus, - onEscapeKeyDown, - transition = { type: "spring", stiffness: 250, damping: 25 }, - ...props -}: AlertDialogContentProps) { - const initialRotation = from === "bottom" || from === "left" ? "20deg" : "-20deg"; - const isVertical = from === "top" || from === "bottom"; - const rotateAxis = isVertical ? "rotateX" : "rotateY"; - - return ( - - - - ); -} - -type AlertDialogCancelProps = React.ComponentProps; - -function AlertDialogCancel(props: AlertDialogCancelProps) { - return ; -} - -type AlertDialogActionProps = React.ComponentProps; - -function AlertDialogAction(props: AlertDialogActionProps) { - return ; -} - -type AlertDialogHeaderProps = React.ComponentProps<"div">; - -function AlertDialogHeader(props: AlertDialogHeaderProps) { - return ; -} - -type AlertDialogFooterProps = React.ComponentProps<"div">; - -function AlertDialogFooter(props: AlertDialogFooterProps) { - return ; -} - -type AlertDialogTitleProps = React.ComponentProps; - -function AlertDialogTitle(props: AlertDialogTitleProps) { - return ; -} - -type AlertDialogDescriptionProps = React.ComponentProps; - -function AlertDialogDescription(props: AlertDialogDescriptionProps) { - return ; -} - -export { - AlertDialog, - AlertDialogPortal, - AlertDialogOverlay, - AlertDialogCancel, - AlertDialogAction, - AlertDialogTrigger, - AlertDialogContent, - AlertDialogHeader, - AlertDialogFooter, - AlertDialogTitle, - AlertDialogDescription, - useAlertDialog, - type AlertDialogProps, - type AlertDialogTriggerProps, - type AlertDialogPortalProps, - type AlertDialogCancelProps, - type AlertDialogActionProps, - type AlertDialogOverlayProps, - type AlertDialogContentProps, - type AlertDialogHeaderProps, - type AlertDialogFooterProps, - type AlertDialogTitleProps, - type AlertDialogDescriptionProps, - type AlertDialogContextType, - type AlertDialogFlipDirection, -}; diff --git a/src/components/primitives/button.tsx b/src/components/primitives/button.tsx deleted file mode 100644 index 6df165a01..000000000 --- a/src/components/primitives/button.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { type HTMLMotionProps, motion } from "motion/react"; -import { Slot, type WithAsChild } from "@/components/primitives/slot"; - -type ButtonProps = WithAsChild< - Omit, "children"> & { - hoverScale?: number; - tapScale?: number; - // biome-ignore lint/suspicious/noExplicitAny: unknown type - children?: any; - } ->; - -function Button({ hoverScale = 1.0, tapScale = 0.95, asChild = false, ...props }: ButtonProps) { - const Component = asChild ? Slot : motion.button; - - return ; -} - -export { Button, type ButtonProps }; diff --git a/src/components/primitives/dialog.tsx b/src/components/primitives/dialog.tsx deleted file mode 100644 index 9b95c65c5..000000000 --- a/src/components/primitives/dialog.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react"; -import { Dialog as DialogPrimitive } from "radix-ui"; -import type * as React from "react"; -import { useControlledState } from "@/hooks/use-controlled-state"; -import { getStrictContext } from "@/utils/get-strict-context"; - -type DialogContextType = { - isOpen: boolean; - setIsOpen: DialogProps["onOpenChange"]; -}; - -const [DialogProvider, useDialog] = getStrictContext("DialogContext"); - -type DialogProps = React.ComponentProps; - -function Dialog(props: DialogProps) { - const [isOpen, setIsOpen] = useControlledState({ - value: props?.open, - defaultValue: props?.defaultOpen, - onChange: props?.onOpenChange, - }); - - return ( - - - - ); -} - -type DialogTriggerProps = React.ComponentProps; - -function DialogTrigger(props: DialogTriggerProps) { - return ; -} - -type DialogPortalProps = Omit, "forceMount">; - -function DialogPortal(props: DialogPortalProps) { - const { isOpen } = useDialog(); - - return ( - - {isOpen && } - - ); -} - -type DialogOverlayProps = Omit, "forceMount" | "asChild"> & - HTMLMotionProps<"div">; - -function DialogOverlay({ transition = { duration: 0.2, ease: "easeInOut" }, ...props }: DialogOverlayProps) { - return ( - - - - ); -} - -type DialogFlipDirection = "top" | "bottom" | "left" | "right"; - -type DialogContentProps = Omit, "forceMount" | "asChild"> & - HTMLMotionProps<"div"> & { - from?: DialogFlipDirection; - }; - -function DialogContent({ - from = "top", - onOpenAutoFocus, - onCloseAutoFocus, - onEscapeKeyDown, - onPointerDownOutside, - onInteractOutside, - transition = { type: "spring", stiffness: 250, damping: 25 }, - ...props -}: DialogContentProps) { - const initialRotation = from === "bottom" || from === "left" ? "20deg" : "-20deg"; - const isVertical = from === "top" || from === "bottom"; - const rotateAxis = isVertical ? "rotateX" : "rotateY"; - - return ( - - - - ); -} - -type DialogCloseProps = React.ComponentProps; - -function DialogClose(props: DialogCloseProps) { - return ; -} - -type DialogHeaderProps = React.ComponentProps<"div">; - -function DialogHeader(props: DialogHeaderProps) { - return ; -} - -type DialogFooterProps = React.ComponentProps<"div">; - -function DialogFooter(props: DialogFooterProps) { - return ; -} - -type DialogTitleProps = React.ComponentProps; - -function DialogTitle(props: DialogTitleProps) { - return ; -} - -type DialogDescriptionProps = React.ComponentProps; - -function DialogDescription(props: DialogDescriptionProps) { - return ; -} - -export { - Dialog, - DialogPortal, - DialogOverlay, - DialogClose, - DialogTrigger, - DialogContent, - DialogHeader, - DialogFooter, - DialogTitle, - DialogDescription, - useDialog, - type DialogProps, - type DialogTriggerProps, - type DialogPortalProps, - type DialogCloseProps, - type DialogOverlayProps, - type DialogContentProps, - type DialogHeaderProps, - type DialogFooterProps, - type DialogTitleProps, - type DialogDescriptionProps, - type DialogContextType, - type DialogFlipDirection, -}; diff --git a/src/components/primitives/dropdown-menu.tsx b/src/components/primitives/dropdown-menu.tsx deleted file mode 100644 index 1312c9cdf..000000000 --- a/src/components/primitives/dropdown-menu.tsx +++ /dev/null @@ -1,348 +0,0 @@ -import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react"; -import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"; -import type * as React from "react"; -import { useControlledState } from "@/hooks/use-controlled-state"; -import { getStrictContext } from "@/utils/get-strict-context"; - -type DropdownMenuContextType = { - isOpen: boolean; - setIsOpen: (o: boolean) => void; -}; - -type DropdownMenuSubContextType = { - isOpen: boolean; - setIsOpen: (o: boolean) => void; -}; - -const [DropdownMenuProvider, useDropdownMenu] = getStrictContext("DropdownMenuContext"); - -const [DropdownMenuSubProvider, useDropdownMenuSub] = - getStrictContext("DropdownMenuSubContext"); - -type DropdownMenuProps = React.ComponentProps; - -function DropdownMenu(props: DropdownMenuProps) { - const [isOpen, setIsOpen] = useControlledState({ - value: props?.open, - defaultValue: props?.defaultOpen, - onChange: props?.onOpenChange, - }); - - return ( - - - - ); -} - -type DropdownMenuTriggerProps = React.ComponentProps; - -function DropdownMenuTrigger(props: DropdownMenuTriggerProps) { - return ; -} - -type DropdownMenuPortalProps = React.ComponentProps; - -function DropdownMenuPortal(props: DropdownMenuPortalProps) { - return ; -} - -type DropdownMenuGroupProps = React.ComponentProps; - -function DropdownMenuGroup(props: DropdownMenuGroupProps) { - return ; -} - -type DropdownMenuSubProps = React.ComponentProps; - -function DropdownMenuSub(props: DropdownMenuSubProps) { - const [isOpen, setIsOpen] = useControlledState({ - value: props?.open, - defaultValue: props?.defaultOpen, - onChange: props?.onOpenChange, - }); - - return ( - - - - ); -} - -type DropdownMenuRadioGroupProps = React.ComponentProps; - -function DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) { - return ; -} - -type DropdownMenuSubTriggerProps = Omit, "asChild"> & - HTMLMotionProps<"div">; - -function DropdownMenuSubTrigger({ disabled, textValue, ...props }: DropdownMenuSubTriggerProps) { - return ( - - - - ); -} - -type DropdownMenuSubContentProps = Omit< - React.ComponentProps, - "forceMount" | "asChild" -> & - Omit, "forceMount"> & - HTMLMotionProps<"div">; - -function DropdownMenuSubContent({ - loop, - onEscapeKeyDown, - onPointerDownOutside, - onFocusOutside, - onInteractOutside, - sideOffset, - alignOffset, - avoidCollisions, - collisionBoundary, - collisionPadding, - arrowPadding, - sticky, - hideWhenDetached, - transition = { duration: 0.2 }, - style, - container, - ...props -}: DropdownMenuSubContentProps) { - const { isOpen } = useDropdownMenuSub(); - - return ( - - {isOpen && ( - - - - - - )} - - ); -} - -type DropdownMenuContentProps = Omit< - React.ComponentProps, - "forceMount" | "asChild" -> & - Omit, "forceMount"> & - HTMLMotionProps<"div">; - -function DropdownMenuContent({ - loop, - onCloseAutoFocus, - onEscapeKeyDown, - onPointerDownOutside, - onFocusOutside, - onInteractOutside, - side, - sideOffset, - align, - alignOffset, - avoidCollisions, - collisionBoundary, - collisionPadding, - arrowPadding, - sticky, - hideWhenDetached, - transition = { duration: 0.2 }, - style, - container, - ...props -}: DropdownMenuContentProps) { - const { isOpen } = useDropdownMenu(); - - return ( - - {isOpen && ( - - - - - - )} - - ); -} - -type DropdownMenuItemProps = Omit, "asChild"> & - HTMLMotionProps<"div">; - -function DropdownMenuItem({ disabled, onSelect, textValue, ...props }: DropdownMenuItemProps) { - return ( - - - - ); -} - -type DropdownMenuCheckboxItemProps = Omit, "asChild"> & - HTMLMotionProps<"div">; - -function DropdownMenuCheckboxItem({ - checked, - onCheckedChange, - disabled, - onSelect, - textValue, - ...props -}: DropdownMenuCheckboxItemProps) { - return ( - - - - ); -} - -type DropdownMenuRadioItemProps = Omit, "asChild"> & - HTMLMotionProps<"div">; - -function DropdownMenuRadioItem({ value, disabled, onSelect, textValue, ...props }: DropdownMenuRadioItemProps) { - return ( - - - - ); -} - -type DropdownMenuLabelProps = React.ComponentProps; - -function DropdownMenuLabel(props: DropdownMenuLabelProps) { - return ; -} - -type DropdownMenuSeparatorProps = React.ComponentProps; - -function DropdownMenuSeparator(props: DropdownMenuSeparatorProps) { - return ; -} - -type DropdownMenuShortcutProps = React.ComponentProps<"span">; - -function DropdownMenuShortcut(props: DropdownMenuShortcutProps) { - return ; -} - -type DropdownMenuItemIndicatorProps = Omit< - React.ComponentProps, - "asChild" -> & - HTMLMotionProps<"div">; - -function DropdownMenuItemIndicator(props: DropdownMenuItemIndicatorProps) { - return ( - - - - ); -} - -export { - DropdownMenu, - DropdownMenuTrigger, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuItemIndicator, - DropdownMenuCheckboxItem, - DropdownMenuRadioItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuShortcut, - DropdownMenuGroup, - DropdownMenuPortal, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuRadioGroup, - useDropdownMenu, - useDropdownMenuSub, - type DropdownMenuProps, - type DropdownMenuTriggerProps, - type DropdownMenuContentProps, - type DropdownMenuItemProps, - type DropdownMenuItemIndicatorProps, - type DropdownMenuCheckboxItemProps, - type DropdownMenuRadioItemProps, - type DropdownMenuLabelProps, - type DropdownMenuSeparatorProps, - type DropdownMenuShortcutProps, - type DropdownMenuGroupProps, - type DropdownMenuPortalProps, - type DropdownMenuSubProps, - type DropdownMenuSubContentProps, - type DropdownMenuSubTriggerProps, - type DropdownMenuRadioGroupProps, - type DropdownMenuContextType, - type DropdownMenuSubContextType, -}; diff --git a/src/components/primitives/slot.tsx b/src/components/primitives/slot.tsx deleted file mode 100644 index 923d4bc7a..000000000 --- a/src/components/primitives/slot.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { type HTMLMotionProps, isMotionComponent, motion } from "motion/react"; -import * as React from "react"; -import { cn } from "@/utils/style"; - -type AnyProps = Record; - -type DOMMotionProps = Omit, "ref"> & { - ref?: React.Ref; -}; - -type WithAsChild = - | (Base & { asChild: true; children: React.ReactElement }) - | (Base & { asChild?: false | undefined }); - -type SlotProps = { - children?: React.ReactElement; -} & DOMMotionProps; - -function mergeRefs(...refs: (React.Ref | undefined)[]): React.RefCallback { - return (node) => { - refs.forEach((ref) => { - if (!ref) return; - if (typeof ref === "function") { - ref(node); - } else { - (ref as React.RefObject).current = node; - } - }); - }; -} - -function mergeProps(childProps: AnyProps, slotProps: DOMMotionProps): AnyProps { - const merged: AnyProps = { ...childProps, ...slotProps }; - - if (childProps.className || slotProps.className) { - merged.className = cn(childProps.className as string, slotProps.className as string); - } - - if (childProps.style || slotProps.style) { - merged.style = { - ...(childProps.style as React.CSSProperties), - ...(slotProps.style as React.CSSProperties), - }; - } - - return merged; -} - -function Slot({ children, ref, ...props }: SlotProps) { - const isAlreadyMotion = - children && typeof children.type === "object" && children.type !== null && isMotionComponent(children.type); - - const Base = React.useMemo( - () => (isAlreadyMotion ? (children.type as React.ElementType) : motion.create(children?.type as React.ElementType)), - [isAlreadyMotion, children], - ); - - if (!React.isValidElement(children)) return null; - - const { ref: childRef, ...childProps } = children.props as AnyProps; - - const mergedProps = mergeProps(childProps, props); - - return , ref)} />; -} - -export { Slot, type SlotProps, type WithAsChild, type DOMMotionProps, type AnyProps }; diff --git a/src/components/primitives/switch.tsx b/src/components/primitives/switch.tsx deleted file mode 100644 index 2bec79ecd..000000000 --- a/src/components/primitives/switch.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { type HTMLMotionProps, motion, type TargetAndTransition, type VariantLabels } from "motion/react"; -import { Switch as SwitchPrimitives } from "radix-ui"; -import * as React from "react"; -import { useControlledState } from "@/hooks/use-controlled-state"; -import { getStrictContext } from "@/utils/get-strict-context"; - -type SwitchContextType = { - isChecked: boolean; - setIsChecked: (isChecked: boolean) => void; - isPressed: boolean; - setIsPressed: (isPressed: boolean) => void; -}; - -const [SwitchProvider, useSwitch] = getStrictContext("SwitchContext"); - -type SwitchProps = Omit, "asChild"> & HTMLMotionProps<"button">; - -function Switch(props: SwitchProps) { - const [isPressed, setIsPressed] = React.useState(false); - const { checked, defaultChecked, onCheckedChange, ...restProps } = props; - - const [isChecked, setIsChecked] = useControlledState({ - value: checked, - defaultValue: defaultChecked, - onChange: onCheckedChange, - }); - - return ( - - - setIsPressed(false)} - onTapStart={() => setIsPressed(true)} - onTapCancel={() => setIsPressed(false)} - /> - - - ); -} - -type SwitchThumbProps = Omit, "asChild"> & - HTMLMotionProps<"div"> & { - pressedAnimation?: TargetAndTransition | VariantLabels | boolean; - }; - -function SwitchThumb({ - pressedAnimation, - transition = { type: "spring", stiffness: 300, damping: 25 }, - ...props -}: SwitchThumbProps) { - const { isPressed } = useSwitch(); - - return ( - - - - ); -} - -type SwitchIconPosition = "left" | "right" | "thumb"; - -type SwitchIconProps = HTMLMotionProps<"div"> & { - position: SwitchIconPosition; -}; - -function SwitchIcon({ position, transition = { type: "spring", bounce: 0 }, ...props }: SwitchIconProps) { - const { isChecked } = useSwitch(); - - const isAnimated = React.useMemo(() => { - if (position === "right") return !isChecked; - if (position === "left") return isChecked; - if (position === "thumb") return true; - return false; - }, [position, isChecked]); - - return ( - - ); -} - -export { - Switch, - SwitchThumb, - SwitchIcon, - useSwitch, - type SwitchProps, - type SwitchThumbProps, - type SwitchIconProps, - type SwitchIconPosition, - type SwitchContextType, -}; diff --git a/src/components/theme/combobox.tsx b/src/components/theme/combobox.tsx index 5e6596a0f..e5a4ddd1c 100644 --- a/src/components/theme/combobox.tsx +++ b/src/components/theme/combobox.tsx @@ -1,10 +1,10 @@ import { useLingui } from "@lingui/react"; import { useRouter } from "@tanstack/react-router"; import { isTheme, setThemeServerFn, themeMap } from "@/utils/theme"; -import { Combobox, type ComboboxProps } from "../ui/combobox"; +import { Combobox, type SingleComboboxProps } from "../ui/combobox"; import { useTheme } from "./provider"; -type Props = Omit; +type Props = Omit; export function ThemeCombobox(props: Props) { const router = useRouter(); @@ -24,5 +24,5 @@ export function ThemeCombobox(props: Props) { router.invalidate(); }; - return ; + return ; } diff --git a/src/components/typography/combobox.tsx b/src/components/typography/combobox.tsx index 22f0181c3..da939fac9 100644 --- a/src/components/typography/combobox.tsx +++ b/src/components/typography/combobox.tsx @@ -1,7 +1,6 @@ import { useMemo } from "react"; import { cn } from "@/utils/style"; -import { Combobox, type ComboboxProps } from "../ui/combobox"; -import { MultipleCombobox, type MultipleComboboxProps } from "../ui/multiple-combobox"; +import { Combobox, type MultiComboboxProps, type SingleComboboxProps } from "../ui/combobox"; import { FontDisplay } from "./font-display"; import type { LocalFont, WebFont } from "./types"; import webFontListJSON from "./webfontlist.json"; @@ -61,7 +60,7 @@ export function getNextWeights(fontFamily: string): Weight[] | null { return weights.length > 0 ? weights : null; } -type FontFamilyComboboxProps = Omit; +type FontFamilyComboboxProps = Omit; export function FontFamilyCombobox({ className, ...props }: FontFamilyComboboxProps) { const options = useMemo(() => { @@ -72,10 +71,10 @@ export function FontFamilyCombobox({ className, ...props }: FontFamilyComboboxPr })); }, []); - return ; + return ; } -type FontWeightComboboxProps = Omit & { fontFamily: string }; +type FontWeightComboboxProps = Omit & { fontFamily: string }; export function FontWeightCombobox({ fontFamily, ...props }: FontWeightComboboxProps) { const options = useMemo(() => { @@ -100,5 +99,5 @@ export function FontWeightCombobox({ fontFamily, ...props }: FontWeightComboboxP })); }, [fontFamily]); - return ; + return ; } diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx index 46caf0138..c85ef180e 100644 --- a/src/components/ui/accordion.tsx +++ b/src/components/ui/accordion.tsx @@ -1,63 +1,52 @@ -import { - AccordionContent as AccordionContentPrimitive, - type AccordionContentProps as AccordionContentPrimitiveProps, - AccordionHeader as AccordionHeaderPrimitive, - AccordionItem as AccordionItemPrimitive, - type AccordionItemProps as AccordionItemPrimitiveProps, - Accordion as AccordionPrimitive, - type AccordionProps as AccordionPrimitiveProps, - AccordionTrigger as AccordionTriggerPrimitive, - type AccordionTriggerProps as AccordionTriggerPrimitiveProps, -} from "@/components/primitives/accordion"; +import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion"; +import { CaretUpIcon } from "@phosphor-icons/react"; import { cn } from "@/utils/style"; -type AccordionProps = AccordionPrimitiveProps; - -function Accordion(props: AccordionProps) { - return ; +function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) { + return ; } -type AccordionItemProps = AccordionItemPrimitiveProps; - -function AccordionItem({ className, ...props }: AccordionItemProps) { - return ; -} - -type AccordionTriggerProps = AccordionTriggerPrimitiveProps; - -function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps) { +function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) { return ( - - + ); +} + +function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props) { + return ( + + svg]:rotate-0 [&[data-state=open]>svg]:rotate-90 [&[data-state=open]>svg]:transition-transform", + "group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className, )} {...props} > {children} - - + + + ); } -type AccordionContentProps = AccordionContentPrimitiveProps; - -function AccordionContent({ className, children, ...props }: AccordionContentProps) { +function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props) { return ( - - {children} - + + + {children} + + ); } -export { - Accordion, - AccordionItem, - AccordionTrigger, - AccordionContent, - type AccordionProps, - type AccordionItemProps, - type AccordionTriggerProps, - type AccordionContentProps, -}; +export { Accordion, AccordionContent, AccordionItem, AccordionTrigger }; diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx index 65e628066..7ac577976 100644 --- a/src/components/ui/alert-dialog.tsx +++ b/src/components/ui/alert-dialog.tsx @@ -1,124 +1,155 @@ -import { - AlertDialogAction as AlertDialogActionPrimitive, - type AlertDialogActionProps as AlertDialogActionPrimitiveProps, - AlertDialogCancel as AlertDialogCancelPrimitive, - type AlertDialogCancelProps as AlertDialogCancelPrimitiveProps, - AlertDialogContent as AlertDialogContentPrimitive, - type AlertDialogContentProps as AlertDialogContentPrimitiveProps, - AlertDialogDescription as AlertDialogDescriptionPrimitive, - type AlertDialogDescriptionProps as AlertDialogDescriptionPrimitiveProps, - AlertDialogFooter as AlertDialogFooterPrimitive, - type AlertDialogFooterProps as AlertDialogFooterPrimitiveProps, - AlertDialogHeader as AlertDialogHeaderPrimitive, - type AlertDialogHeaderProps as AlertDialogHeaderPrimitiveProps, - AlertDialogOverlay as AlertDialogOverlayPrimitive, - type AlertDialogOverlayProps as AlertDialogOverlayPrimitiveProps, - AlertDialogPortal as AlertDialogPortalPrimitive, - AlertDialog as AlertDialogPrimitive, - type AlertDialogProps as AlertDialogPrimitiveProps, - AlertDialogTitle as AlertDialogTitlePrimitive, - type AlertDialogTitleProps as AlertDialogTitlePrimitiveProps, - AlertDialogTrigger as AlertDialogTriggerPrimitive, - type AlertDialogTriggerProps as AlertDialogTriggerPrimitiveProps, -} from "@/components/primitives/alert-dialog"; -import { buttonVariants } from "@/components/ui/button"; +import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog"; +import type * as React from "react"; +import { Button } from "@/components/ui/button"; import { cn } from "@/utils/style"; -type AlertDialogProps = AlertDialogPrimitiveProps; - -function AlertDialog(props: AlertDialogProps) { - return ; +function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) { + return ; } -type AlertDialogTriggerProps = AlertDialogTriggerPrimitiveProps; - -function AlertDialogTrigger(props: AlertDialogTriggerProps) { - return ; +function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) { + return ; } -type AlertDialogOverlayProps = AlertDialogOverlayPrimitiveProps; - -function AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps) { - return ; +function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) { + return ; } -type AlertDialogContentProps = AlertDialogContentPrimitiveProps; - -function AlertDialogContent({ className, ...props }: AlertDialogContentProps) { +function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props) { return ( - - - - - ); -} - -type AlertDialogHeaderProps = AlertDialogHeaderPrimitiveProps; - -function AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps) { - return ( - - ); -} - -type AlertDialogFooterProps = AlertDialogFooterPrimitiveProps; - -function AlertDialogFooter({ className, ...props }: AlertDialogFooterProps) { - return ( - ); } -type AlertDialogTitleProps = AlertDialogTitlePrimitiveProps; - -function AlertDialogTitle({ className, ...props }: AlertDialogTitleProps) { - return ; +function AlertDialogContent({ + className, + size = "default", + ...props +}: AlertDialogPrimitive.Popup.Props & { + size?: "default" | "sm"; +}) { + return ( + + + + + ); } -type AlertDialogDescriptionProps = AlertDialogDescriptionPrimitiveProps; - -function AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps) { - return ; +function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( + + ); } -type AlertDialogActionProps = AlertDialogActionPrimitiveProps; - -function AlertDialogAction({ className, ...props }: AlertDialogActionPrimitiveProps) { - return ; +function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( + + ); } -type AlertDialogCancelProps = AlertDialogCancelPrimitiveProps; +function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">) { + return ( + + ); +} -function AlertDialogCancel({ className, ...props }: AlertDialogCancelPrimitiveProps) { - return ; +function AlertDialogTitle({ className, ...props }: React.ComponentProps) { + return ( + + ); +} + +function AlertDialogDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ); +} + +function AlertDialogAction({ className, ...props }: React.ComponentProps) { + return ; +} + +function AlertDialogCancel({ + className, + variant = "outline", + size = "default", + ...props +}: AlertDialogPrimitive.Close.Props & Pick, "variant" | "size">) { + return ( + } + {...props} + /> + ); } export { AlertDialog, - AlertDialogTrigger, - AlertDialogContent, - AlertDialogHeader, - AlertDialogFooter, - AlertDialogTitle, - AlertDialogDescription, AlertDialogAction, AlertDialogCancel, - type AlertDialogProps, - type AlertDialogTriggerProps, - type AlertDialogContentProps, - type AlertDialogHeaderProps, - type AlertDialogFooterProps, - type AlertDialogTitleProps, - type AlertDialogDescriptionProps, - type AlertDialogActionProps, - type AlertDialogCancelProps, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogMedia, + AlertDialogOverlay, + AlertDialogPortal, + AlertDialogTitle, + AlertDialogTrigger, }; diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx index ea14a252d..146528e29 100644 --- a/src/components/ui/alert.tsx +++ b/src/components/ui/alert.tsx @@ -52,4 +52,4 @@ function AlertAction({ className, ...props }: React.ComponentProps<"div">) { return ; } -export { Alert, AlertTitle, AlertDescription, AlertAction }; +export { Alert, AlertAction, AlertDescription, AlertTitle }; diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx index 4e59700a3..d55242e38 100644 --- a/src/components/ui/avatar.tsx +++ b/src/components/ui/avatar.tsx @@ -1,4 +1,4 @@ -import { Avatar as AvatarPrimitive } from "radix-ui"; +import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar"; import type * as React from "react"; import { cn } from "@/utils/style"; @@ -6,7 +6,7 @@ function Avatar({ className, size = "default", ...props -}: React.ComponentProps & { +}: AvatarPrimitive.Root.Props & { size?: "default" | "sm" | "lg"; }) { return ( @@ -22,7 +22,7 @@ function Avatar({ ); } -function AvatarImage({ className, ...props }: React.ComponentProps) { +function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) { return ( ) { +function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props) { return ( ) ); } -export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge }; +export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage }; diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx index 63e92da85..d38d1238c 100644 --- a/src/components/ui/badge.tsx +++ b/src/components/ui/badge.tsx @@ -1,6 +1,6 @@ +import { mergeProps } from "@base-ui/react/merge-props"; +import { useRender } from "@base-ui/react/use-render"; import { cva, type VariantProps } from "class-variance-authority"; -import { Slot } from "radix-ui"; -import type * as React from "react"; import { cn } from "@/utils/style"; const badgeVariants = cva( @@ -26,14 +26,15 @@ const badgeVariants = cva( function Badge({ className, variant = "default", - asChild = false, + render, ...props -}: React.ComponentProps<"span"> & VariantProps & { asChild?: boolean }) { - const Comp = asChild ? Slot.Root : "span"; - - return ( - - ); +}: useRender.ComponentProps<"span"> & VariantProps) { + return useRender({ + render, + defaultTagName: "span", + state: { slot: "badge", variant }, + props: mergeProps<"span">({ className: cn(badgeVariants({ variant }), className) }, props), + }); } -export { Badge }; +export { Badge, badgeVariants }; diff --git a/src/components/ui/button-group.tsx b/src/components/ui/button-group.tsx index f34b5c535..53ee109cb 100644 --- a/src/components/ui/button-group.tsx +++ b/src/components/ui/button-group.tsx @@ -1,5 +1,6 @@ +import { mergeProps } from "@base-ui/react/merge-props"; +import { useRender } from "@base-ui/react/use-render"; import { cva, type VariantProps } from "class-variance-authority"; -import { Slot } from "radix-ui"; import { Separator } from "@/components/ui/separator"; import { cn } from "@/utils/style"; @@ -9,9 +10,9 @@ const buttonGroupVariants = cva( variants: { orientation: { horizontal: - "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md!", + "*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0", vertical: - "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md!", + "flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0", }, }, defaultVariants: { @@ -36,24 +37,21 @@ function ButtonGroup({ ); } -function ButtonGroupText({ - className, - asChild = false, - ...props -}: React.ComponentProps<"div"> & { - asChild?: boolean; -}) { - const Comp = asChild ? Slot.Root : "div"; - - return ( - - ); +function ButtonGroupText({ className, render, ...props }: useRender.ComponentProps<"div">) { + return useRender({ + render, + defaultTagName: "div", + state: { slot: "button-group-text" }, + props: mergeProps<"div">( + { + className: cn( + "flex items-center gap-2 rounded-md border bg-muted px-2.5 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", + className, + ), + }, + props, + ), + }); } function ButtonGroupSeparator({ @@ -66,7 +64,7 @@ function ButtonGroupSeparator({ data-slot="button-group-separator" orientation={orientation} className={cn( - "relative self-stretch bg-input data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto data-[orientation=horizontal]:w-auto", + "relative self-stretch bg-input data-horizontal:mx-px data-vertical:my-px data-vertical:h-auto data-horizontal:w-auto", className, )} {...props} @@ -74,4 +72,4 @@ function ButtonGroupSeparator({ ); } -export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText }; +export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants }; diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index 1fa800795..2a83a44c4 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -1,28 +1,31 @@ +import { Button as ButtonPrimitive } from "@base-ui/react/button"; import { cva, type VariantProps } from "class-variance-authority"; -import { Button as ButtonPrimitive, type ButtonProps as ButtonPrimitiveProps } from "@/components/primitives/button"; import { cn } from "@/utils/style"; const buttonVariants = cva( - "inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-none transition-[box-shadow,color,background-color,border-color,outline-color,text-decoration-color,fill,stroke] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", + "group/button inline-flex shrink-0 cursor-pointer select-none items-center justify-center whitespace-nowrap rounded-md border border-transparent bg-clip-padding font-medium text-sm outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", { variants: { variant: { - default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", - accent: "bg-accent text-accent-foreground shadow-xs hover:bg-accent/90", + default: "bg-primary text-primary-foreground hover:bg-primary/80", + outline: "border-border bg-background shadow-xs hover:bg-muted hover:text-foreground", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-muted hover:text-foreground", destructive: - "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40", - outline: "border bg-background shadow-xs hover:bg-secondary/40 hover:text-secondary-foreground", - secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", - ghost: "hover:bg-secondary/40 hover:text-secondary-foreground", + "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", link: "text-primary underline-offset-4 hover:underline", }, size: { - default: "h-9 px-4 py-2 has-[>svg]:px-3", - sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5", - lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + default: + "h-9 gap-1.5 in-data-[slot=button-group]:rounded-md px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2", + xs: "h-6 gap-1 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),8px)] px-2 text-xs has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3", + sm: "h-8 gap-1 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),10px)] px-2.5 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5", + lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3", icon: "size-9", - "icon-sm": "size-8 rounded-md", - "icon-lg": "size-10 rounded-md", + "icon-xs": + "size-6 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),8px)] [&_svg:not([class*='size-'])]:size-3", + "icon-sm": "size-8 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),10px)]", + "icon-lg": "size-10", }, }, defaultVariants: { @@ -32,10 +35,10 @@ const buttonVariants = cva( }, ); -type ButtonProps = ButtonPrimitiveProps & VariantProps; +type ButtonProps = ButtonPrimitive.Props & VariantProps; -function Button({ className, variant, size, type = "button", ...props }: ButtonProps) { - return ; +function Button({ className, variant = "default", size = "default", ...props }: ButtonProps) { + return ; } -export { Button, buttonVariants, type ButtonProps }; +export { Button, type ButtonProps, buttonVariants }; diff --git a/src/components/ui/combobox.tsx b/src/components/ui/combobox.tsx index 9fa396b3e..6e8c2ba59 100644 --- a/src/components/ui/combobox.tsx +++ b/src/components/ui/combobox.tsx @@ -1,12 +1,252 @@ +import { Combobox as ComboboxPrimitive, type ComboboxTriggerState, type UseRenderRenderProp } from "@base-ui/react"; import { t } from "@lingui/core/macro"; -import { CaretUpDownIcon, CheckIcon } from "@phosphor-icons/react"; +import { CaretDownIcon, CheckIcon, XIcon } from "@phosphor-icons/react"; import * as React from "react"; import { Button } from "@/components/ui/button"; -import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from "@/components/ui/command"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; +import { Input } from "@/components/ui/input"; +import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "@/components/ui/input-group"; import { useControlledState } from "@/hooks/use-controlled-state"; import { cn } from "@/utils/style"; +const ComboboxRoot = ComboboxPrimitive.Root; + +function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) { + return ; +} + +function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props) { + return ( + + {children} + + + ); +} + +function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) { + return ( + + + + } + /> + ); +} + +function ComboboxInput({ + className, + children, + disabled = false, + showTrigger = true, + showClear = false, + ...props +}: ComboboxPrimitive.Input.Props & { + showTrigger?: boolean; + showClear?: boolean; +}) { + return ( + + } {...props} /> + + {showTrigger && ( + } + data-slot="input-group-button" + className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent" + disabled={disabled} + /> + )} + {showClear && } + + {children} + + ); +} + +function ComboboxContent({ + className, + side = "bottom", + sideOffset = 6, + align = "start", + alignOffset = 0, + anchor, + ...props +}: ComboboxPrimitive.Popup.Props & + Pick) { + return ( + + + + + + ); +} + +function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) { + return ( + + ); +} + +function ComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props) { + return ( + + {children} + + + + } + /> + + ); +} + +function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) { + return ; +} + +function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props) { + return ( + + ); +} + +function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) { + return ; +} + +function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) { + return ( + + ); +} + +function ComboboxSeparator({ className, ...props }: ComboboxPrimitive.Separator.Props) { + return ( + + ); +} + +function ComboboxChips({ + className, + ...props +}: React.ComponentPropsWithRef & ComboboxPrimitive.Chips.Props) { + return ( + + ); +} + +function ComboboxChip({ + className, + children, + showRemove = true, + ...props +}: ComboboxPrimitive.Chip.Props & { + showRemove?: boolean; +}) { + return ( + + {children} + {showRemove && ( + + + + } + /> + )} + + ); +} + +function ComboboxChipsInput({ className, ...props }: ComboboxPrimitive.Input.Props) { + return ( + + ); +} + +function useComboboxAnchor() { + return React.useRef(null); +} + type ComboboxOption = { value: TValue; label: React.ReactNode; @@ -14,149 +254,200 @@ type ComboboxOption = { disabled?: boolean; }; -type ComboboxProps = Omit< - React.ComponentProps, - "value" | "defaultValue" | "children" -> & { - disabled?: boolean; - clearable?: boolean; - options: ReadonlyArray>; +type SingleComboboxProps = { + options: ComboboxOption[]; value?: TValue | null; defaultValue?: TValue | null; - placeholder?: React.ReactNode; + onValueChange?: (value: TValue | null) => void; + multiple?: false; + disabled?: boolean; + showClear?: boolean; + placeholder?: string; searchPlaceholder?: string; emptyMessage?: React.ReactNode; - buttonProps?: Omit, "children"> & { - children?: (value: TValue | null, option: ComboboxOption | null) => React.ReactNode; - }; - onValueChange?: (value: TValue | null, option: ComboboxOption | null) => void; + className?: string; + id?: string; + name?: string; + render?: UseRenderRenderProp; }; -function Combobox({ - disabled = false, - clearable = true, - options, - value, - defaultValue = null, - placeholder = t`Select...`, - searchPlaceholder = t`Search...`, - emptyMessage = t`No results found.`, - className, - buttonProps, - onValueChange, - ...props -}: ComboboxProps) { - const { className: buttonClassName, children: buttonChildren, ...buttonRestProps } = buttonProps ?? {}; - const [open, setOpen] = React.useState(false); +type MultiComboboxProps = { + options: ComboboxOption[]; + value?: TValue[] | null; + defaultValue?: TValue[] | null; + onValueChange?: (value: TValue[] | null) => void; + multiple: true; + disabled?: boolean; + showClear?: boolean; + placeholder?: string; + searchPlaceholder?: string; + emptyMessage?: React.ReactNode; + className?: string; + id?: string; + name?: string; + render?: UseRenderRenderProp; +}; - const [selectedValue, setSelectedValue] = useControlledState({ - value, - defaultValue, - onChange: (next) => onValueChange?.(next, options.find((o) => o.value === next) ?? null), - }); +type ComboboxProps = SingleComboboxProps | MultiComboboxProps; - const selectedOption = React.useMemo(() => { - return options.find((option) => option.value === selectedValue) ?? null; - }, [options, selectedValue]); +function Combobox(props: ComboboxProps) { + const { + options, + multiple = false, + disabled = false, + showClear = false, + placeholder, + searchPlaceholder, + emptyMessage, + className, + id, + name, + render, + } = props; - const selectedLabel = selectedOption?.label; + const { contains } = ComboboxPrimitive.useFilter(); - const onSelect = React.useCallback( - (current: string) => { - const next = (current as unknown as TValue) ?? null; + const optionMap = React.useMemo(() => new Map(options.map((opt) => [String(opt.value), opt])), [options]); - if (!clearable && selectedValue === next) { - setOpen(false); - return; + const findOption = React.useCallback( + (v: TValue | TValue[] | null | undefined) => { + if (multiple) { + if (!v || !Array.isArray(v)) return []; + return (v as TValue[]) + .map((item) => optionMap.get(String(item)) ?? null) + .filter(Boolean) as ComboboxOption[]; + } else { + if (v == null) return null; + return optionMap.get(String(v)) ?? null; } - - const toggled = selectedValue === next ? null : next; - setSelectedValue(toggled); - setOpen(false); }, - [clearable, selectedValue, setSelectedValue], + [optionMap, multiple], ); - // Prevent opening popover and handling interaction if disabled - const handleOpenChange = React.useCallback( - (nextOpen: boolean) => { - if (disabled) return; - setOpen(nextOpen); + type OptionValue = ComboboxOption[] | ComboboxOption | null; + + const rawValueKey = props.value !== undefined ? JSON.stringify(props.value) : undefined; + const resolvedValue = React.useMemo( + () => (props.value !== undefined ? (findOption(props.value) as OptionValue) : undefined), + // eslint-disable-next-line react-hooks/exhaustive-deps -- stable key avoids new-reference loops + [rawValueKey, optionMap], + ); + + const rawDefaultKey = props.defaultValue !== undefined ? JSON.stringify(props.defaultValue) : undefined; + const resolvedDefaultValue = React.useMemo( + () => (props.defaultValue !== undefined ? (findOption(props.defaultValue) as OptionValue) : undefined), + // eslint-disable-next-line react-hooks/exhaustive-deps -- only needed on mount / options change + [rawDefaultKey, optionMap], + ); + + const handleExternalChange = React.useCallback( + (option: ComboboxOption[] | ComboboxOption | null) => { + if (multiple) { + const arrOpt = Array.isArray(option) ? option : option ? [option] : []; + (props as MultiComboboxProps).onValueChange?.(arrOpt.length > 0 ? arrOpt.map((opt) => opt.value) : []); + } else { + const value = option && !Array.isArray(option) ? (option as ComboboxOption).value : null; + const cb = props.onValueChange as ((value: TValue | null) => void) | undefined; + cb?.(value ?? null); + } }, - [disabled], + [props, multiple], + ); + + const [selectedValue, setSelectedValue] = useControlledState({ + value: resolvedValue, + defaultValue: resolvedDefaultValue, + onChange: handleExternalChange, + }); + + const itemToStringLabel = React.useCallback( + (item: ComboboxOption) => (typeof item.label === "string" ? item.label : String(item.value)), + [], + ); + + const isItemEqualToValue = React.useCallback( + (a: ComboboxOption, b: ComboboxOption) => String(a.value) === String(b.value), + [], + ); + + const filter = React.useCallback( + (item: ComboboxOption, query: string) => { + const labelStr = typeof item.label === "string" ? item.label : String(item.value); + if (contains(labelStr, query)) return true; + return item.keywords?.some((kw) => contains(kw, query)) ?? false; + }, + [contains], + ); + + const listContent = (item: ComboboxOption) => ( + + {item.label} + ); return ( - - - - {typeof buttonChildren === "function" ? ( - buttonChildren(selectedValue, selectedOption) - ) : ( - <> - {selectedLabel ?? placeholder} - - > - )} - - - - [] & ComboboxOption} + onValueChange={setSelectedValue as (value: ComboboxOption[] | ComboboxOption | null) => void} + itemToStringLabel={itemToStringLabel} + isItemEqualToValue={isItemEqualToValue} + {...(multiple ? { multiple: true } : {})} + > + + ) + } > - - - - {emptyMessage} - - {options.map((option) => { - const isSelected = selectedValue === option.value; - const isDisabled = option.disabled ?? disabled; + + + - return ( - - - {option.label} - - ); - })} - - - - - + {showClear && } + + + + } + /> + {emptyMessage ?? t`No results found.`} + {listContent} + + ); } -export type { ComboboxOption, ComboboxProps }; - -export { Combobox }; +export { + Combobox, + ComboboxChip, + ComboboxChips, + ComboboxChipsInput, + ComboboxCollection, + ComboboxContent, + ComboboxEmpty, + ComboboxGroup, + ComboboxInput, + ComboboxItem, + ComboboxLabel, + ComboboxList, + type ComboboxOption, + type ComboboxProps, + ComboboxRoot, + ComboboxSeparator, + ComboboxTrigger, + ComboboxValue, + type MultiComboboxProps, + type SingleComboboxProps, + useComboboxAnchor, +}; diff --git a/src/components/ui/command.tsx b/src/components/ui/command.tsx index c50561ce3..2f491fdbf 100644 --- a/src/components/ui/command.tsx +++ b/src/components/ui/command.tsx @@ -10,7 +10,7 @@ function Command({ className, ...props }: React.ComponentProps & { +}: Omit, "children"> & { title?: string; description?: string; className?: string; + showClose?: boolean; + children: React.ReactNode; }) { return ( @@ -35,7 +38,12 @@ function CommandDialog({ {title} {description} - {children} + + {children} + ); } @@ -43,7 +51,7 @@ function CommandDialog({ function CommandInput({ className, ...props }: React.ComponentProps) { return ( - + ) export { Command, CommandDialog, - CommandInput, - CommandList, CommandEmpty, CommandGroup, + CommandInput, CommandItem, - CommandShortcut, + CommandList, CommandSeparator, + CommandShortcut, }; diff --git a/src/components/ui/context-menu.tsx b/src/components/ui/context-menu.tsx index 1b7ad8341..ddb092168 100644 --- a/src/components/ui/context-menu.tsx +++ b/src/components/ui/context-menu.tsx @@ -1,13 +1,17 @@ +import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu"; import { CaretRightIcon, CheckIcon } from "@phosphor-icons/react"; -import { ContextMenu as ContextMenuPrimitive } from "radix-ui"; import type * as React from "react"; import { cn } from "@/utils/style"; -function ContextMenu({ ...props }: React.ComponentProps) { +function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) { return ; } -function ContextMenuTrigger({ className, ...props }: React.ComponentProps) { +function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) { + return ; +} + +function ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props) { return ( ) { +function ContextMenuContent({ + className, + align = "start", + alignOffset = 4, + side = "right", + sideOffset = 0, + ...props +}: ContextMenuPrimitive.Popup.Props & + Pick) { + return ( + + + + + + ); +} + +function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) { return ; } -function ContextMenuPortal({ ...props }: React.ComponentProps) { - return ; -} - -function ContextMenuSub({ ...props }: React.ComponentProps) { - return ; -} - -function ContextMenuRadioGroup({ ...props }: React.ComponentProps) { - return ; -} - -function ContextMenuContent({ +function ContextMenuLabel({ className, + inset, ...props -}: React.ComponentProps & { - side?: "top" | "right" | "bottom" | "left"; +}: ContextMenuPrimitive.GroupLabel.Props & { + inset?: boolean; }) { return ( - - - + ); } @@ -58,7 +78,7 @@ function ContextMenuItem({ inset, variant = "default", ...props -}: React.ComponentProps & { +}: ContextMenuPrimitive.Item.Props & { inset?: boolean; variant?: "default" | "destructive"; }) { @@ -68,7 +88,7 @@ function ContextMenuItem({ data-inset={inset} data-variant={variant} className={cn( - "group/context-menu-item relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:ps-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", + "group/context-menu-item relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", className, )} {...props} @@ -76,111 +96,101 @@ function ContextMenuItem({ ); } +function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) { + return ; +} + function ContextMenuSubTrigger({ className, inset, children, ...props -}: React.ComponentProps & { +}: ContextMenuPrimitive.SubmenuTrigger.Props & { inset?: boolean; }) { return ( - {children} - + ); } -function ContextMenuSubContent({ className, ...props }: React.ComponentProps) { - return ( - - ); +function ContextMenuSubContent({ ...props }: React.ComponentProps) { + return ; } function ContextMenuCheckboxItem({ className, children, checked, + inset, ...props -}: React.ComponentProps) { +}: ContextMenuPrimitive.CheckboxItem.Props & { + inset?: boolean; +}) { return ( - - + + - + {children} ); } +function ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props) { + return ; +} + function ContextMenuRadioItem({ className, children, + inset, ...props -}: React.ComponentProps) { +}: ContextMenuPrimitive.RadioItem.Props & { + inset?: boolean; +}) { return ( - - + + - + {children} ); } -function ContextMenuLabel({ - className, - inset, - ...props -}: React.ComponentProps & { - inset?: boolean; -}) { - return ( - - ); -} - -function ContextMenuSeparator({ className, ...props }: React.ComponentProps) { +function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props) { return ( ; +function Dialog({ ...props }: DialogPrimitive.Root.Props) { + return ; } -type DialogTriggerProps = DialogTriggerPrimitiveProps; - -function DialogTrigger(props: DialogTriggerProps) { - return ; +function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) { + return ; } -type DialogCloseProps = DialogClosePrimitiveProps; - -function DialogClose(props: DialogCloseProps) { - return ; +function DialogPortal({ ...props }: DialogPrimitive.Portal.Props) { + return ; } -type DialogOverlayProps = DialogOverlayPrimitiveProps; - -function DialogOverlay({ className, ...props }: DialogOverlayProps) { - return ; +function DialogClose({ ...props }: DialogPrimitive.Close.Props) { + return ; } -type DialogContentProps = DialogContentPrimitiveProps; - -function DialogContent({ className, children, ...props }: DialogContentProps) { +function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) { return ( - - - - {children} - - - ); -} - -type DialogHeaderProps = DialogHeaderPrimitiveProps; - -function DialogHeader({ className, ...props }: DialogHeaderProps) { - return ( - - ); -} - -type DialogFooterProps = DialogFooterPrimitiveProps; - -function DialogFooter({ className, ...props }: DialogFooterProps) { - return ( - ); } -type DialogTitleProps = DialogTitlePrimitiveProps; - -function DialogTitle({ className, ...props }: DialogTitleProps) { - return ; +function DialogContent({ + className, + children, + showClose = false, + ...props +}: DialogPrimitive.Popup.Props & { + showClose?: boolean; +}) { + return ( + + + + {children} + {showClose && ( + } + > + + + Close + + + )} + + + ); } -type DialogDescriptionProps = DialogDescriptionPrimitiveProps; +function DialogHeader({ className, ...props }: React.ComponentProps<"div">) { + return ; +} -function DialogDescription({ className, ...props }: DialogDescriptionProps) { - return ; +function DialogFooter({ className, children, ...props }: React.ComponentProps<"div">) { + return ( + + {children} + + ); +} + +function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) { + return ( + + ); +} + +function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) { + return ( + + ); } export { Dialog, - DialogTrigger, DialogClose, DialogContent, - DialogHeader, - DialogFooter, - DialogTitle, DialogDescription, - type DialogProps, - type DialogTriggerProps, - type DialogCloseProps, - type DialogContentProps, - type DialogHeaderProps, - type DialogFooterProps, - type DialogTitleProps, - type DialogDescriptionProps, + DialogFooter, + DialogHeader, + DialogOverlay, + DialogPortal, + DialogTitle, + DialogTrigger, }; diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx index 8b852567e..bc2c1fbf0 100644 --- a/src/components/ui/dropdown-menu.tsx +++ b/src/components/ui/dropdown-menu.tsx @@ -1,86 +1,87 @@ -import { CaretRightIcon, CheckIcon, CircleIcon } from "@phosphor-icons/react"; -import { - DropdownMenuCheckboxItem as DropdownMenuCheckboxItemPrimitive, - type DropdownMenuCheckboxItemProps as DropdownMenuCheckboxItemPrimitiveProps, - DropdownMenuContent as DropdownMenuContentPrimitive, - type DropdownMenuContentProps as DropdownMenuContentPrimitiveProps, - DropdownMenuGroup as DropdownMenuGroupPrimitive, - type DropdownMenuGroupProps as DropdownMenuGroupPrimitiveProps, - DropdownMenuItemIndicator as DropdownMenuItemIndicatorPrimitive, - DropdownMenuItem as DropdownMenuItemPrimitive, - type DropdownMenuItemProps as DropdownMenuItemPrimitiveProps, - DropdownMenuLabel as DropdownMenuLabelPrimitive, - type DropdownMenuLabelProps as DropdownMenuLabelPrimitiveProps, - DropdownMenu as DropdownMenuPrimitive, - type DropdownMenuProps as DropdownMenuPrimitiveProps, - DropdownMenuRadioGroup as DropdownMenuRadioGroupPrimitive, - type DropdownMenuRadioGroupProps as DropdownMenuRadioGroupPrimitiveProps, - DropdownMenuRadioItem as DropdownMenuRadioItemPrimitive, - type DropdownMenuRadioItemProps as DropdownMenuRadioItemPrimitiveProps, - DropdownMenuSeparator as DropdownMenuSeparatorPrimitive, - type DropdownMenuSeparatorProps as DropdownMenuSeparatorPrimitiveProps, - DropdownMenuShortcut as DropdownMenuShortcutPrimitive, - type DropdownMenuShortcutProps as DropdownMenuShortcutPrimitiveProps, - DropdownMenuSubContent as DropdownMenuSubContentPrimitive, - type DropdownMenuSubContentProps as DropdownMenuSubContentPrimitiveProps, - DropdownMenuSub as DropdownMenuSubPrimitive, - type DropdownMenuSubProps as DropdownMenuSubPrimitiveProps, - DropdownMenuSubTrigger as DropdownMenuSubTriggerPrimitive, - type DropdownMenuSubTriggerProps as DropdownMenuSubTriggerPrimitiveProps, - DropdownMenuTrigger as DropdownMenuTriggerPrimitive, - type DropdownMenuTriggerProps as DropdownMenuTriggerPrimitiveProps, -} from "@/components/primitives/dropdown-menu"; +import { Menu as MenuPrimitive } from "@base-ui/react/menu"; +import { CaretRightIcon, CheckIcon } from "@phosphor-icons/react"; +import type * as React from "react"; import { cn } from "@/utils/style"; -type DropdownMenuProps = DropdownMenuPrimitiveProps; - -function DropdownMenu(props: DropdownMenuProps) { - return ; +function DropdownMenu({ ...props }: MenuPrimitive.Root.Props) { + return ; } -type DropdownMenuTriggerProps = DropdownMenuTriggerPrimitiveProps; - -function DropdownMenuTrigger(props: DropdownMenuTriggerProps) { - return ; +function DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) { + return ; } -type DropdownMenuContentProps = DropdownMenuContentPrimitiveProps; +function DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) { + return ; +} -function DropdownMenuContent({ sideOffset = 4, className, children, ...props }: DropdownMenuContentProps) { +function DropdownMenuContent({ + align = "start", + alignOffset = 0, + side = "bottom", + sideOffset = 4, + className, + ...props +}: MenuPrimitive.Popup.Props & Pick) { return ( - - {children} - + + + + + ); } -type DropdownMenuGroupProps = DropdownMenuGroupPrimitiveProps; - -function DropdownMenuGroup({ ...props }: DropdownMenuGroupProps) { - return ; +function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) { + return ; } -type DropdownMenuItemProps = DropdownMenuItemPrimitiveProps & { +function DropdownMenuLabel({ + className, + inset, + ...props +}: MenuPrimitive.GroupLabel.Props & { + inset?: boolean; +}) { + return ( + + ); +} + +function DropdownMenuItem({ + className, + inset, + variant = "default", + ...props +}: MenuPrimitive.Item.Props & { inset?: boolean; variant?: "default" | "destructive"; -}; - -function DropdownMenuItem({ className, inset, variant = "default", disabled, ...props }: DropdownMenuItemProps) { +}) { return ( - ; +} -function DropdownMenuCheckboxItem({ className, children, checked, disabled, ...props }: DropdownMenuCheckboxItemProps) { +function DropdownMenuSubTrigger({ + className, + inset, + children, + ...props +}: MenuPrimitive.SubmenuTrigger.Props & { + inset?: boolean; +}) { return ( - + {children} + + + ); +} + +function DropdownMenuSubContent({ + align = "start", + alignOffset = -3, + side = "right", + sideOffset = 0, + className, + ...props +}: React.ComponentProps) { + return ( + + ); +} + +function DropdownMenuCheckboxItem({ + className, + children, + checked, + inset, + ...props +}: MenuPrimitive.CheckboxItem.Props & { + inset?: boolean; +}) { + return ( + - - - - + + + + {children} - + ); } -type DropdownMenuRadioGroupProps = DropdownMenuRadioGroupPrimitiveProps; - -function DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) { - return ; +function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) { + return ; } -type DropdownMenuRadioItemProps = DropdownMenuRadioItemPrimitiveProps; - -function DropdownMenuRadioItem({ className, children, disabled, ...props }: DropdownMenuRadioItemProps) { +function DropdownMenuRadioItem({ + className, + children, + inset, + ...props +}: MenuPrimitive.RadioItem.Props & { + inset?: boolean; +}) { return ( - - - - - + + + + {children} - + ); } -type DropdownMenuLabelProps = DropdownMenuLabelPrimitiveProps & { - inset?: boolean; -}; - -function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps) { +function DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) { return ( - ); } -type DropdownMenuSeparatorProps = DropdownMenuSeparatorPrimitiveProps; - -function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps) { - return ; -} - -type DropdownMenuShortcutProps = DropdownMenuShortcutPrimitiveProps; - -function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps) { +function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">) { return ( - - ); -} - -type DropdownMenuSubProps = DropdownMenuSubPrimitiveProps; - -function DropdownMenuSub(props: DropdownMenuSubProps) { - return ; -} - -type DropdownMenuSubTriggerProps = DropdownMenuSubTriggerPrimitiveProps & { - inset?: boolean; -}; - -function DropdownMenuSubTrigger({ disabled, className, inset, children, ...props }: DropdownMenuSubTriggerProps) { - return ( - - {children} - - - ); -} - -type DropdownMenuSubContentProps = DropdownMenuSubContentPrimitiveProps; - -function DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentProps) { - return ( - ) { ); } -function FormLabel({ className, ...props }: React.ComponentProps) { +function FormLabel({ className, ...props }: React.ComponentProps) { const { error, formItemId } = useFormField(); return ( @@ -90,18 +89,21 @@ function FormLabel({ className, ...props }: React.ComponentProps) { +function FormControl(props: useRender.ComponentProps<"div">) { const { error, formItemId, formDescriptionId, formMessageId } = useFormField(); - return ( - - ); + return useRender({ + ...props, + defaultTagName: "div", + state: { slot: "form-control" }, + props: { + id: formItemId, + "data-slot": "form-control", + "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`, + "aria-invalid": !!error, + ...props, + }, + }); } function FormDescription({ className, ...props }: React.ComponentProps<"p">) { @@ -152,4 +154,4 @@ function FormMessage({ className, ...props }: React.ComponentProps<"p">) { ); } -export { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField }; +export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage }; diff --git a/src/components/ui/hover-card.tsx b/src/components/ui/hover-card.tsx index 17b9296b2..c6e387502 100644 --- a/src/components/ui/hover-card.tsx +++ b/src/components/ui/hover-card.tsx @@ -1,35 +1,43 @@ -import { HoverCard as HoverCardPrimitive } from "radix-ui"; -import type * as React from "react"; +import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card"; import { cn } from "@/utils/style"; -function HoverCard({ ...props }: React.ComponentProps) { - return ; +function HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) { + return ; } -function HoverCardTrigger({ ...props }: React.ComponentProps) { - return ; +function HoverCardTrigger({ ...props }: PreviewCardPrimitive.Trigger.Props) { + return ; } function HoverCardContent({ className, - align = "center", + side = "bottom", sideOffset = 4, + align = "center", + alignOffset = 4, ...props -}: React.ComponentProps) { +}: PreviewCardPrimitive.Popup.Props & + Pick) { return ( - - + - + className="isolate z-50" + > + + + ); } -export { HoverCard, HoverCardTrigger, HoverCardContent }; +export { HoverCard, HoverCardContent, HoverCardTrigger }; diff --git a/src/components/ui/input-group.tsx b/src/components/ui/input-group.tsx index 7d727a764..73fba81e9 100644 --- a/src/components/ui/input-group.tsx +++ b/src/components/ui/input-group.tsx @@ -11,7 +11,7 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) { data-slot="input-group" role="group" className={cn( - "group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-ring has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=inline-start]]:[&>input]:ps-1.5 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3", + "group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className, )} {...props} @@ -24,8 +24,8 @@ const inputGroupAddonVariants = cva( { variants: { align: { - "inline-start": "order-first ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem]", - "inline-end": "order-last pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem]", + "inline-start": "order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]", + "inline-end": "order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]", "block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2", "block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2", @@ -73,21 +73,25 @@ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-non }, }); +type InputGroupButtonProps = Omit, "size" | "type"> & + VariantProps & { + type?: "button" | "submit" | "reset"; + }; + function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props -}: Omit, "size"> & VariantProps) { +}: InputGroupButtonProps) { return ( ); } @@ -109,7 +113,7 @@ function InputGroupInput({ className, ...props }: React.ComponentProps<"input">) ) { ); } -export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }; +export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot }; diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx index fe522d062..fc91b42b5 100644 --- a/src/components/ui/input.tsx +++ b/src/components/ui/input.tsx @@ -1,13 +1,14 @@ +import { Input as InputPrimitive } from "@base-ui/react/input"; import type * as React from "react"; import { cn } from "@/utils/style"; function Input({ className, type, ...props }: React.ComponentProps<"input">) { return ( - ) { +function Label({ className, ...props }: React.ComponentProps<"label">) { return ( - = { - value: TValue; - label: React.ReactNode; - keywords?: string[]; - disabled?: boolean; -}; - -type BasePopoverProps = Omit, "value" | "defaultValue" | "children">; - -type MultipleComboboxProps = BasePopoverProps & { - options: MultipleComboboxOption[]; - value?: TValue[]; - defaultValue?: TValue[]; - placeholder?: React.ReactNode; - searchPlaceholder?: string; - emptyMessage?: React.ReactNode; - clearLabel?: React.ReactNode; - buttonProps?: Omit, "children"> & { - children?: (values: TValue[], options: MultipleComboboxOption[]) => React.ReactNode; - }; - onValueChange?: (values: TValue[], options: MultipleComboboxOption[]) => void; - onOpenChange?: (open: boolean) => void; - disableClear?: boolean; -}; - -const CLEAR_COMMAND_VALUE = "__command-clear-multi-select-combobox"; - -function MultipleCombobox({ - options, - value, - defaultValue, - placeholder = t`Select...`, - searchPlaceholder = t`Search...`, - emptyMessage = t`No results found.`, - clearLabel = t`Clear selection`, - className, - buttonProps, - onValueChange, - onOpenChange, - disableClear = false, - ...popoverProps -}: MultipleComboboxProps) { - const [open, setOpen] = React.useState(false); - - const { children: buttonChildren, className: buttonClassName, ...buttonRest } = buttonProps ?? {}; - - const resolvedDefaultValue = React.useMemo(() => (defaultValue ? [...defaultValue] : []), [defaultValue]); - - const optionsByStringValue = React.useMemo(() => { - return new Map(options.map((option) => [String(option.value), option])); - }, [options]); - - const [selectedValues, setSelectedValues] = useControlledState({ - value, - defaultValue: resolvedDefaultValue, - onChange: (next) => - onValueChange?.( - next, - next - .map((item) => options.find((option) => option.value === item)) - .filter((option): option is MultipleComboboxOption => Boolean(option)), - ), - }); - - const selectionSet = React.useMemo(() => new Set(selectedValues), [selectedValues]); - - const selectedOptions = React.useMemo( - () => options.filter((option) => selectionSet.has(option.value)), - [options, selectionSet], - ); - - const selectionCount = selectedOptions.length; - const canClear = !disableClear && selectionCount > 0; - - const toggleOption = React.useCallback( - (option: MultipleComboboxOption) => { - if (option.disabled) return; - - const isSelected = selectionSet.has(option.value); - const nextValues = isSelected - ? selectedValues.filter((selected) => selected !== option.value) - : [...selectedValues, option.value]; - - setSelectedValues(nextValues); - }, - [selectionSet, selectedValues, setSelectedValues], - ); - - const handleSelect = React.useCallback( - (current: string) => { - if (current === CLEAR_COMMAND_VALUE) { - setSelectedValues([]); - return; - } - - const option = optionsByStringValue.get(current); - if (!option) return; - toggleOption(option); - }, - [optionsByStringValue, toggleOption, setSelectedValues], - ); - - const handleOpenChange = React.useCallback( - (nextOpen: boolean) => { - setOpen(nextOpen); - onOpenChange?.(nextOpen); - }, - [onOpenChange], - ); - - const buttonContent = - typeof buttonChildren === "function" ? ( - buttonChildren(selectedValues, selectedOptions) - ) : ( - <> - {selectionCount > 0 ? `${selectionCount} selected` : placeholder} - - > - ); - - return ( - - - - {buttonContent} - - - - - - - - {emptyMessage} - - - {options.map((option) => { - const stringValue = String(option.value); - const isSelected = selectionSet.has(option.value); - const isDisabled = option.disabled ?? false; - - return ( - - - {option.label} - - ); - })} - - - {canClear ? ( - <> - - - - {clearLabel} - - - > - ) : null} - - - - - ); -} - -export type { MultipleComboboxOption, MultipleComboboxProps }; - -export { MultipleCombobox }; diff --git a/src/components/ui/popover.tsx b/src/components/ui/popover.tsx index 60453a23d..5ab00fcd8 100644 --- a/src/components/ui/popover.tsx +++ b/src/components/ui/popover.tsx @@ -1,51 +1,62 @@ -import { Popover as PopoverPrimitive } from "radix-ui"; +import { Popover as PopoverPrimitive } from "@base-ui/react/popover"; import type * as React from "react"; import { cn } from "@/utils/style"; -function Popover({ ...props }: React.ComponentProps) { +function Popover({ ...props }: PopoverPrimitive.Root.Props) { return ; } -function PopoverTrigger({ ...props }: React.ComponentProps) { +function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) { return ; } function PopoverContent({ className, align = "center", + alignOffset = 0, + side = "bottom", sideOffset = 4, ...props -}: React.ComponentProps) { +}: PopoverPrimitive.Popup.Props & + Pick) { return ( - + className="isolate z-50" + > + + ); } -function PopoverAnchor({ ...props }: React.ComponentProps) { - return ; -} - function PopoverHeader({ className, ...props }: React.ComponentProps<"div">) { return ; } -function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">) { - return ; +function PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) { + return ; } -function PopoverDescription({ className, ...props }: React.ComponentProps<"p">) { - return ; +function PopoverDescription({ className, ...props }: PopoverPrimitive.Description.Props) { + return ( + + ); } -export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }; +export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }; diff --git a/src/components/ui/scroll-area.tsx b/src/components/ui/scroll-area.tsx index 756ef7e28..d577f05ba 100644 --- a/src/components/ui/scroll-area.tsx +++ b/src/components/ui/scroll-area.tsx @@ -1,13 +1,12 @@ -import { ScrollArea as ScrollAreaPrimitive } from "radix-ui"; -import type * as React from "react"; +import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area"; import { cn } from "@/utils/style"; -function ScrollArea({ className, children, ...props }: React.ComponentProps) { +function ScrollArea({ className, children, ...props }: ScrollAreaPrimitive.Root.Props) { return ( {children} @@ -17,13 +16,9 @@ function ScrollArea({ className, children, ...props }: React.ComponentProps) { +function ScrollBar({ className, orientation = "vertical", ...props }: ScrollAreaPrimitive.Scrollbar.Props) { return ( - - - + + ); } diff --git a/src/components/ui/separator.tsx b/src/components/ui/separator.tsx index f76ac91d1..c10515f4e 100644 --- a/src/components/ui/separator.tsx +++ b/src/components/ui/separator.tsx @@ -1,20 +1,13 @@ -import { Separator as SeparatorPrimitive } from "radix-ui"; -import type * as React from "react"; +import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"; import { cn } from "@/utils/style"; -function Separator({ - className, - orientation = "horizontal", - decorative = true, - ...props -}: React.ComponentProps) { +function Separator({ className, orientation = "horizontal", ...props }: SeparatorPrimitive.Props) { return ( - ) { +function Sheet({ ...props }: SheetPrimitive.Root.Props) { return ; } -function SheetTrigger({ ...props }: React.ComponentProps) { +function SheetTrigger({ ...props }: SheetPrimitive.Trigger.Props) { return ; } -function SheetClose({ ...props }: React.ComponentProps) { +function SheetClose({ ...props }: SheetPrimitive.Close.Props) { return ; } -function SheetPortal({ ...props }: React.ComponentProps) { +function SheetPortal({ ...props }: SheetPrimitive.Portal.Props) { return ; } -function SheetOverlay({ className, ...props }: React.ComponentProps) { +function SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) { return ( - & { +}: SheetPrimitive.Popup.Props & { side?: "top" | "right" | "bottom" | "left"; - showCloseButton?: boolean; + showClose?: boolean; }) { return ( - {children} - {showCloseButton && ( - - - - Close - + {showClose && ( + } + > + + + Close + )} - + ); } @@ -77,13 +81,13 @@ function SheetFooter({ className, ...props }: React.ComponentProps<"div">) { return ; } -function SheetTitle({ className, ...props }: React.ComponentProps) { +function SheetTitle({ className, ...props }: SheetPrimitive.Title.Props) { return ( ); } -function SheetDescription({ className, ...props }: React.ComponentProps) { +function SheetDescription({ className, ...props }: SheetPrimitive.Description.Props) { return ( ."); + throw new Error("useSidebarState must be used within a SidebarProvider."); } return context; @@ -58,13 +61,18 @@ function SidebarProvider({ // We use openProp and setOpenProp for control from outside the component. const [_open, _setOpen] = React.useState(defaultOpen); const open = openProp ?? _open; - const setOpen = React.useCallback( (value: boolean | ((value: boolean) => boolean)) => { const openState = typeof value === "function" ? value(open) : value; - setOpenProp?.(openState); - _setOpen(openState); + if (setOpenProp) { + setOpenProp(openState); + } else { + _setOpen(openState); + } + + // biome-ignore lint/suspicious/noDocumentCookie: it's ok + document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`; }, [setOpenProp, open], ); @@ -72,7 +80,7 @@ function SidebarProvider({ // Helper to toggle the sidebar. const toggleSidebar = React.useCallback(() => { return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open); - }, [isMobile, setOpen]); + }, [isMobile, setOpen, setOpenMobile]); // Adds a keyboard shortcut to toggle the sidebar. React.useEffect(() => { @@ -101,28 +109,25 @@ function SidebarProvider({ setOpenMobile, toggleSidebar, }), - [state, open, setOpen, isMobile, openMobile, toggleSidebar], + [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar], ); return ( - - - {children} - - + + {children} + ); } @@ -133,6 +138,7 @@ function Sidebar({ collapsible = "offcanvas", className, children, + dir, ...props }: React.ComponentProps<"div"> & { side?: "left" | "right"; @@ -157,6 +163,7 @@ function Sidebar({ return ( + {/* This is what handles the sidebar gap on desktop */} {children} @@ -232,15 +239,15 @@ function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps { onClick?.(event); toggleSidebar(); }} {...props} > - + Toggle Sidebar ); @@ -258,12 +265,12 @@ function SidebarRail({ className, ...props }: React.ComponentProps<"button">) { onClick={toggleSidebar} title="Toggle Sidebar" className={cn( - "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-in-out after:absolute after:inset-s-1/2 after:inset-y-0 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-inset-e-4 group-data-[side=right]:inset-s-0 sm:flex", + "absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-s-1/2 after:inset-y-0 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full", - "[[data-side=left][data-collapsible=offcanvas]_&]:-inset-e-2", - "[[data-side=right][data-collapsible=offcanvas]_&]:-inset-s-2", + "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", + "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className, )} {...props} @@ -276,8 +283,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<"main">) { ); @@ -323,7 +329,7 @@ function SidebarSeparator({ className, ...props }: React.ComponentProps ); @@ -335,7 +341,7 @@ function SidebarContent({ className, ...props }: React.ComponentProps<"div">) { data-slot="sidebar-content" data-sidebar="content" className={cn( - "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", + "no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className, )} {...props} @@ -356,45 +362,50 @@ function SidebarGroup({ className, ...props }: React.ComponentProps<"div">) { function SidebarGroupLabel({ className, - asChild = false, + render, ...props -}: React.ComponentProps<"div"> & { asChild?: boolean }) { - const Comp = asChild ? SlotPrimitive.Root : "div"; - - return ( - svg]:size-4 [&>svg]:shrink-0", - "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", - className, - )} - {...props} - /> - ); +}: useRender.ComponentProps<"div"> & React.ComponentProps<"div">) { + return useRender({ + defaultTagName: "div", + props: mergeProps<"div">( + { + className: cn( + "flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0", + className, + ), + }, + props, + ), + render, + state: { + slot: "sidebar-group-label", + sidebar: "group-label", + }, + }); } function SidebarGroupAction({ className, - asChild = false, + render, ...props -}: React.ComponentProps<"button"> & { asChild?: boolean }) { - const Comp = asChild ? SlotPrimitive.Root : "button"; - - return ( - svg]:size-4 [&>svg]:shrink-0", - "after:absolute after:-inset-2 md:after:hidden", - "group-data-[collapsible=icon]:hidden", - className, - )} - {...props} - /> - ); +}: useRender.ComponentProps<"button"> & React.ComponentProps<"button">) { + return useRender({ + defaultTagName: "button", + props: mergeProps<"button">( + { + className: cn( + "absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 group-data-[collapsible=icon]:hidden md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", + className, + ), + }, + props, + ), + render, + state: { + slot: "sidebar-group-action", + sidebar: "group-action", + }, + }); } function SidebarGroupContent({ className, ...props }: React.ComponentProps<"div">) { @@ -431,12 +442,13 @@ function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">) { } const sidebarMenuButtonVariants = cva( - "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-start text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pe-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", + "peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&_svg]:size-4 [&_svg]:shrink-0", { variants: { variant: { default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", - outline: "bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", + outline: + "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]", }, size: { default: "h-8 text-sm", @@ -452,45 +464,34 @@ const sidebarMenuButtonVariants = cva( ); function SidebarMenuButton({ - asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, + render, ...props -}: React.ComponentProps<"button"> & { - asChild?: boolean; - isActive?: boolean; - tooltip?: string | React.ComponentProps; -} & VariantProps) { - const Comp = asChild ? SlotPrimitive.Root : "button"; +}: useRender.ComponentProps<"button"> & + React.ComponentProps<"button"> & { + isActive?: boolean; + tooltip?: string | React.ComponentProps; + } & VariantProps) { const { isMobile, state } = useSidebarState(); - const button = ( - - ); + const children = useRender({ + defaultTagName: "button", + render: !tooltip ? render : , + state: { size, slot: "sidebar-menu-button", sidebar: "menu-button", active: isActive }, + props: mergeProps<"button">({ className: cn(sidebarMenuButtonVariants({ variant, size }), className) }, props), + }); - if (!tooltip) { - return button; - } + if (!tooltip) return children; - if (typeof tooltip === "string") { - tooltip = { - children: tooltip, - }; - } + if (typeof tooltip === "string") tooltip = { children: tooltip }; return ( - {button} + {children} ); @@ -498,33 +499,32 @@ function SidebarMenuButton({ function SidebarMenuAction({ className, - asChild = false, + render, showOnHover = false, ...props -}: React.ComponentProps<"button"> & { - asChild?: boolean; - showOnHover?: boolean; -}) { - const Comp = asChild ? SlotPrimitive.Root : "button"; - - return ( - svg]:size-4 [&>svg]:shrink-0", - "after:absolute after:-inset-2 md:after:hidden", - "peer-data-[size=sm]/menu-button:top-1", - "peer-data-[size=default]/menu-button:top-1.5", - "peer-data-[size=lg]/menu-button:top-2.5", - "group-data-[collapsible=icon]:hidden", - showOnHover && - "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0", - className, - )} - {...props} - /> - ); +}: useRender.ComponentProps<"button"> & + React.ComponentProps<"button"> & { + showOnHover?: boolean; + }) { + return useRender({ + defaultTagName: "button", + props: mergeProps<"button">( + { + className: cn( + "absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0", + showOnHover && + "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground md:opacity-0", + className, + ), + }, + props, + ), + render, + state: { + slot: "sidebar-menu-action", + sidebar: "menu-action", + }, + }); } function SidebarMenuBadge({ className, ...props }: React.ComponentProps<"div">) { @@ -533,12 +533,7 @@ function SidebarMenuBadge({ className, ...props }: React.ComponentProps<"div">) data-slot="sidebar-menu-badge" data-sidebar="menu-badge" className={cn( - "pointer-events-none absolute inset-e-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums", - "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", - "peer-data-[size=sm]/menu-button:top-1", - "peer-data-[size=default]/menu-button:top-1.5", - "peer-data-[size=lg]/menu-button:top-2.5", - "group-data-[collapsible=icon]:hidden", + "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-sidebar-foreground text-xs tabular-nums peer-hover/menu-button:text-sidebar-accent-foreground group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground", className, )} {...props} @@ -553,9 +548,10 @@ function SidebarMenuSkeleton({ }: React.ComponentProps<"div"> & { showIcon?: boolean; }) { - const width = React.useMemo(() => { + // Random width between 50 to 90%. + const [width] = React.useState(() => { return `${Math.floor(Math.random() * 40) + 50}%`; - }, []); + }); return ( - {showIcon && } + {showIcon && } ) { data-slot="sidebar-menu-sub" data-sidebar="menu-sub" className={cn( - "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l px-2.5 py-0.5", - "group-data-[collapsible=icon]:hidden", + "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden", className, )} {...props} @@ -605,35 +600,35 @@ function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<"li">) } function SidebarMenuSubButton({ - asChild = false, + render, size = "md", isActive = false, className, ...props -}: React.ComponentProps<"a"> & { - asChild?: boolean; - size?: "sm" | "md"; - isActive?: boolean; -}) { - const Comp = asChild ? SlotPrimitive.Root : "a"; - - return ( - span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", - "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", - size === "sm" && "text-xs", - size === "md" && "text-sm", - "group-data-[collapsible=icon]:hidden", - className, - )} - {...props} - /> - ); +}: useRender.ComponentProps<"a"> & + React.ComponentProps<"a"> & { + size?: "sm" | "md"; + isActive?: boolean; + }) { + return useRender({ + defaultTagName: "a", + props: mergeProps<"a">( + { + className: cn( + "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-[size=md]:text-sm data-[size=sm]:text-xs data-active:text-sidebar-accent-foreground group-data-[collapsible=icon]:hidden [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", + className, + ), + }, + props, + ), + render, + state: { + slot: "sidebar-menu-sub-button", + sidebar: "menu-sub-button", + size, + active: isActive, + }, + }); } export { diff --git a/src/components/ui/slider.tsx b/src/components/ui/slider.tsx index 39860defd..91fff3a28 100644 --- a/src/components/ui/slider.tsx +++ b/src/components/ui/slider.tsx @@ -1,15 +1,8 @@ -import { Slider as SliderPrimitive } from "radix-ui"; +import { Slider as SliderPrimitive } from "@base-ui/react/slider"; import * as React from "react"; import { cn } from "@/utils/style"; -function Slider({ - className, - defaultValue, - value, - min = 0, - max = 100, - ...props -}: React.ComponentProps) { +function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }: SliderPrimitive.Root.Props) { const _values = React.useMemo( () => (Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]), [value, defaultValue, min, max], @@ -17,33 +10,33 @@ function Slider({ return ( - - - - {Array.from({ length: _values.length }, (_, index) => ( - - ))} + + + + + {Array.from({ length: _values.length }, (_, index) => ( + + ))} + ); } diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx index a34993aa0..375d6ac07 100644 --- a/src/components/ui/switch.tsx +++ b/src/components/ui/switch.tsx @@ -1,64 +1,29 @@ -import type * as React from "react"; - -import { - SwitchIcon as SwitchIconPrimitive, - Switch as SwitchPrimitive, - type SwitchProps as SwitchPrimitiveProps, - SwitchThumb as SwitchThumbPrimitive, -} from "@/components/primitives/switch"; +import { Switch as SwitchPrimitive } from "@base-ui/react/switch"; import { cn } from "@/utils/style"; -type SwitchProps = SwitchPrimitiveProps & { - pressedWidth?: number; - startIcon?: React.ReactElement; - endIcon?: React.ReactElement; - thumbIcon?: React.ReactElement; -}; - -function Switch({ className, pressedWidth = 20, startIcon, endIcon, thumbIcon, ...props }: SwitchProps) { +function Switch({ + className, + size = "default", + ...props +}: SwitchPrimitive.Root.Props & { + size?: "sm" | "default"; +}) { return ( - - - {thumbIcon && ( - - {thumbIcon} - - )} - - - {startIcon && ( - - {startIcon} - - )} - {endIcon && ( - - {endIcon} - - )} - + + ); } -export { Switch, type SwitchProps }; +export { Switch }; diff --git a/src/components/ui/tabs.tsx b/src/components/ui/tabs.tsx index e47e803ca..f1bd75683 100644 --- a/src/components/ui/tabs.tsx +++ b/src/components/ui/tabs.tsx @@ -1,9 +1,8 @@ +import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"; import { cva, type VariantProps } from "class-variance-authority"; -import { Tabs as TabsPrimitive } from "radix-ui"; -import type * as React from "react"; import { cn } from "@/utils/style"; -function Tabs({ className, orientation = "horizontal", ...props }: React.ComponentProps) { +function Tabs({ className, orientation = "horizontal", ...props }: TabsPrimitive.Root.Props) { return ( & VariantProps) { +}: TabsPrimitive.List.Props & VariantProps) { return ( ) { +function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) { return ( - ) { +function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) { return ( - + ); } -export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }; +export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }; diff --git a/src/components/ui/textarea.tsx b/src/components/ui/textarea.tsx index 604fd8d2e..982cca895 100644 --- a/src/components/ui/textarea.tsx +++ b/src/components/ui/textarea.tsx @@ -6,7 +6,7 @@ function Textarea({ className, ...props }: React.ComponentProps<"textarea">) { & VariantProps) { - return ( - - ); +}: TogglePrimitive.Props & VariantProps) { + return ; } -export { Toggle }; +export { Toggle, toggleVariants }; diff --git a/src/components/ui/tooltip.tsx b/src/components/ui/tooltip.tsx index 022d00598..0a9162bdc 100644 --- a/src/components/ui/tooltip.tsx +++ b/src/components/ui/tooltip.tsx @@ -1,43 +1,49 @@ -import { Tooltip as TooltipPrimitive } from "radix-ui"; -import type * as React from "react"; +import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip"; import { cn } from "@/utils/style"; -function TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps) { - return ; +function TooltipProvider({ delay = 0, ...props }: TooltipPrimitive.Provider.Props) { + return ; } -function Tooltip({ ...props }: React.ComponentProps) { - return ( - - - - ); +function Tooltip({ ...props }: TooltipPrimitive.Root.Props) { + return ; } -function TooltipTrigger({ ...props }: React.ComponentProps) { +function TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) { return ; } function TooltipContent({ className, - sideOffset = 0, + side = "top", + sideOffset = 4, + align = "center", + alignOffset = 0, children, ...props -}: React.ComponentProps) { +}: TooltipPrimitive.Popup.Props & + Pick) { return ( - - {children} - - + + {children} + + + ); } diff --git a/src/components/user/dropdown-menu.tsx b/src/components/user/dropdown-menu.tsx index af7bded9a..ea0657a87 100644 --- a/src/components/user/dropdown-menu.tsx +++ b/src/components/user/dropdown-menu.tsx @@ -24,7 +24,7 @@ import { isLocale, loadLocale, localeMap, setLocaleServerFn } from "@/utils/loca import { isTheme } from "@/utils/theme"; type Props = { - children: ({ session }: { session: AuthSession }) => React.ReactNode; + children: ({ session }: { session: AuthSession }) => React.ComponentProps["render"]; }; export function UserDropdownMenu({ children }: Props) { @@ -64,7 +64,7 @@ export function UserDropdownMenu({ children }: Props) { return ( - {children({ session })} + @@ -104,7 +104,7 @@ export function UserDropdownMenu({ children }: Props) { - + Logout diff --git a/src/dialogs/api-key/create.tsx b/src/dialogs/api-key/create.tsx index 2ce61ea15..5cdc59e1f 100644 --- a/src/dialogs/api-key/create.tsx +++ b/src/dialogs/api-key/create.tsx @@ -90,9 +90,7 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => { Name - - - + } /> @@ -112,34 +110,36 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => { Expires in - - value && field.onChange(Number(value))} - options={[ - { - // 1 month = 30 days - value: 3600 * 24 * 30, - label: t`1 month`, - }, - { - // 3 months = 90 days - value: 3600 * 24 * 90, - label: t`3 months`, - }, - { - // 6 months = 180 days - value: 3600 * 24 * 180, - label: t`6 months`, - }, - { - // 1 year = 365 days - value: 3600 * 24 * 365, - label: t`1 year`, - }, - ]} - /> - + value && field.onChange(Number(value))} + options={[ + { + // 1 month = 30 days + value: 3600 * 24 * 30, + label: t`1 month`, + }, + { + // 3 months = 90 days + value: 3600 * 24 * 90, + label: t`3 months`, + }, + { + // 6 months = 180 days + value: 3600 * 24 * 180, + label: t`6 months`, + }, + { + // 1 year = 365 days + value: 3600 * 24 * 365, + label: t`1 year`, + }, + ]} + /> + } + /> )} diff --git a/src/dialogs/auth/change-password.tsx b/src/dialogs/auth/change-password.tsx index 367ea07a1..db5d36516 100644 --- a/src/dialogs/auth/change-password.tsx +++ b/src/dialogs/auth/change-password.tsx @@ -85,15 +85,17 @@ export function ChangePasswordDialog(_: DialogProps<"auth.change-password">) { Current Password - - - + + } + /> {showCurrentPassword ? : } @@ -113,15 +115,17 @@ export function ChangePasswordDialog(_: DialogProps<"auth.change-password">) { New Password - - - + + } + /> {showNewPassword ? : } diff --git a/src/dialogs/auth/disable-two-factor.tsx b/src/dialogs/auth/disable-two-factor.tsx index debb8a06e..43808fd8b 100644 --- a/src/dialogs/auth/disable-two-factor.tsx +++ b/src/dialogs/auth/disable-two-factor.tsx @@ -77,15 +77,17 @@ export function DisableTwoFactorDialog(_: DialogProps<"auth.two-factor.disable"> Password - - - + + } + /> {showPassword ? : } diff --git a/src/dialogs/auth/enable-two-factor.tsx b/src/dialogs/auth/enable-two-factor.tsx index 1e4a2a1c4..851b5862c 100644 --- a/src/dialogs/auth/enable-two-factor.tsx +++ b/src/dialogs/auth/enable-two-factor.tsx @@ -189,15 +189,17 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">) Password - - - + + } + /> {showPassword ? : } @@ -244,25 +246,27 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">) name="code" render={({ field }) => ( - - pasted.replaceAll("-", "")} - > - - - - - - - - - - + pasted.replaceAll("-", "")} + > + + + + + + + + + + } + /> )} diff --git a/src/dialogs/manager.tsx b/src/dialogs/manager.tsx index 1c3d90b95..0395283d7 100644 --- a/src/dialogs/manager.tsx +++ b/src/dialogs/manager.tsx @@ -27,7 +27,7 @@ import { useDialogStore } from "./store"; export function DialogManager() { const { open, activeDialog, onOpenChange } = useDialogStore(); - const dialogContent = match(activeDialog) + const DialogContent = match(activeDialog) .with({ type: "auth.change-password" }, () => ) .with({ type: "auth.two-factor.enable" }, () => ) .with({ type: "auth.two-factor.disable" }, () => ) @@ -71,7 +71,7 @@ export function DialogManager() { return ( - {dialogContent} + {DialogContent} ); } diff --git a/src/dialogs/resume/import.tsx b/src/dialogs/resume/import.tsx index c8a81fc56..d5f64744c 100644 --- a/src/dialogs/resume/import.tsx +++ b/src/dialogs/resume/import.tsx @@ -226,34 +226,36 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) { Type - - - PDF {t`AI`} - - ), - }, - { - value: "docx", - label: ( - - Microsoft Word {t`AI`} - - ), - }, - ]} - /> - + + PDF {t`AI`} + + ), + }, + { + value: "docx", + label: ( + + Microsoft Word {t`AI`} + + ), + }, + ]} + /> + } + /> )} @@ -266,27 +268,25 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) { render={({ field }) => ( - - + - - {field.value ? ( - <> - - {field.value.name} - > - ) : ( - <> - - Click here to select a file to import - > - )} - - + + {field.value ? ( + <> + + {field.value.name} + > + ) : ( + <> + + Click here to select a file to import + > + )} + diff --git a/src/dialogs/resume/index.tsx b/src/dialogs/resume/index.tsx index 69b056183..a8d2da086 100644 --- a/src/dialogs/resume/index.tsx +++ b/src/dialogs/resume/index.tsx @@ -125,14 +125,16 @@ export function CreateResumeDialog(_: DialogProps<"resume.create">) { - - - - - + + + + } + /> - + Create a Sample Resume @@ -309,9 +311,7 @@ function ResumeForm() { Name - - - + } /> @@ -333,14 +333,16 @@ function ResumeForm() { Slug - - - - {slugPrefix} - - - - + + + {slugPrefix} + + + + } + /> This is a URL-friendly name for your resume. @@ -357,9 +359,7 @@ function ResumeForm() { Tags - - - + } /> Tags can be used to categorize your resume by keywords. diff --git a/src/dialogs/resume/sections/award.tsx b/src/dialogs/resume/sections/award.tsx index 14423bfef..988943c0f 100644 --- a/src/dialogs/resume/sections/award.tsx +++ b/src/dialogs/resume/sections/award.tsx @@ -159,9 +159,7 @@ function AwardForm() { Title - - - + } /> )} @@ -175,9 +173,7 @@ function AwardForm() { Awarder - - - + } /> )} @@ -191,9 +187,7 @@ function AwardForm() { Date - - - + } /> )} @@ -207,14 +201,12 @@ function AwardForm() { Website - - - + )} @@ -225,10 +217,8 @@ function AwardForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -243,9 +233,7 @@ function AwardForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/certification.tsx b/src/dialogs/resume/sections/certification.tsx index 5bc86f56d..7dbe9681f 100644 --- a/src/dialogs/resume/sections/certification.tsx +++ b/src/dialogs/resume/sections/certification.tsx @@ -159,9 +159,7 @@ function CertificationForm() { Title - - - + } /> )} @@ -175,9 +173,7 @@ function CertificationForm() { Issuer - - - + } /> )} @@ -191,9 +187,7 @@ function CertificationForm() { Date - - - + } /> )} @@ -207,14 +201,12 @@ function CertificationForm() { Website - - - + )} @@ -225,10 +217,8 @@ function CertificationForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -243,9 +233,7 @@ function CertificationForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/cover-letter.tsx b/src/dialogs/resume/sections/cover-letter.tsx index e2a40cc65..7b6bb4c55 100644 --- a/src/dialogs/resume/sections/cover-letter.tsx +++ b/src/dialogs/resume/sections/cover-letter.tsx @@ -143,9 +143,7 @@ function CoverLetterForm() { Recipient - - - + } /> )} @@ -159,9 +157,7 @@ function CoverLetterForm() { Content - - - + } /> )} diff --git a/src/dialogs/resume/sections/custom.tsx b/src/dialogs/resume/sections/custom.tsx index feee96ec8..0d824723c 100644 --- a/src/dialogs/resume/sections/custom.tsx +++ b/src/dialogs/resume/sections/custom.tsx @@ -167,9 +167,7 @@ function CustomSectionForm({ isUpdate = false }: { isUpdate?: boolean }) { Title - - - + } /> )} @@ -183,18 +181,20 @@ function CustomSectionForm({ isUpdate = false }: { isUpdate?: boolean }) { Section Type - - ({ - value: option.value, - label: i18n.t(option.label), - }))} - /> - + ({ + value: option.value, + label: i18n.t(option.label), + }))} + /> + } + /> )} diff --git a/src/dialogs/resume/sections/education.tsx b/src/dialogs/resume/sections/education.tsx index 664bf3d5a..d07b136ef 100644 --- a/src/dialogs/resume/sections/education.tsx +++ b/src/dialogs/resume/sections/education.tsx @@ -165,9 +165,7 @@ function EducationForm() { School - - - + } /> )} @@ -181,9 +179,7 @@ function EducationForm() { Degree - - - + } /> )} @@ -197,9 +193,7 @@ function EducationForm() { Area of Study - - - + } /> )} @@ -213,9 +207,7 @@ function EducationForm() { Grade - - - + } /> )} @@ -229,9 +221,7 @@ function EducationForm() { Location - - - + } /> )} @@ -245,9 +235,7 @@ function EducationForm() { Period - - - + } /> )} @@ -261,14 +249,12 @@ function EducationForm() { Website - - - + )} @@ -279,10 +265,8 @@ function EducationForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -297,9 +281,7 @@ function EducationForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/experience.tsx b/src/dialogs/resume/sections/experience.tsx index 25efda7cc..479712791 100644 --- a/src/dialogs/resume/sections/experience.tsx +++ b/src/dialogs/resume/sections/experience.tsx @@ -204,9 +204,7 @@ function RoleFields({ role, index, onRemove }: RoleFieldsProps) { Position - - - + } /> )} @@ -220,9 +218,7 @@ function RoleFields({ role, index, onRemove }: RoleFieldsProps) { Period - - - + } /> )} @@ -236,9 +232,7 @@ function RoleFields({ role, index, onRemove }: RoleFieldsProps) { Description - - - + } /> )} @@ -273,9 +267,7 @@ function ExperienceForm() { Company - - - + } /> )} @@ -287,9 +279,9 @@ function ExperienceForm() { render={({ field }) => ( {hasRoles ? Overall Title (optional) : Position} - - - + } + /> )} @@ -303,9 +295,7 @@ function ExperienceForm() { Location - - - + } /> )} @@ -317,9 +307,7 @@ function ExperienceForm() { render={({ field }) => ( {hasRoles ? Overall Period : Period} - - - + } /> )} @@ -333,14 +321,12 @@ function ExperienceForm() { Website - - - + )} @@ -351,9 +337,7 @@ function ExperienceForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - + } /> Show link in title @@ -408,9 +392,7 @@ function ExperienceForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/interest.tsx b/src/dialogs/resume/sections/interest.tsx index fb539d013..e63acfdb3 100644 --- a/src/dialogs/resume/sections/interest.tsx +++ b/src/dialogs/resume/sections/interest.tsx @@ -157,9 +157,11 @@ function InterestForm() { name={"icon"} render={({ field }) => ( - - - + + } + /> )} /> @@ -172,9 +174,7 @@ function InterestForm() { Name - - - + } /> )} @@ -189,9 +189,7 @@ function InterestForm() { Keywords - - - + } /> )} diff --git a/src/dialogs/resume/sections/language.tsx b/src/dialogs/resume/sections/language.tsx index 05afe57ce..ab595bdd8 100644 --- a/src/dialogs/resume/sections/language.tsx +++ b/src/dialogs/resume/sections/language.tsx @@ -152,9 +152,7 @@ function LanguageForm() { Language - - - + } /> )} @@ -168,9 +166,7 @@ function LanguageForm() { Fluency - - - + } /> )} @@ -184,15 +180,17 @@ function LanguageForm() { Level - - field.onChange(value[0])} - /> - + field.onChange(Array.isArray(value) ? value[0] : value)} + /> + } + /> {Number(field.value) === 0 ? t`Hidden` : `${field.value} / 5`} diff --git a/src/dialogs/resume/sections/profile.tsx b/src/dialogs/resume/sections/profile.tsx index fe637366b..eecf3254d 100644 --- a/src/dialogs/resume/sections/profile.tsx +++ b/src/dialogs/resume/sections/profile.tsx @@ -162,9 +162,11 @@ function ProfileForm() { name={"icon"} render={({ field }) => ( - - - + + } + /> )} /> @@ -177,9 +179,7 @@ function ProfileForm() { Network - - - + } /> )} @@ -201,9 +201,7 @@ function ProfileForm() { - - - + } /> @@ -218,14 +216,12 @@ function ProfileForm() { Website - - - + )} @@ -236,10 +232,8 @@ function ProfileForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title diff --git a/src/dialogs/resume/sections/project.tsx b/src/dialogs/resume/sections/project.tsx index 3993e163e..28e720083 100644 --- a/src/dialogs/resume/sections/project.tsx +++ b/src/dialogs/resume/sections/project.tsx @@ -157,9 +157,7 @@ function ProjectForm() { Name - - - + } /> )} @@ -173,9 +171,7 @@ function ProjectForm() { Period - - - + } /> )} @@ -189,14 +185,12 @@ function ProjectForm() { Website - - - + )} @@ -207,10 +201,8 @@ function ProjectForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -225,9 +217,7 @@ function ProjectForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/publication.tsx b/src/dialogs/resume/sections/publication.tsx index 312a1d449..06bb99214 100644 --- a/src/dialogs/resume/sections/publication.tsx +++ b/src/dialogs/resume/sections/publication.tsx @@ -159,9 +159,7 @@ function PublicationForm() { Title - - - + } /> )} @@ -175,9 +173,7 @@ function PublicationForm() { Publisher - - - + } /> )} @@ -191,9 +187,7 @@ function PublicationForm() { Date - - - + } /> )} @@ -207,14 +201,12 @@ function PublicationForm() { Website - - - + )} @@ -225,10 +217,8 @@ function PublicationForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -243,9 +233,7 @@ function PublicationForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/reference.tsx b/src/dialogs/resume/sections/reference.tsx index 42748cc2f..8c23b8f59 100644 --- a/src/dialogs/resume/sections/reference.tsx +++ b/src/dialogs/resume/sections/reference.tsx @@ -159,9 +159,7 @@ function ReferenceForm() { Name - - - + } /> )} @@ -175,9 +173,7 @@ function ReferenceForm() { Position - - - + } /> )} @@ -191,9 +187,7 @@ function ReferenceForm() { Phone - - - + } /> )} @@ -207,14 +201,12 @@ function ReferenceForm() { Website - - - + )} @@ -225,10 +217,8 @@ function ReferenceForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -243,9 +233,7 @@ function ReferenceForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/sections/skill.tsx b/src/dialogs/resume/sections/skill.tsx index 9ad4bd0b2..efd52d897 100644 --- a/src/dialogs/resume/sections/skill.tsx +++ b/src/dialogs/resume/sections/skill.tsx @@ -163,9 +163,11 @@ function SkillForm() { name={"icon"} render={({ field }) => ( - - - + + } + /> )} /> @@ -178,9 +180,7 @@ function SkillForm() { Name - - - + } /> )} @@ -195,9 +195,7 @@ function SkillForm() { Proficiency - - - + } /> )} @@ -211,15 +209,17 @@ function SkillForm() { Level - - field.onChange(value[0])} - /> - + field.onChange(Array.isArray(value) ? value[0] : value)} + /> + } + /> {Number(field.value) === 0 ? t`Hidden` : `${field.value} / 5`} @@ -234,9 +234,7 @@ function SkillForm() { Keywords - - - + } /> )} diff --git a/src/dialogs/resume/sections/summary-item.tsx b/src/dialogs/resume/sections/summary-item.tsx index 3d8a993a6..5051558e5 100644 --- a/src/dialogs/resume/sections/summary-item.tsx +++ b/src/dialogs/resume/sections/summary-item.tsx @@ -140,9 +140,7 @@ function SummaryItemForm() { Content - - - + } /> )} diff --git a/src/dialogs/resume/sections/volunteer.tsx b/src/dialogs/resume/sections/volunteer.tsx index 264cf2860..b6a2e7278 100644 --- a/src/dialogs/resume/sections/volunteer.tsx +++ b/src/dialogs/resume/sections/volunteer.tsx @@ -159,9 +159,7 @@ function VolunteerForm() { Organization - - - + } /> )} @@ -175,9 +173,7 @@ function VolunteerForm() { Location - - - + } /> )} @@ -191,9 +187,7 @@ function VolunteerForm() { Period - - - + } /> )} @@ -207,14 +201,12 @@ function VolunteerForm() { Website - - - + )} @@ -225,10 +217,8 @@ function VolunteerForm() { name="options.showLinkInTitle" render={({ field }) => ( - - - - + } /> + Show link in title @@ -243,9 +233,7 @@ function VolunteerForm() { Description - - - + } /> )} diff --git a/src/dialogs/resume/template/gallery.tsx b/src/dialogs/resume/template/gallery.tsx index e95a5129a..a5443c138 100644 --- a/src/dialogs/resume/template/gallery.tsx +++ b/src/dialogs/resume/template/gallery.tsx @@ -1,7 +1,6 @@ import { useLingui } from "@lingui/react"; import { Trans } from "@lingui/react/macro"; import { SlideshowIcon } from "@phosphor-icons/react"; -import { type RefObject, useRef } from "react"; import { CometCard } from "@/components/animation/comet-card"; import { useResumeStore } from "@/components/resume/store/resume"; import { Badge } from "@/components/ui/badge"; @@ -14,8 +13,6 @@ import { cn } from "@/utils/style"; import { type TemplateMetadata, templates } from "./data"; export function TemplateGalleryDialog(_: DialogProps<"resume.template.gallery">) { - const scrollAreaRef = useRef(null); - const closeDialog = useDialogStore((state) => state.closeDialog); const selectedTemplate = useResumeStore((state) => state.resume.data.metadata.template); const updateResumeData = useResumeStore((state) => state.updateResumeData); @@ -44,14 +41,13 @@ export function TemplateGalleryDialog(_: DialogProps<"resume.template.gallery">) - + {Object.entries(templates).map(([template, metadata]) => ( @@ -66,28 +62,29 @@ type TemplateCardProps = { id: Template; isActive?: boolean; metadata: TemplateMetadata; - collisionBoundary: RefObject; onSelect: (template: Template) => void; }; -function TemplateCard({ id, metadata, isActive, collisionBoundary, onSelect }: TemplateCardProps) { +function TemplateCard({ id, metadata, isActive, onSelect }: TemplateCardProps) { const { i18n } = useLingui(); return ( - + - - onSelect(id)} - className={cn( - "relative block aspect-page size-full cursor-pointer overflow-hidden rounded-md bg-popover outline-none", - isActive && "ring-2 ring-ring ring-offset-4 ring-offset-background", - )} - > - - - + onSelect(id)} + className={cn( + "relative block aspect-page size-full cursor-pointer overflow-hidden rounded-md bg-popover outline-none", + isActive && "ring-2 ring-ring ring-offset-4 ring-offset-background", + )} + > + + + } + /> {metadata.name} @@ -98,7 +95,6 @@ function TemplateCard({ id, metadata, isActive, collisionBoundary, onSelect }: T sideOffset={-32} align="start" alignOffset={32} - collisionBoundary={collisionBoundary.current} className="pointer-events-none! flex w-80 flex-col justify-between space-y-6 rounded-md bg-background/80 p-4 pb-6" > diff --git a/src/hooks/use-confirm.tsx b/src/hooks/use-confirm.tsx index 1c5725ef0..3319d3b78 100644 --- a/src/hooks/use-confirm.tsx +++ b/src/hooks/use-confirm.tsx @@ -76,6 +76,7 @@ export function ConfirmDialogProvider({ children }: { children: React.ReactNode {state.description} + {state.cancelText ?? "Cancel"} {state.confirmText ?? "Confirm"} diff --git a/src/hooks/use-data-state.tsx b/src/hooks/use-data-state.tsx new file mode 100644 index 000000000..dba6c05a3 --- /dev/null +++ b/src/hooks/use-data-state.tsx @@ -0,0 +1,52 @@ +import * as React from "react"; + +type DataStateValue = string | boolean | null; + +function parseDatasetValue(value: string | null): DataStateValue { + if (value === null) return null; + if (value === "" || value === "true") return true; + if (value === "false") return false; + return value; +} + +function useDataState( + key: string, + forwardedRef?: React.Ref, + onChange?: (value: DataStateValue) => void, +): [DataStateValue, React.RefObject] { + const localRef = React.useRef(null); + React.useImperativeHandle(forwardedRef, () => localRef.current as T); + + const getSnapshot = (): DataStateValue => { + const el = localRef.current; + return el ? parseDatasetValue(el.getAttribute(`data-${key}`)) : null; + }; + + const subscribe = (callback: () => void) => { + const el = localRef.current; + if (!el) return () => {}; + const observer = new MutationObserver((records) => { + for (const record of records) { + if (record.attributeName === `data-${key}`) { + callback(); + break; + } + } + }); + observer.observe(el, { + attributes: true, + attributeFilter: [`data-${key}`], + }); + return () => observer.disconnect(); + }; + + const value = React.useSyncExternalStore(subscribe, getSnapshot); + + React.useEffect(() => { + if (onChange) onChange(value); + }, [value, onChange]); + + return [value, localRef]; +} + +export { useDataState }; diff --git a/src/integrations/ai/prompts/chat-system.md b/src/integrations/ai/prompts/chat-system.md index 38146a6fe..fffea47bf 100644 --- a/src/integrations/ai/prompts/chat-system.md +++ b/src/integrations/ai/prompts/chat-system.md @@ -1,62 +1,44 @@ -You are an expert resume writer and a specialist in JSON Patch (RFC 6902) operations. Your role is to help the user improve and modify their resume through natural conversation. +You are a resume editing assistant that must modify resume data only through JSON Patch (RFC 6902) tool calls. -## Your Capabilities +## Objective +- Help the user improve resume content and structure. +- Apply edits safely and minimally via the `patch_resume` tool. -- You can read and understand the user's current resume data (provided below). -- You can modify the resume by calling the `patch_resume` tool with JSON Patch operations. -- You can advise on resume best practices, wording, and structure. +## Allowed Inputs +- User instructions in conversation. +- Current resume JSON state provided below. -## Rules +## Hard Constraints +1. For any data change, always call `patch_resume`. Do not output raw patch arrays directly in chat text. +2. Generate the minimal set of patch operations required for the request. +3. Preserve existing data unless the user explicitly asks to replace or remove it. +4. Ask for confirmation before destructive edits (deletions, clears, or replacing large sections). +5. Stay resume-focused; decline off-topic requests. +6. Do not fabricate factual user history. For drafted content, label it as a draft and ask for confirmation. +7. Keep all paths and operations valid for RFC 6902 and current schema. +8. New item IDs must be UUIDs in `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx` format. +9. HTML fields (such as summary/description) must use valid HTML (``, ``, ``, ``, `` as needed). -1. **Always use the `patch_resume` tool** to make changes. Never output raw JSON or patch operations in your text response. -2. **Generate the minimal set of operations** needed for each change. Do not replace entire objects when only a single field needs updating. -3. **Preserve existing data** unless the user explicitly asks to remove or replace it. -4. **Confirm before destructive actions** like removing sections or clearing large amounts of content. -5. **Stay on topic.** Only discuss resume-related content. Politely decline off-topic requests. -6. **Do not fabricate content.** Only add information the user provides or explicitly asks you to generate. If generating content (e.g. a summary), make it clear you are drafting and ask for approval. -7. **HTML content fields** (description, summary content, cover letter content) must use valid HTML. Use `` for paragraphs, ``/`` for lists, `` for bold, `` for italic. -8. **IDs for new items** must be valid UUIDs (use the format `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`). +## Conflict Resolution Order +1. Data safety and schema validity +2. User intent from latest instruction +3. Minimal-change editing strategy -## Resume Data Structure +## Editing Rules +- Prefer targeted `replace` operations over broad object replacements. +- Use `add` at `/items/-` for appending list entries. +- Use `remove` only when explicitly requested or confirmed. +- Keep `website` objects shaped as `{ "url": string, "label": string }`. +- Keep `hidden` fields explicit booleans. -The resume data is a JSON object with these top-level keys: +## Resume Shape Reference +- Top-level keys: `basics`, `summary`, `picture`, `sections`, `customSections`, `metadata` +- Section item families in `sections`: `profiles`, `experience`, `education`, `projects`, `skills`, `languages`, `interests`, `awards`, `certifications`, `publications`, `volunteer`, `references` -- `basics` — name, headline, email, phone, location, website, customFields -- `summary` — title, content (HTML), columns, hidden -- `picture` — url, size, rotation, aspectRatio, border/shadow settings -- `sections` — built-in sections, each with title, columns, hidden, items[] - - `profiles` — items: { network, username, icon, website } - - `experience` — items: { company, position, location, period, website, description } - - `education` — items: { school, degree, area, grade, location, period, website, description } - - `projects` — items: { name, period, website, description } - - `skills` — items: { name, proficiency, level, keywords[], icon } - - `languages` — items: { language, fluency, level } - - `interests` — items: { name, keywords[], icon } - - `awards` — items: { title, awarder, date, website, description } - - `certifications` — items: { title, issuer, date, website, description } - - `publications` — items: { title, publisher, date, website, description } - - `volunteer` — items: { organization, location, period, website, description } - - `references` — items: { name, position, website, phone, description } -- `customSections` — array of user-created sections with id, type, title, items[] -- `metadata` — template, layout, css, page, design, typography, notes - -Every item in a section has: `id` (UUID), `hidden` (boolean), and optionally `options`. -Every `website` field is an object: `{ url: string, label: string }`. - -## JSON Patch Path Examples - -| Action | Operation | -|--------|-----------| -| Change name | `{ "op": "replace", "path": "/basics/name", "value": "Jane Doe" }` | -| Update headline | `{ "op": "replace", "path": "/basics/headline", "value": "Senior Engineer" }` | -| Replace summary content | `{ "op": "replace", "path": "/summary/content", "value": "Experienced engineer..." }` | -| Add experience item | `{ "op": "add", "path": "/sections/experience/items/-", "value": { ...full item object } }` | -| Remove skill at index 2 | `{ "op": "remove", "path": "/sections/skills/items/2" }` | -| Update a specific item field | `{ "op": "replace", "path": "/sections/experience/items/0/company", "value": "New Corp" }` | -| Change template | `{ "op": "replace", "path": "/metadata/template", "value": "bronzor" }` | -| Change primary color | `{ "op": "replace", "path": "/metadata/design/colors/primary", "value": "rgba(37, 99, 235, 1)" }` | -| Hide a section | `{ "op": "replace", "path": "/sections/interests/hidden", "value": true }` | -| Rename a section title | `{ "op": "replace", "path": "/sections/experience/title", "value": "Work History" }` | +## Output Contract +- If a change is needed: call `patch_resume`, then provide a concise natural-language confirmation. +- If no change is needed: provide concise guidance without tool calls. +- Never include markdown code blocks for patch payloads in your chat reply. ## Current Resume Data diff --git a/src/integrations/ai/prompts/docx-parser-system.md b/src/integrations/ai/prompts/docx-parser-system.md index 0be64f8b1..e63e26b1c 100644 --- a/src/integrations/ai/prompts/docx-parser-system.md +++ b/src/integrations/ai/prompts/docx-parser-system.md @@ -1,75 +1,46 @@ -You are a specialized resume parsing assistant that converts Microsoft Word (DOC/DOCX) resumes into a structured JSON format compatible with Reactive Resume. Your primary directive is accuracy and faithfulness to the source document. +You are a strict resume extraction engine for Microsoft Word files (DOC/DOCX). Convert the attached document into a Reactive Resume JSON object. -## CRITICAL RULES +## Objective +- Extract resume content accurately and map it into the provided JSON template. +- Prioritize source fidelity and schema correctness over completeness. -### Anti-Hallucination Guidelines -1. **Extract ONLY information explicitly present in the resume** - Never invent, assume, or infer data that isn't clearly stated -2. **When uncertain, omit rather than guess** - Leave fields empty ("") or use empty arrays ([]) rather than fabricating content -3. **Preserve original wording** - Use the exact text from the resume; do not paraphrase, embellish, or "improve" the content -4. **Do not fill gaps** - If a date range is missing an end date, leave it empty; if a job title seems incomplete, use what's provided -5. **No external knowledge** - Do not add information about companies, schools, or technologies that isn't in the resume itself -6. **Ignore formatting artifacts** - Word documents may contain hidden formatting, track changes, comments, or metadata. Extract only visible, intended content +## Allowed Input +- Use only visible, intended content from the attached document. +- Ignore hidden text, comments, track changes, revision history, document metadata, and layout artifacts. -### Data Extraction Rules -- **Dates**: Use only dates explicitly stated. Do not calculate or estimate dates. Use the format provided in the resume. -- **URLs**: Only include URLs that are explicitly written in the resume. Do not construct URLs from usernames or company names. -- **Contact Information**: Extract only what is explicitly provided. Do not format or standardize phone numbers beyond what's shown. -- **Skills**: List only skills explicitly mentioned. Do not infer skills from job descriptions or technologies mentioned in passing. -- **Descriptions**: Convert to HTML format but preserve the original content exactly. Use for paragraphs and for bullet points. -- **Tables and Lists**: Extract content from Word tables and lists accurately. Preserve the structure but convert to appropriate HTML format. -- **Headers and Footers**: Only extract content from headers/footers if it contains resume-relevant information (like contact details). Ignore page numbers and document metadata. +## Hard Constraints +1. Extract only explicitly stated information. +2. Never fabricate, infer, or normalize missing data. +3. Keep original wording and original language. +4. When uncertain, omit content and leave template defaults. +5. Do not use external knowledge. -### Required Field Handling -- Generate UUIDs for all \`id\` fields (use format: lowercase alphanumeric, 8-12 characters) -- Set \`hidden: false\` for all items unless the resume explicitly indicates something should be hidden -- Use \`columns: 1\` as default for sections unless multi-column layout is clearly appropriate -- For \`website\` objects, use \`{"url": "", "label": ""}\` when no URL is provided +## Conflict Resolution Order +1. Schema validity (must return valid JSON matching template shape) +2. Source fidelity (exactly what the document states) +3. Omit uncertain values (never guess) -### Section Mapping Guide -Map resume content to these sections based on explicit section headers or clear context: -- **basics**: Name, title/headline, email, phone, location (city/state/country) -- **summary**: Professional summary, objective, about me, profile -- **experience**: Work experience, employment history, professional experience -- **education**: Education, academic background, qualifications -- **skills**: Skills, technical skills, competencies, expertise -- **projects**: Projects, portfolio, personal projects -- **certifications**: Certifications, licenses, credentials -- **awards**: Awards, honors, achievements, recognition -- **languages**: Languages, language proficiency -- **volunteer**: Volunteer experience, community involvement -- **publications**: Publications, articles, papers -- **references**: References (often "Available upon request") -- **profiles**: Social media links, online profiles (LinkedIn, GitHub, etc.) -- **interests**: Interests, hobbies (only if explicitly listed) +## Extraction Rules +- Dates: preserve exactly as written. +- URLs: include only URLs explicitly visible in document content. +- Contact data: copy as-is; do not reformat. +- Skills: include only explicit skill mentions. +- Descriptions: output HTML using ``, ``, `` while preserving meaning. +- Lists and tables: extract visible text faithfully; preserve relationships in section fields. +- Headers/footers: include only if they contain real resume data. +- IDs: generate unique UUIDs for all `id` fields. +- `hidden`: default to `false` unless explicitly indicated otherwise. +- `columns`: default to `1` unless clearly multi-column by content intent. +- `website`: when missing, use `{ "url": "", "label": "" }`. -### Word Document Specific Considerations -- **Styles and Formatting**: Ignore Word-specific formatting (styles, themes, fonts). Focus on content structure and hierarchy. -- **Track Changes**: Ignore any tracked changes or comments. Extract only the final, accepted version of the text. -- **Hyperlinks**: Extract hyperlink URLs only if they are explicitly visible in the document. Do not extract hidden hyperlinks. -- **Tables**: Extract table content accurately, converting to appropriate structured format. Preserve relationships between table cells. -- **Multi-column Layouts**: Recognize multi-column sections and extract content in the correct order (left to right, top to bottom). -- **Text Boxes and Shapes**: Extract content from text boxes and shapes if they contain resume-relevant information. +## Section Mapping +- `basics`, `summary`, `experience`, `education`, `skills`, `projects`, `certifications`, `awards`, `languages`, `volunteer`, `publications`, `references`, `profiles`, `interests` +- Map based on explicit headings first; use local context only when heading is absent. -### Output Requirements -1. Output ONLY valid JSON - no markdown code blocks, no explanations, no comments -2. The JSON must strictly conform to the provided schema -3. All required fields must be present, even if empty -4. Use empty strings ("") for missing text fields -5. Use empty arrays ([]) for missing array fields +## Fallback Rules +- If the document is malformed or partially unreadable, return best-effort extraction for readable parts only. +- Keep unknown fields empty according to the template. -### What NOT To Do -- ❌ Do not add job responsibilities that aren't listed -- ❌ Do not expand acronyms unless the expansion is provided -- ❌ Do not add technologies to skills that are only mentioned in job descriptions -- ❌ Do not create profile URLs from usernames (e.g., don't create "github.com/username" unless the full URL is provided) -- ❌ Do not assume current employment - only mark as "Present" if the resume explicitly says so -- ❌ Do not add metrics or achievements not explicitly stated -- ❌ Do not standardize or reformat dates beyond basic consistency -- ❌ Do not translate content to another language - preserve the original language -- ❌ Do not extract hidden text, comments, or tracked changes -- ❌ Do not infer information from Word document properties or metadata -- ❌ Do not extract content from headers/footers unless it's clearly resume content (ignore page numbers, document paths, etc.) - -## OUTPUT - -Respond with ONLY the JSON object. No preamble, no explanation, no markdown formatting. \ No newline at end of file +## Output Contract +- Return only one raw JSON object. +- No markdown, no commentary, no extra keys. \ No newline at end of file diff --git a/src/integrations/ai/prompts/docx-parser-user.md b/src/integrations/ai/prompts/docx-parser-user.md index 5272b5149..7d3c601c9 100644 --- a/src/integrations/ai/prompts/docx-parser-user.md +++ b/src/integrations/ai/prompts/docx-parser-user.md @@ -1 +1,3 @@ -Here is the Microsoft Word resume document to parse. Parse it carefully following all rules above, extracting only visible content and ignoring any formatting artifacts, track changes, or hidden metadata. \ No newline at end of file +The Microsoft Word resume file is attached as a file in this message. + +Process the attached document and return the final JSON object only, strictly following the system rules and the provided schema template. \ No newline at end of file diff --git a/src/integrations/ai/prompts/pdf-parser-system.md b/src/integrations/ai/prompts/pdf-parser-system.md index 79205cd53..af6490882 100644 --- a/src/integrations/ai/prompts/pdf-parser-system.md +++ b/src/integrations/ai/prompts/pdf-parser-system.md @@ -1,61 +1,44 @@ -You are a specialized resume parsing assistant that converts PDF resumes into a structured JSON format compatible with Reactive Resume. Your primary directive is accuracy and faithfulness to the source document. +You are a strict resume extraction engine for PDF files. Convert the attached PDF into a Reactive Resume JSON object. -## CRITICAL RULES +## Objective +- Extract resume content accurately and map it into the provided JSON template. +- Prioritize source fidelity and schema correctness over completeness. -### Anti-Hallucination Guidelines -1. **Extract ONLY information explicitly present in the resume** - Never invent, assume, or infer data that isn't clearly stated -2. **When uncertain, omit rather than guess** - Leave fields empty ("") or use empty arrays ([]) rather than fabricating content -3. **Preserve original wording** - Use the exact text from the resume; do not paraphrase, embellish, or "improve" the content -4. **Do not fill gaps** - If a date range is missing an end date, leave it empty; if a job title seems incomplete, use what's provided -5. **No external knowledge** - Do not add information about companies, schools, or technologies that isn't in the resume itself +## Allowed Input +- Use only the visible content from the attached PDF document. +- Ignore OCR noise, watermarks, repeated headers/footers, and broken line wraps. -### Data Extraction Rules -- **Dates**: Use only dates explicitly stated. Do not calculate or estimate dates. Use the format provided in the resume. -- **URLs**: Only include URLs that are explicitly written in the resume. Do not construct URLs from usernames or company names. -- **Contact Information**: Extract only what is explicitly provided. Do not format or standardize phone numbers beyond what's shown. -- **Skills**: List only skills explicitly mentioned. Do not infer skills from job descriptions or technologies mentioned in passing. -- **Descriptions**: Convert to HTML format but preserve the original content exactly. Use for paragraphs and for bullet points. +## Hard Constraints +1. Extract only explicitly stated information. +2. Never fabricate, infer, or normalize missing data. +3. Keep original wording and original language. +4. When uncertain, omit content and leave template defaults. +5. Do not use external knowledge. -### Required Field Handling -- Generate UUIDs for all \`id\` fields (use format: lowercase alphanumeric, 8-12 characters) -- Set \`hidden: false\` for all items unless the resume explicitly indicates something should be hidden -- Use \`columns: 1\` as default for sections unless multi-column layout is clearly appropriate -- For \`website\` objects, use \`{"url": "", "label": ""}\` when no URL is provided +## Conflict Resolution Order +1. Schema validity (must return valid JSON matching template shape) +2. Source fidelity (exactly what the PDF states) +3. Omit uncertain values (never guess) -### Section Mapping Guide -Map resume content to these sections based on explicit section headers or clear context: -- **basics**: Name, title/headline, email, phone, location (city/state/country) -- **summary**: Professional summary, objective, about me, profile -- **experience**: Work experience, employment history, professional experience -- **education**: Education, academic background, qualifications -- **skills**: Skills, technical skills, competencies, expertise -- **projects**: Projects, portfolio, personal projects -- **certifications**: Certifications, licenses, credentials -- **awards**: Awards, honors, achievements, recognition -- **languages**: Languages, language proficiency -- **volunteer**: Volunteer experience, community involvement -- **publications**: Publications, articles, papers -- **references**: References (often "Available upon request") -- **profiles**: Social media links, online profiles (LinkedIn, GitHub, etc.) -- **interests**: Interests, hobbies (only if explicitly listed) +## Extraction Rules +- Dates: preserve exactly as written. +- URLs: include only full URLs that are explicitly present. +- Contact data: copy as-is; do not reformat. +- Skills: include only explicit skill mentions. +- Descriptions: output HTML using ``, ``, `` while preserving meaning. +- IDs: generate unique UUIDs for all `id` fields. +- `hidden`: default to `false` unless explicitly indicated otherwise. +- `columns`: default to `1` unless clearly multi-column by content intent. +- `website`: when missing, use `{ "url": "", "label": "" }`. -### Output Requirements -1. Output ONLY valid JSON - no markdown code blocks, no explanations, no comments -2. The JSON must strictly conform to the provided schema -3. All required fields must be present, even if empty -4. Use empty strings ("") for missing text fields -5. Use empty arrays ([]) for missing array fields +## Section Mapping +- `basics`, `summary`, `experience`, `education`, `skills`, `projects`, `certifications`, `awards`, `languages`, `volunteer`, `publications`, `references`, `profiles`, `interests` +- Map based on explicit headings first; use local context only when heading is absent. -### What NOT To Do -- ❌ Do not add job responsibilities that aren't listed -- ❌ Do not expand acronyms unless the expansion is provided -- ❌ Do not add technologies to skills that are only mentioned in job descriptions -- ❌ Do not create profile URLs from usernames (e.g., don't create "github.com/username" unless the full URL is provided) -- ❌ Do not assume current employment - only mark as "Present" if the resume explicitly says so -- ❌ Do not add metrics or achievements not explicitly stated -- ❌ Do not standardize or reformat dates beyond basic consistency -- ❌ Do not translate content to another language - preserve the original language +## Fallback Rules +- If the PDF is low quality or partially unreadable, return best-effort extraction for readable parts only. +- Keep unknown fields empty according to the template. -## OUTPUT - -Respond with ONLY the JSON object. No preamble, no explanation, no markdown formatting. \ No newline at end of file +## Output Contract +- Return only one raw JSON object. +- No markdown, no commentary, no extra keys. \ No newline at end of file diff --git a/src/integrations/ai/prompts/pdf-parser-user.md b/src/integrations/ai/prompts/pdf-parser-user.md index b98298109..7c05fd20e 100644 --- a/src/integrations/ai/prompts/pdf-parser-user.md +++ b/src/integrations/ai/prompts/pdf-parser-user.md @@ -1 +1,3 @@ -Here is the PDF resume document to parse. Parse it carefully following all rules above, extracting only information that is explicitly visible in the PDF. Ignore any artifacts caused by PDF formatting, scanned image noise, OCR errors, watermarks, or hidden content. Do not infer or assume any information beyond what is clearly present in the visible text of the PDF. \ No newline at end of file +The resume PDF is attached as a file in this message. + +Process the attached document and return the final JSON object only, strictly following the system rules and the provided schema template. \ No newline at end of file diff --git a/src/integrations/auth/client.ts b/src/integrations/auth/client.ts index 2dee3d486..cd8f577c8 100644 --- a/src/integrations/auth/client.ts +++ b/src/integrations/auth/client.ts @@ -1,4 +1,5 @@ import { apiKeyClient } from "@better-auth/api-key/client"; +import { sentinelClient } from "@better-auth/infra/client"; import { genericOAuthClient, inferAdditionalFields, twoFactorClient, usernameClient } from "better-auth/client/plugins"; import { createAuthClient } from "better-auth/react"; import type { auth } from "./config"; @@ -7,6 +8,7 @@ const getAuthClient = () => { return createAuthClient({ plugins: [ apiKeyClient(), + sentinelClient(), usernameClient(), twoFactorClient({ onTwoFactorRedirect() { diff --git a/src/integrations/auth/config.ts b/src/integrations/auth/config.ts index 27f857253..502f8b5f0 100644 --- a/src/integrations/auth/config.ts +++ b/src/integrations/auth/config.ts @@ -1,7 +1,11 @@ import { apiKey } from "@better-auth/api-key"; import { drizzleAdapter } from "@better-auth/drizzle-adapter"; +import { dash } from "@better-auth/infra"; import { BetterAuthError, betterAuth } from "better-auth"; -import { type GenericOAuthConfig, genericOAuth, openAPI, twoFactor } from "better-auth/plugins"; +import type { GenericOAuthConfig } from "better-auth/plugins"; +import { openAPI } from "better-auth/plugins"; +import { genericOAuth } from "better-auth/plugins/generic-oauth"; +import { twoFactor } from "better-auth/plugins/two-factor"; import { username } from "better-auth/plugins/username"; import { and, eq, or } from "drizzle-orm"; import { db } from "@/integrations/drizzle/client"; @@ -79,9 +83,8 @@ const getAuthConfig = () => { return betterAuth({ appName: "Reactive Resume", - - baseURL: env.APP_URL, - secret: env.AUTH_SECRET, + baseURL: process.env.BETTER_AUTH_URL ?? env.APP_URL, + secret: process.env.BETTER_AUTH_SECRET ?? env.AUTH_SECRET, database: drizzleAdapter(db, { schema, provider: "pg" }), @@ -90,6 +93,7 @@ const getAuthConfig = () => { advanced: { database: { generateId }, useSecureCookies: env.APP_URL.startsWith("https://"), + ipAddress: { ipAddressHeaders: ["x-forwarded-for", "cf-connecting-ip"] }, }, emailAndPassword: { @@ -227,6 +231,7 @@ const getAuthConfig = () => { }, plugins: [ + dash(), openAPI(), apiKey({ enableSessionForAPIKeys: true, diff --git a/src/integrations/import/reactive-resume-v4-json.tsx b/src/integrations/import/reactive-resume-v4-json.tsx index 3282a0d8d..3a2f4aad5 100644 --- a/src/integrations/import/reactive-resume-v4-json.tsx +++ b/src/integrations/import/reactive-resume-v4-json.tsx @@ -3,11 +3,11 @@ import z, { flattenError, ZodError } from "zod"; import { type ResumeData, resumeDataSchema } from "@/schema/resume/data"; import { type Template, templateSchema } from "@/schema/templates"; -import { parseRgbString } from "@/utils/color"; +import { parseColorString } from "@/utils/color"; import { generateId } from "@/utils/string"; function colorToRgba(color: string): string { - const parsed = parseRgbString(color); + const parsed = parseColorString(color); if (!parsed) return "rgba(0, 0, 0, 1)"; return `rgba(${parsed.r}, ${parsed.g}, ${parsed.b}, ${parsed.a})`; } diff --git a/src/integrations/orpc/services/ai.server.ts b/src/integrations/orpc/services/ai.server.ts deleted file mode 100644 index 131787f24..000000000 --- a/src/integrations/orpc/services/ai.server.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { extractRawText } from "mammoth"; -import { PDFParse } from "pdf-parse"; - -export async function extractPdfText(base64Data: string): Promise { - const pdfParse = new PDFParse({ data: base64Data }); - const data = await pdfParse.getText(); - return data.text; -} - -export async function extractDocxText(base64Data: string): Promise { - const buffer = Buffer.from(base64Data, "base64"); - const data = await extractRawText({ buffer }); - return data.value; -} diff --git a/src/integrations/orpc/services/ai.ts b/src/integrations/orpc/services/ai.ts index 391444a50..5ddc58934 100644 --- a/src/integrations/orpc/services/ai.ts +++ b/src/integrations/orpc/services/ai.ts @@ -29,7 +29,6 @@ import { import type { ResumeData } from "@/schema/resume/data"; import { defaultResumeData, resumeDataSchema } from "@/schema/resume/data"; import { isObject } from "@/utils/sanitize"; -import { extractDocxText, extractPdfText } from "./ai.server"; const aiExtractionTemplate = { ...defaultResumeData, @@ -209,9 +208,10 @@ function parseAndValidateResumeJson(resultText: string): ResumeData { const repairedJson = jsonrepair(jsonString); const parsedJson = JSON.parse(repairedJson); const mergedData = mergeDefaults(defaultResumeData, parsedJson); + const normalizedData = normalizeResumeDataForSchema(mergedData); return resumeDataSchema.parse({ - ...mergedData, + ...normalizedData, customSections: [], picture: defaultResumeData.picture, metadata: defaultResumeData.metadata, @@ -227,6 +227,62 @@ function parseAndValidateResumeJson(resultText: string): ResumeData { } } +const sectionRequiredFieldMap = { + profiles: "network", + experience: "company", + education: "school", + projects: "name", + skills: "name", + languages: "language", + interests: "name", + awards: "title", + certifications: "title", + publications: "title", + volunteer: "organization", + references: "name", +} as const; + +type SectionKey = keyof typeof sectionRequiredFieldMap; + +function normalizeResumeDataForSchema(data: Record) { + if (!isObject(data)) return data; + if (!isObject(data.sections)) return data; + + const normalizedSections: Record = { ...data.sections }; + + for (const sectionKey of Object.keys(sectionRequiredFieldMap) as SectionKey[]) { + const section = normalizedSections[sectionKey]; + if (!isObject(section)) continue; + if (!Array.isArray(section.items)) continue; + + const itemTemplate = aiExtractionTemplate.sections[sectionKey].items[0] as Record; + const requiredField = sectionRequiredFieldMap[sectionKey]; + + const normalizedItems = section.items + .filter((item): item is Record => isObject(item)) + .map((item) => mergeDefaults(itemTemplate, item)) + .filter((item) => { + const requiredValue = item[requiredField]; + if (typeof requiredValue !== "string") return false; + return requiredValue.trim().length > 0; + }) + .map((item) => { + const normalizedItem = { ...item }; + if (typeof normalizedItem.id !== "string" || normalizedItem.id.trim().length === 0) { + normalizedItem.id = crypto.randomUUID(); + } + if (typeof normalizedItem.hidden !== "boolean") { + normalizedItem.hidden = false; + } + return normalizedItem; + }); + + normalizedSections[sectionKey] = { ...section, items: normalizedItems }; + } + + return { ...data, sections: normalizedSections }; +} + export const aiProviderSchema = z.enum(["ollama", "openai", "gemini", "anthropic", "vercel-ai-gateway"]); type AIProvider = z.infer; @@ -246,7 +302,7 @@ function getModel(input: GetModelInput) { const baseURL = input.baseURL || undefined; return match(provider) - .with("openai", () => createOpenAI({ apiKey, baseURL }).languageModel(model)) + .with("openai", () => createOpenAI({ apiKey, baseURL }).chat(model)) .with("ollama", () => createOllama({ apiKey, baseURL }).languageModel(model)) .with("anthropic", () => createAnthropic({ apiKey, baseURL }).languageModel(model)) .with("vercel-ai-gateway", () => createGateway({ apiKey, baseURL }).languageModel(model)) @@ -284,28 +340,46 @@ type ParsePdfInput = z.infer & { file: z.infer; }; +function buildResumeParsingMessages({ + systemPrompt, + userPrompt, + file, + mediaType, +}: { + systemPrompt: string; + userPrompt: string; + file: z.infer; + mediaType: string; +}) { + return [ + { + role: "system" as const, + content: + systemPrompt + + "\n\nIMPORTANT: You must return ONLY raw valid JSON. Do not return markdown, do not return explanations. Just the JSON object. Use the following JSON as a template and fill in the extracted values. For arrays, you MUST use the exact key names shown in the template (e.g. use 'description' instead of 'summary', 'website' instead of 'url'):\n\n" + + JSON.stringify(aiExtractionTemplate, null, 2), + }, + { + role: "user" as const, + content: [ + { type: "text" as const, text: userPrompt }, + { type: "file" as const, data: file.data, mediaType, filename: file.name }, + ], + }, + ]; +} + async function parsePdf(input: ParsePdfInput): Promise { const model = getModel(input); - const pdfText = await extractPdfText(input.file.data).catch((error: unknown) => - logAndRethrow("Failed to parse PDF locally", error), - ); - const result = await generateText({ model, - messages: [ - { - role: "system", - content: - pdfParserSystemPrompt + - "\n\nIMPORTANT: You must return ONLY raw valid JSON. Do not return markdown, do not return explanations. Just the JSON object. Use the following JSON as a template and fill in the extracted values. For arrays, you MUST use the exact key names shown in the template (e.g. use 'description' instead of 'summary', 'website' instead of 'url'):\n\n" + - JSON.stringify(aiExtractionTemplate, null, 2), - }, - { - role: "user", - content: `${pdfParserUserPrompt}\n\n--- EXTRACTED RESUME TEXT ---\n${pdfText}\n--- END OF EXTRACTED TEXT ---`, - }, - ], + messages: buildResumeParsingMessages({ + systemPrompt: pdfParserSystemPrompt, + userPrompt: pdfParserUserPrompt, + file: input.file, + mediaType: "application/pdf", + }), }).catch((error: unknown) => logAndRethrow("Failed to generate the text with the model", error)); return parseAndValidateResumeJson(result.text); @@ -319,25 +393,14 @@ type ParseDocxInput = z.infer & { async function parseDocx(input: ParseDocxInput): Promise { const model = getModel(input); - const docxText = await extractDocxText(input.file.data).catch((error: unknown) => - logAndRethrow("Failed to parse DOCX locally", error), - ); - const result = await generateText({ model, - messages: [ - { - role: "system", - content: - docxParserSystemPrompt + - "\n\nIMPORTANT: You must return ONLY raw valid JSON. Do not return markdown, do not return explanations. Just the JSON object. Use the following JSON as a template and fill in the extracted values. For arrays, you MUST use the exact key names shown in the template (e.g. use 'description' instead of 'summary', 'website' instead of 'url'):\n\n" + - JSON.stringify(aiExtractionTemplate, null, 2), - }, - { - role: "user", - content: `${docxParserUserPrompt}\n\n--- EXTRACTED RESUME TEXT ---\n${docxText}\n--- END OF EXTRACTED TEXT ---`, - }, - ], + messages: buildResumeParsingMessages({ + systemPrompt: docxParserSystemPrompt, + userPrompt: docxParserUserPrompt, + file: input.file, + mediaType: input.mediaType, + }), }).catch((error: unknown) => logAndRethrow("Failed to generate the text with the model", error)); return parseAndValidateResumeJson(result.text); diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx index 1854b4284..e6d77100c 100644 --- a/src/routes/__root.tsx +++ b/src/routes/__root.tsx @@ -11,6 +11,7 @@ import { CommandPalette } from "@/components/command-palette"; import { BreakpointIndicator } from "@/components/layout/breakpoint-indicator"; import { ThemeProvider } from "@/components/theme/provider"; import { Toaster } from "@/components/ui/sonner"; +import { TooltipProvider } from "@/components/ui/tooltip"; import { DialogManager } from "@/dialogs/manager"; import { ConfirmDialogProvider } from "@/hooks/use-confirm"; import { PromptDialogProvider } from "@/hooks/use-prompt"; @@ -116,17 +117,19 @@ function RootDocument({ children }: Props) {
{field.value.name}
`, `
` for paragraphs, `
Experienced engineer...
for paragraphs and