From 94dd00b9cafeaa889b558620043537083810492a Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Fri, 29 Aug 2025 18:05:29 +0300 Subject: [PATCH 01/39] Add data.sql to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index f96346c..93048af 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ yarn-error.log* next-env.d.ts dump.sql +data.sql \ No newline at end of file From cdb638f046f9571baf155f5e54e259f7512f8e83 Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Wed, 3 Sep 2025 10:04:56 +0300 Subject: [PATCH 02/39] remove Supabase configuration from production environment variables --- .env.production | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.env.production b/.env.production index 90b9aaf..134219e 100644 --- a/.env.production +++ b/.env.production @@ -5,10 +5,6 @@ ## AVOID PLACING SENSITIVE DATA IN THIS FILE. ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. -# SUPABASE -NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co -NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0 - NEXT_PUBLIC_SITE_URL=https://test.medreport.ee # MONTONIO From 8cb9d7552c5e2f3c89dbbbde2ecd19ff5583f840 Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Wed, 3 Sep 2025 12:46:39 +0300 Subject: [PATCH 03/39] add Supabase configuration to staging environment and update Dockerfile to include .env.staging --- .env.production | 4 ++++ .env.staging | 15 +++++++++++++++ Dockerfile | 11 ++++++----- 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 .env.staging diff --git a/.env.production b/.env.production index 134219e..90b9aaf 100644 --- a/.env.production +++ b/.env.production @@ -5,6 +5,10 @@ ## AVOID PLACING SENSITIVE DATA IN THIS FILE. ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. +# SUPABASE +NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co +NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0 + NEXT_PUBLIC_SITE_URL=https://test.medreport.ee # MONTONIO diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..bf811ee --- /dev/null +++ b/.env.staging @@ -0,0 +1,15 @@ +# PRODUCTION ENVIRONMENT VARIABLES + +## DO NOT ADD VARS HERE UNLESS THEY ARE PUBLIC OR NOT SENSITIVE +## THIS ENV IS USED FOR PRODUCTION AND IS COMMITED TO THE REPO +## AVOID PLACING SENSITIVE DATA IN THIS FILE. +## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. + +# SUPABASE +NEXT_PUBLIC_SUPABASE_URL=https://kaldvociniytdbbcxvqk.supabase.co +NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImthbGR2b2Npbml5dGRiYmN4dnFrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTYzNjQ5OTYsImV4cCI6MjA3MTk0MDk5Nn0.eixihH2KGkJZolY9FiQDicJOo2kxvXrSe6gGUCrkLo0 + +NEXT_PUBLIC_SITE_URL=https://test.medreport.ee + +# MONTONIO +NEXT_PUBLIC_MONTONIO_ACCESS_KEY=7da5d7fa-3383-4997-9435-46aa818f4ead diff --git a/Dockerfile b/Dockerfile index adf4993..589d56d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ COPY packages packages COPY tooling tooling COPY .env .env COPY .env.production .env.production +COPY .env.staging .env.staging # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true @@ -20,13 +21,10 @@ COPY . . ENV NODE_ENV=production -# πŸ” Optional: Log key envs for debug -RUN echo "πŸ“„ .env.production contents:" && cat .env.production \ - && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true - RUN set -a \ && . .env \ && . .env.production \ + && . .env.staging \ && set +a \ && node check-env.js \ && pnpm build @@ -34,18 +32,21 @@ RUN set -a \ # --- Stage 2: Runtime --- FROM node:20-alpine +ARG APP_ENV=production WORKDIR /app COPY --from=builder /app ./ +RUN cp ".env.${APP_ENV}" .env.local + RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug -RUN echo "πŸ“„ .env.production contents:" && cat .env.production \ +RUN echo "πŸ“„ .env contents:" && cat .env.local \ && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true From b046b6ab1684d34d5bd841d73a49f807b5d4f01c Mon Sep 17 00:00:00 2001 From: Karli Date: Wed, 3 Sep 2025 13:29:27 +0300 Subject: [PATCH 04/39] use recipient from env as it's different in live --- lib/services/medipost.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index a32b624..6f91e62 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -97,7 +97,7 @@ export async function getLatestPublicMessageListItem() { Action: MedipostAction.GetPublicMessageList, User: USER, Password: PASSWORD, - Sender: 'syndev', + Sender: RECIPIENT, // LastChecked (date+time) can be used here to get only messages since the last check - add when cron is created // MessageType check only for messages of certain type }, From 40ffbf29a5d70e83b8d124db36aab33057a6e4cd Mon Sep 17 00:00:00 2001 From: Karli Date: Wed, 3 Sep 2025 13:30:23 +0300 Subject: [PATCH 05/39] improve analyses sync error logging --- app/api/job/handler/sync-analysis-groups.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/api/job/handler/sync-analysis-groups.ts b/app/api/job/handler/sync-analysis-groups.ts index fe76f2d..8509bbb 100644 --- a/app/api/job/handler/sync-analysis-groups.ts +++ b/app/api/job/handler/sync-analysis-groups.ts @@ -164,10 +164,15 @@ export default async function syncAnalysisGroups() { console.info('Inserting sync entry'); await createSyncSuccessEntry(); } catch (e) { - await createSyncFailEntry(JSON.stringify(e)); - console.error(e); + const errorMessage = e instanceof Error ? e.message : String(e); + await createSyncFailEntry(JSON.stringify({ + message: errorMessage, + stack: e instanceof Error ? e.stack : undefined, + name: e instanceof Error ? e.name : 'Unknown', + }, null, 2)); + console.error('Sync failed:', e); throw new Error( - `Failed to sync public message data, error: ${JSON.stringify(e)}`, + `Failed to sync public message data, error: ${errorMessage}`, ); } } From 1de564b9176f7ab08214a605d2272e4a85aa3e1a Mon Sep 17 00:00:00 2001 From: Karli Date: Wed, 3 Sep 2025 15:15:02 +0300 Subject: [PATCH 06/39] rerun codepipeline From 5176ecdddcbd228e30a0c761eafc9a89a0bd4b07 Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Thu, 4 Sep 2025 10:56:24 +0300 Subject: [PATCH 07/39] hide search and wallet --- app/home/(user)/_components/home-menu-navigation.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/home/(user)/_components/home-menu-navigation.tsx b/app/home/(user)/_components/home-menu-navigation.tsx index 473a681..12e96cc 100644 --- a/app/home/(user)/_components/home-menu-navigation.tsx +++ b/app/home/(user)/_components/home-menu-navigation.tsx @@ -31,7 +31,8 @@ export async function HomeMenuNavigation(props: { }) : 0; - const cartQuantityTotal = props.cart?.items?.reduce((acc, item) => acc + item.quantity, 0) ?? 0; + const cartQuantityTotal = + props.cart?.items?.reduce((acc, item) => acc + item.quantity, 0) ?? 0; const hasCartItems = cartQuantityTotal > 0; return ( @@ -39,15 +40,18 @@ export async function HomeMenuNavigation(props: {
- } - /> + /> */}
+ {/* TODO: add wallet functionality € {Number(0).toFixed(2).replace('.', ',')} + */} {hasCartItems && ( - // ), - // cardVariant: 'gradient-success' as CardProps['variant'], - // }, -]; + { + title: 'dashboard:gender', + description: gender ?? 'dashboard:male', + icon: , + iconBg: 'bg-success', + }, + { + title: 'dashboard:age', + description: age ? `${age}` : '-', + icon: , + iconBg: 'bg-success', + }, + { + title: 'dashboard:height', + description: height ? `${height}cm` : '-', + icon: , + iconBg: 'bg-success', + }, + { + title: 'dashboard:weight', + description: weight ? `${weight}kg` : '-', + icon: , + iconBg: 'bg-success', + }, + { + title: 'dashboard:bmi', + description: bmiFromMetric(weight || 0, height || 0).toString(), + icon: , + iconBg: getBmiBackgroundColor(bmiStatus), + }, + { + title: 'dashboard:bloodPressure', + description: '-', + icon: , + iconBg: 'bg-warning', + }, + { + title: 'dashboard:cholesterol', + description: '-', + icon: , + iconBg: 'bg-destructive', + }, + { + title: 'dashboard:ldlCholesterol', + description: '-', + icon: , + iconBg: 'bg-warning', + }, + // { + // title: 'Score 2', + // description: 'Normis', + // icon: , + // iconBg: 'bg-success', + // }, + { + title: 'dashboard:smoking', + description: + isNil(smoking) + ? 'dashboard:respondToQuestion' + : !!smoking + ? 'common:yes' + : 'common:no', + descriptionColor: 'text-primary', + icon: + isNil(smoking) ? ( + + + + ) : null, + cardVariant: getCardVariant(isNil(smoking) ? null : !smoking), + }, + ]; const dummyRecommendations = [ { @@ -160,8 +180,8 @@ export default function Dashboard({ const params = getPersonParameters(account.personal_code!); const bmiStatus = getBmiStatus(bmiThresholds, { age: params?.age || 0, - height: account.account_params?.[0]?.height || 0, - weight: account.account_params?.[0]?.weight || 0, + height: account.accountParams?.height || 0, + weight: account.accountParams?.weight || 0, }); return ( @@ -170,21 +190,22 @@ export default function Dashboard({ {cards({ gender: params?.gender, age: params?.age, - height: account.account_params?.[0]?.height, - weight: account.account_params?.[0]?.weight, + height: account.accountParams?.height, + weight: account.accountParams?.weight, bmiStatus, + smoking: account.accountParams?.isSmoker, }).map( ({ title, description, icon, iconBg, - // cardVariant, + cardVariant, // descriptionColor, }) => ( @@ -256,7 +277,7 @@ export default function Dashboard({

-
+

{price}

{href ? ( diff --git a/app/home/(user)/_components/home-menu-navigation.tsx b/app/home/(user)/_components/home-menu-navigation.tsx index 12e96cc..d892709 100644 --- a/app/home/(user)/_components/home-menu-navigation.tsx +++ b/app/home/(user)/_components/home-menu-navigation.tsx @@ -60,7 +60,7 @@ export async function HomeMenuNavigation(props: { {totalValue} )} - + + + + + ); +} diff --git a/app/home/(user)/settings/_components/account-settings-form.tsx b/app/home/(user)/settings/_components/account-settings-form.tsx new file mode 100644 index 0000000..f1c6004 --- /dev/null +++ b/app/home/(user)/settings/_components/account-settings-form.tsx @@ -0,0 +1,259 @@ +'use client'; + +import { zodResolver } from '@hookform/resolvers/zod'; +import { useForm } from 'react-hook-form'; +import { Trans } from 'react-i18next'; + +import { AccountWithParams } from '@kit/accounts/api'; +import { useRevalidatePersonalAccountDataQuery } from '@kit/accounts/hooks/use-personal-account-data'; +import { Button } from '@kit/ui/button'; +import { Card, CardTitle } from '@kit/ui/card'; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from '@kit/ui/form'; +import { Input } from '@kit/ui/input'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@kit/ui/select'; +import { toast } from '@kit/ui/sonner'; +import { Switch } from '@kit/ui/switch'; + +import { + AccountSettings, + accountSettingsSchema, +} from '../_lib/account-settings.schema'; +import { updatePersonalAccountAction } from '../_lib/server/actions'; + +export default function AccountSettingsForm({ + account, +}: { + account: AccountWithParams | null; +}) { + const revalidateUserDataQuery = useRevalidatePersonalAccountDataQuery(); + + const form = useForm({ + resolver: zodResolver(accountSettingsSchema), + defaultValues: { + firstName: account?.name, + lastName: account?.last_name ?? '', + email: account?.email, + phone: account?.phone ?? '', + accountParams: { + height: account?.accountParams?.height, + weight: account?.accountParams?.weight, + isSmoker: !!account?.accountParams?.isSmoker, + }, + }, + }); + + const { handleSubmit } = form; + + const onSubmit = async (data: AccountSettings) => { + if (!account?.id) { + return toast.error(); + } + + const result = await updatePersonalAccountAction({ + accountId: account.id, + data, + }); + + if (result.success) { + revalidateUserDataQuery(account.primary_owner_user_id); + return toast.success(); + } + return toast.error(); + }; + + if (!account) return null; + + return ( +
+ + { + return ( + + + + + + + + + + + + ); + }} + /> + + { + return ( + + + + + + + + + + + + ); + }} + /> + +
+ { + return ( + + + + + + + + + + + + ); + }} + /> + + { + return ( + + + + + + + + + + + + ); + }} + /> +
+ + { + return ( + + + + + + + + + + + + ); + }} + /> + { + return ( + + + + + + + + + + + + ); + }} + /> + +
+

+ +

+ + ( + + + + + + + + + + )} + /> +
+ + + + + ); +} diff --git a/app/home/(user)/settings/_components/settings-navigation.tsx b/app/home/(user)/settings/_components/settings-navigation.tsx new file mode 100644 index 0000000..4812349 --- /dev/null +++ b/app/home/(user)/settings/_components/settings-navigation.tsx @@ -0,0 +1,152 @@ +'use client'; + +import { useMemo } from 'react'; + +import Link from 'next/link'; + +import { StoreCart } from '@medusajs/types'; +import { Cross, Menu, Shield, ShoppingCart } from 'lucide-react'; + +import { usePersonalAccountData } from '@kit/accounts/hooks/use-personal-account-data'; +import { ApplicationRoleEnum } from '@kit/accounts/types/accounts'; +import { pathsConfig } from '@kit/shared/config'; +import { useSignOut } from '@kit/supabase/hooks/use-sign-out'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger, +} from '@kit/ui/dropdown-menu'; +import { If } from '@kit/ui/if'; +import { Trans } from '@kit/ui/trans'; + +import SignOutDropdownItem from '@kit/shared/components/sign-out-dropdown-item'; +import DropdownLink from '@kit/shared/components/ui/dropdown-link'; +import { UserWorkspace } from '../../_lib/server/load-user-workspace'; +import { routes } from './settings-sidebar'; + +export function SettingsMobileNavigation(props: { + workspace: UserWorkspace; + cart: StoreCart | null; +}) { + const user = props.workspace.user; + + const signOut = useSignOut(); + const { data: personalAccountData } = usePersonalAccountData(user.id); + + const Links = [ + { + children: [{ path: pathsConfig.app.home, label: 'common:routes.home' }], + }, + ] + .concat(routes) + .map((item, index) => { + if ('children' in item) { + return item.children.map((child) => { + return ( + + ); + }); + } + + if ('divider' in item) { + return ; + } + }); + + const hasTotpFactor = useMemo(() => { + const factors = user?.factors ?? []; + return factors.some( + (factor) => factor.factor_type === 'totp' && factor.status === 'verified', + ); + }, [user?.factors]); + + const isSuperAdmin = useMemo(() => { + const hasAdminRole = + personalAccountData?.application_role === ApplicationRoleEnum.SuperAdmin; + + return hasAdminRole && hasTotpFactor; + }, [user, personalAccountData, hasTotpFactor]); + + const isDoctor = useMemo(() => { + const hasDoctorRole = + personalAccountData?.application_role === ApplicationRoleEnum.Doctor; + + return hasDoctorRole && hasTotpFactor; + }, [user, personalAccountData, hasTotpFactor]); + + const cartQuantityTotal = + props.cart?.items?.reduce((acc, item) => acc + item.quantity, 0) ?? 0; + const hasCartItems = cartQuantityTotal > 0; + + return ( + + + + + + + + + } + labelOptions={{ count: cartQuantityTotal }} + /> + + + + + {Links} + + + + + + + + + Super Admin + + + + + + + + + + + + + + + + + + + + signOut.mutateAsync()} /> + + + ); +} + + diff --git a/app/home/(user)/settings/_components/settings-section-header.tsx b/app/home/(user)/settings/_components/settings-section-header.tsx new file mode 100644 index 0000000..36eaa0a --- /dev/null +++ b/app/home/(user)/settings/_components/settings-section-header.tsx @@ -0,0 +1,22 @@ +import { Separator } from "@kit/ui/separator"; +import { Trans } from "@kit/ui/trans"; + +export default function SettingsSectionHeader({ + titleKey, + descriptionKey, +}: { + titleKey: string; + descriptionKey: string; +}) { + return ( +
+

+ +

+

+ +

+ +
+ ); +} diff --git a/app/home/(user)/settings/_components/settings-sidebar.tsx b/app/home/(user)/settings/_components/settings-sidebar.tsx new file mode 100644 index 0000000..51dc6c2 --- /dev/null +++ b/app/home/(user)/settings/_components/settings-sidebar.tsx @@ -0,0 +1,55 @@ +import z from 'zod'; + +import { pathsConfig } from '@kit/shared/config'; +import { NavigationConfigSchema } from '@kit/ui/navigation-schema'; +import { PageHeader } from '@kit/ui/page'; +import { + Sidebar, + SidebarContent, + SidebarHeader, + SidebarNavigation, +} from '@kit/ui/shadcn-sidebar'; +import { Trans } from '@kit/ui/trans'; + +export const routes = [ + { + children: [ + { + label: 'common:routes.profile', + path: pathsConfig.app.personalAccountSettings, + end: true, + }, + + { + label: 'common:routes.preferences', + path: pathsConfig.app.personalAccountPreferences, + end: true, + }, + + { + label: 'common:routes.security', + path: pathsConfig.app.personalAccountSecurity, + end: true, + }, + ], + }, +] satisfies z.infer['routes']; + +export function SettingsSidebar() { + return ( + + + } + description={} + /> + + + + + + + ); +} diff --git a/app/home/(user)/settings/_lib/account-preferences.schema.ts b/app/home/(user)/settings/_lib/account-preferences.schema.ts new file mode 100644 index 0000000..50b9099 --- /dev/null +++ b/app/home/(user)/settings/_lib/account-preferences.schema.ts @@ -0,0 +1,8 @@ +import { z } from 'zod'; + +export const accountPreferencesSchema = z.object({ + preferredLanguage: z.enum(['et', 'en', 'ru']).optional().nullable(), + isConsentToAnonymizedCompanyStatistics: z.boolean().optional(), +}); + +export type AccountPreferences = z.infer; diff --git a/app/home/(user)/settings/_lib/account-settings.schema.ts b/app/home/(user)/settings/_lib/account-settings.schema.ts new file mode 100644 index 0000000..a6944a4 --- /dev/null +++ b/app/home/(user)/settings/_lib/account-settings.schema.ts @@ -0,0 +1,21 @@ +import { z } from 'zod'; + +export const accountSettingsSchema = z.object({ + firstName: z + .string() + .min(1, { error: 'error:tooShort' }) + .max(200, { error: 'error:tooLong' }), + lastName: z + .string() + .min(1, { error: 'error:tooShort' }) + .max(200, { error: 'error:tooLong' }), + email: z.email({ error: 'error:invalidEmail' }).nullable(), + phone: z.e164({ error: 'error:invalidPhone' }), + accountParams: z.object({ + height: z.coerce.number({ error: 'error:invalidNumber' }), + weight: z.coerce.number({ error: 'error:invalidNumber' }), + isSmoker: z.boolean().optional().nullable(), + }), +}); + +export type AccountSettings = z.infer; diff --git a/app/home/(user)/settings/_lib/server/actions.ts b/app/home/(user)/settings/_lib/server/actions.ts new file mode 100644 index 0000000..a1558ce --- /dev/null +++ b/app/home/(user)/settings/_lib/server/actions.ts @@ -0,0 +1,66 @@ +'use server'; + +import z from 'zod'; + +import { enhanceAction } from '@kit/next/actions'; +import { getLogger } from '@kit/shared/logger'; + +import { + updatePersonalAccount, + updatePersonalAccountPreferences, +} from '~/lib/services/account.service'; + +import { + AccountPreferences, + accountPreferencesSchema, +} from '../account-preferences.schema'; +import { + AccountSettings, + accountSettingsSchema, +} from '../account-settings.schema'; + +export const updatePersonalAccountAction = enhanceAction( + async ({ accountId, data }: { accountId: string; data: AccountSettings }) => { + const logger = await getLogger(); + + try { + logger.info({ accountId }, 'Updating account'); + await updatePersonalAccount(accountId, data); + logger.info({ accountId }, 'Successfully updated account'); + return { success: true }; + } catch (e) { + logger.error('Failed to update account', JSON.stringify(e)); + + return { success: false }; + } + }, + { + schema: z.object({ accountId: z.uuid(), data: accountSettingsSchema }), + }, +); + +export const updatePersonalAccountPreferencesAction = enhanceAction( + async ({ + accountId, + data, + }: { + accountId: string; + data: AccountPreferences; + }) => { + const logger = await getLogger(); + + try { + logger.info({ accountId }, 'Updating account preferences'); + await updatePersonalAccountPreferences(accountId, data); + logger.info({ accountId }, 'Successfully updated account preferences'); + return { success: true }; + } catch (e) { + logger.error('Failed to update account preferences', JSON.stringify(e)); + + return { success: false }; + } + }, + { + schema: z.object({ accountId: z.uuid(), data: accountPreferencesSchema }), + }, +); diff --git a/app/home/(user)/settings/layout.tsx b/app/home/(user)/settings/layout.tsx index 0f55ab8..d93b963 100644 --- a/app/home/(user)/settings/layout.tsx +++ b/app/home/(user)/settings/layout.tsx @@ -1,23 +1,69 @@ -import { AppBreadcrumbs } from '@kit/ui/app-breadcrumbs'; -import { Trans } from '@kit/ui/trans'; +import { use } from 'react'; + +import { retrieveCart } from '@lib/data/cart'; +import { StoreCart } from '@medusajs/types'; + +import { UserWorkspaceContextProvider } from '@kit/accounts/components'; +import { AppLogo } from '@kit/shared/components/app-logo'; +import { pathsConfig } from '@kit/shared/config'; +import { Page, PageMobileNavigation, PageNavigation } from '@kit/ui/page'; +import { SidebarProvider } from '@kit/ui/shadcn-sidebar'; import { withI18n } from '~/lib/i18n/with-i18n'; +import { SettingsSidebar } from './_components/settings-sidebar'; +// home imports +import { HomeMenuNavigation } from '../_components/home-menu-navigation'; +import { loadUserWorkspace } from '../_lib/server/load-user-workspace'; +import { SettingsMobileNavigation } from './_components/settings-navigation'; -// local imports -import { HomeLayoutPageHeader } from '../_components/home-page-header'; - -function UserSettingsLayout(props: React.PropsWithChildren) { - return ( - <> - } - description={} - /> - - {props.children} - - ); +function UserSettingsLayout({ children }: React.PropsWithChildren) { + return {children}; } export default withI18n(UserSettingsLayout); + +function HeaderLayout({ children }: React.PropsWithChildren) { + const workspace = use(loadUserWorkspace()); + const cart = use(retrieveCart()); + + + return ( + + + + + + + + + + + + + + + +
{children}
+
+
+
+
+ ); +} + +function MobileNavigation({ + workspace, + cart, +}: { + workspace: Awaited>; + cart: StoreCart | null; +}) { + return ( + <> + + + + + ); +} diff --git a/app/home/(user)/settings/page.tsx b/app/home/(user)/settings/page.tsx index 38c0701..c1e81e1 100644 --- a/app/home/(user)/settings/page.tsx +++ b/app/home/(user)/settings/page.tsx @@ -1,28 +1,11 @@ -import { use } from 'react'; - -import { PersonalAccountSettingsContainer } from '@kit/accounts/personal-account-settings'; -import { - authConfig, - featureFlagsConfig, - pathsConfig, -} from '@kit/shared/config'; import { PageBody } from '@kit/ui/page'; import { createI18nServerInstance } from '~/lib/i18n/i18n.server'; -import { requireUserInServerComponent } from '~/lib/server/require-user-in-server-component'; import { withI18n } from '~/lib/i18n/with-i18n'; -const features = { - enableAccountDeletion: featureFlagsConfig.enableAccountDeletion, - enablePasswordUpdate: authConfig.providers.password, -}; - -const callbackPath = pathsConfig.auth.callback; -const accountHomePath = pathsConfig.app.accountHome; - -const paths = { - callback: callbackPath + `?next=${accountHomePath}`, -}; +import { loadCurrentUserAccount } from '../_lib/server/load-user-account'; +import AccountSettingsForm from './_components/account-settings-form'; +import SettingsSectionHeader from './_components/settings-section-header'; export const generateMetadata = async () => { const i18n = await createI18nServerInstance(); @@ -33,17 +16,18 @@ export const generateMetadata = async () => { }; }; -function PersonalAccountSettingsPage() { - const user = use(requireUserInServerComponent()); - +async function PersonalAccountSettingsPage() { + const account = await loadCurrentUserAccount(); return ( -
- +
+
+ + +
); diff --git a/app/home/(user)/settings/preferences/page.tsx b/app/home/(user)/settings/preferences/page.tsx new file mode 100644 index 0000000..ec55fd6 --- /dev/null +++ b/app/home/(user)/settings/preferences/page.tsx @@ -0,0 +1,24 @@ +import { CardTitle } from '@kit/ui/card'; +import { LanguageSelector } from '@kit/ui/language-selector'; +import { Trans } from '@kit/ui/trans'; + +import { loadCurrentUserAccount } from '../../_lib/server/load-user-account'; +import AccountPreferencesForm from '../_components/account-preferences-form'; +import SettingsSectionHeader from '../_components/settings-section-header'; + +export default async function PreferencesPage() { + const account = await loadCurrentUserAccount(); + + return ( +
+
+ + + +
+
+ ); +} diff --git a/app/home/(user)/settings/security/page.tsx b/app/home/(user)/settings/security/page.tsx new file mode 100644 index 0000000..79951e4 --- /dev/null +++ b/app/home/(user)/settings/security/page.tsx @@ -0,0 +1,17 @@ +import { MultiFactorAuthFactorsList } from '@kit/accounts/components'; + +import SettingsSectionHeader from '../_components/settings-section-header'; + +export default function SecuritySettingsPage() { + return ( +
+
+ + +
+
+ ); +} diff --git a/app/home/[account]/_components/team-account-layout-mobile-navigation.tsx b/app/home/[account]/_components/team-account-layout-mobile-navigation.tsx index 4e0a88f..70fb207 100644 --- a/app/home/[account]/_components/team-account-layout-mobile-navigation.tsx +++ b/app/home/[account]/_components/team-account-layout-mobile-navigation.tsx @@ -1,9 +1,10 @@ 'use client'; -import Link from 'next/link'; +import DropdownLink from '@kit/shared/components/ui/dropdown-link'; import { useRouter } from 'next/navigation'; -import { Home, LogOut, Menu } from 'lucide-react'; +import SignOutDropdownItem from '@kit/shared/components/sign-out-dropdown-item'; +import { Home, Menu } from 'lucide-react'; import { AccountSelector } from '@kit/accounts/account-selector'; import { @@ -92,47 +93,7 @@ export const TeamAccountLayoutMobileNavigation = ( ); }; -function DropdownLink( - props: React.PropsWithChildren<{ - path: string; - label: string; - Icon: React.ReactNode; - }>, -) { - return ( - - - {props.Icon} - - - - - - ); -} - -function SignOutDropdownItem( - props: React.PropsWithChildren<{ - onSignOut: () => unknown; - }>, -) { - return ( - - - - - - - - ); -} function TeamAccountsModal(props: { accounts: Accounts; diff --git a/lib/i18n/i18n.settings.ts b/lib/i18n/i18n.settings.ts index 92606a4..b970b7a 100644 --- a/lib/i18n/i18n.settings.ts +++ b/lib/i18n/i18n.settings.ts @@ -41,6 +41,7 @@ export const defaultI18nNamespaces = [ 'orders', 'analysis-results', 'doctor', + 'error', ]; /** diff --git a/lib/services/account.service.ts b/lib/services/account.service.ts index 22d0684..f958c72 100644 --- a/lib/services/account.service.ts +++ b/lib/services/account.service.ts @@ -1,8 +1,14 @@ import type { Tables } from '@/packages/supabase/src/database.types'; +import { AccountWithParams } from '@kit/accounts/api'; import { getSupabaseServerAdminClient } from '@kit/supabase/server-admin-client'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; +import { AccountSettings } from '~/home/(user)/settings/_lib/account-settings.schema'; + +import { AccountPreferences } from '../../app/home/(user)/settings/_lib/account-preferences.schema'; +import { updateCustomer } from '../../packages/features/medusa-storefront/src/lib/data'; + type Account = Tables<{ schema: 'medreport' }, 'accounts'>; type Membership = Tables<{ schema: 'medreport' }, 'accounts_memberships'>; @@ -61,7 +67,9 @@ export async function getDoctorAccounts() { } export async function getAssignedDoctorAccount(analysisOrderId: number) { - const { data: doctorUser } = await getSupabaseServerAdminClient() + const supabase = getSupabaseServerAdminClient(); + + const { data: doctorUser } = await supabase .schema('medreport') .from('doctor_analysis_feedback') .select('doctor_user_id') @@ -73,7 +81,7 @@ export async function getAssignedDoctorAccount(analysisOrderId: number) { return null; } - const { data } = await getSupabaseServerAdminClient() + const { data } = await supabase .schema('medreport') .from('accounts') .select('email') @@ -81,3 +89,58 @@ export async function getAssignedDoctorAccount(analysisOrderId: number) { return { email: data?.[0]?.email }; } + +export async function updatePersonalAccount( + accountId: string, + account: AccountSettings, +) { + const supabase = getSupabaseServerClient(); + + return Promise.all([ + supabase + .schema('medreport') + .from('accounts') + .update({ + name: account.firstName, + last_name: account.lastName, + email: account.email, + phone: account.phone, + }) + .eq('id', accountId) + .throwOnError(), + supabase + .schema('medreport') + .from('account_params') + .upsert( + { + height: account.accountParams.height, + weight: account.accountParams.weight, + is_smoker: account.accountParams.isSmoker, + }, + { onConflict: 'account_id' }, + ) + .throwOnError(), + updateCustomer({ + first_name: account.firstName, + last_name: account.lastName, + phone: account.phone, + }), + ]); +} +export async function updatePersonalAccountPreferences( + accountId: string, + preferences: AccountPreferences, +) { + const supabase = getSupabaseServerClient(); + + return supabase + .schema('medreport') + .from('accounts') + .update({ + preferred_locale: preferences.preferredLanguage, + has_consent_anonymized_company_statistics: + preferences.isConsentToAnonymizedCompanyStatistics, + }) + .eq('id', accountId) + .throwOnError(); +} diff --git a/lib/services/medusaCart.service.ts b/lib/services/medusaCart.service.ts index a2eef85..a416e04 100644 --- a/lib/services/medusaCart.service.ts +++ b/lib/services/medusaCart.service.ts @@ -16,12 +16,12 @@ const env = () => .object({ medusaBackendPublicUrl: z .string({ - required_error: 'MEDUSA_BACKEND_PUBLIC_URL is required', + error: 'MEDUSA_BACKEND_PUBLIC_URL is required', }) .min(1), siteUrl: z .string({ - required_error: 'NEXT_PUBLIC_SITE_URL is required', + error: 'NEXT_PUBLIC_SITE_URL is required', }) .min(1), }) diff --git a/lib/validations/company-offer.schema.ts b/lib/validations/company-offer.schema.ts index 4ac5b5d..a8ab60e 100644 --- a/lib/validations/company-offer.schema.ts +++ b/lib/validations/company-offer.schema.ts @@ -2,15 +2,14 @@ import { z } from 'zod'; export const companyOfferSchema = z.object({ companyName: z.string({ - required_error: 'Company name is required', + error: 'Company name is required', }), contactPerson: z.string({ - required_error: 'Contact person is required', + error: 'Contact person is required', }), email: z - .string({ - required_error: 'Email is required', - }) - .email('Invalid email'), + .email({ + error: 'Invalid email', + }), phone: z.string().optional(), }); diff --git a/package.json b/package.json index 9fe9cad..e449db7 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,13 @@ "@hookform/resolvers": "^5.1.1", "@kit/accounts": "workspace:*", "@kit/admin": "workspace:*", - "@kit/doctor": "workspace:*", "@kit/analytics": "workspace:*", "@kit/auth": "workspace:*", "@kit/billing": "workspace:*", "@kit/billing-gateway": "workspace:*", "@kit/cms": "workspace:*", "@kit/database-webhooks": "workspace:*", + "@kit/doctor": "workspace:*", "@kit/email-templates": "workspace:*", "@kit/i18n": "workspace:*", "@kit/mailers": "workspace:*", @@ -82,7 +82,7 @@ "sonner": "^2.0.5", "tailwind-merge": "^3.3.1", "ts-node": "^10.9.2", - "zod": "^3.25.67" + "zod": "^4.1.5" }, "devDependencies": { "@hookform/resolvers": "^5.0.1", diff --git a/packages/billing/core/src/create-billing-schema.ts b/packages/billing/core/src/create-billing-schema.ts index deeb15e..4f26cbb 100644 --- a/packages/billing/core/src/create-billing-schema.ts +++ b/packages/billing/core/src/create-billing-schema.ts @@ -21,39 +21,25 @@ export const PaymentTypeSchema = z.enum(['one-time', 'recurring']); export const LineItemSchema = z .object({ id: z - .string({ - description: - 'Unique identifier for the line item. Defined by the Provider.', - }) + .string() + .describe('Unique identifier for the line item. Defined by the Provider.') .min(1), name: z - .string({ - description: 'Name of the line item. Displayed to the user.', - }) + .string().describe('Name of the line item. Displayed to the user.') .min(1), description: z - .string({ - description: - 'Description of the line item. Displayed to the user and will replace the auto-generated description inferred' + - ' from the line item. This is useful if you want to provide a more detailed description to the user.', - }) + .string().describe('Description of the line item. Displayed to the user and will replace the auto-generated description inferred' + + ' from the line item. This is useful if you want to provide a more detailed description to the user.') .optional(), cost: z - .number({ - description: 'Cost of the line item. Displayed to the user.', - }) + .number().describe('Cost of the line item. Displayed to the user.') .min(0), type: LineItemTypeSchema, unit: z - .string({ - description: - 'Unit of the line item. Displayed to the user. Example "seat" or "GB"', - }) + .string().describe('Unit of the line item. Displayed to the user. Example "seat" or "GB"') .optional(), setupFee: z - .number({ - description: `Lemon Squeezy only: If true, in addition to the cost, a setup fee will be charged.`, - }) + .number().describe(`Lemon Squeezy only: If true, in addition to the cost, a setup fee will be charged.`) .positive() .optional(), tiers: z @@ -92,14 +78,10 @@ export const LineItemSchema = z export const PlanSchema = z .object({ id: z - .string({ - description: 'Unique identifier for the plan. Defined by yourself.', - }) + .string().describe('Unique identifier for the plan. Defined by yourself.') .min(1), name: z - .string({ - description: 'Name of the plan. Displayed to the user.', - }) + .string().describe('Name of the plan. Displayed to the user.') .min(1), interval: BillingIntervalSchema.optional(), custom: z.boolean().default(false).optional(), @@ -124,10 +106,7 @@ export const PlanSchema = z }, ), trialDays: z - .number({ - description: - 'Number of days for the trial period. Leave empty for no trial.', - }) + .number().describe('Number of days for the trial period. Leave empty for no trial.') .positive() .optional(), paymentType: PaymentTypeSchema, @@ -209,54 +188,34 @@ export const PlanSchema = z const ProductSchema = z .object({ id: z - .string({ - description: - 'Unique identifier for the product. Defined by th Provider.', - }) + .string().describe('Unique identifier for the product. Defined by th Provider.') .min(1), name: z - .string({ - description: 'Name of the product. Displayed to the user.', - }) + .string().describe('Name of the product. Displayed to the user.') .min(1), description: z - .string({ - description: 'Description of the product. Displayed to the user.', - }) + .string().describe('Description of the product. Displayed to the user.') .min(1), currency: z - .string({ - description: 'Currency code for the product. Displayed to the user.', - }) + .string().describe('Currency code for the product. Displayed to the user.') .min(3) .max(3), badge: z - .string({ - description: - 'Badge for the product. Displayed to the user. Example: "Popular"', - }) + .string().describe('Badge for the product. Displayed to the user. Example: "Popular"') .optional(), features: z .array( - z.string({ - description: 'Features of the product. Displayed to the user.', - }), - ) + z.string(), + ).describe('Features of the product. Displayed to the user.') .nonempty(), enableDiscountField: z - .boolean({ - description: 'Enable discount field for the product in the checkout.', - }) + .boolean().describe('Enable discount field for the product in the checkout.') .optional(), highlighted: z - .boolean({ - description: 'Highlight this product. Displayed to the user.', - }) + .boolean().describe('Highlight this product. Displayed to the user.') .optional(), hidden: z - .boolean({ - description: 'Hide this product from being displayed to users.', - }) + .boolean().describe('Hide this product from being displayed to users.') .optional(), plans: z.array(PlanSchema), }) diff --git a/packages/billing/core/src/schema/report-billing-usage.schema.ts b/packages/billing/core/src/schema/report-billing-usage.schema.ts index fc3a91f..874b922 100644 --- a/packages/billing/core/src/schema/report-billing-usage.schema.ts +++ b/packages/billing/core/src/schema/report-billing-usage.schema.ts @@ -1,14 +1,10 @@ import { z } from 'zod'; export const ReportBillingUsageSchema = z.object({ - id: z.string({ - description: - 'The id of the usage record. For Stripe a customer ID, for LS a subscription item ID.', - }), + id: z.string().describe('The id of the usage record. For Stripe a customer ID, for LS a subscription item ID.'), eventName: z - .string({ - description: 'The name of the event that triggered the usage', - }) + .string() + .describe('The name of the event that triggered the usage') .optional(), usage: z.object({ quantity: z.number(), diff --git a/packages/billing/core/src/schema/update-health-benefit.schema.ts b/packages/billing/core/src/schema/update-health-benefit.schema.ts index d9a66ce..62d699d 100644 --- a/packages/billing/core/src/schema/update-health-benefit.schema.ts +++ b/packages/billing/core/src/schema/update-health-benefit.schema.ts @@ -3,8 +3,8 @@ import { z } from 'zod'; export const UpdateHealthBenefitSchema = z.object({ occurance: z .string({ - required_error: 'Occurance is required', + error: 'Occurance is required', }) .nonempty(), - amount: z.number({ required_error: 'Amount is required' }), + amount: z.number({ error: 'Amount is required' }), }); diff --git a/packages/billing/montonio/src/schema/montonio-server-env.schema.ts b/packages/billing/montonio/src/schema/montonio-server-env.schema.ts index e867cae..ccef446 100644 --- a/packages/billing/montonio/src/schema/montonio-server-env.schema.ts +++ b/packages/billing/montonio/src/schema/montonio-server-env.schema.ts @@ -4,12 +4,12 @@ export const MontonioServerEnvSchema = z .object({ secretKey: z .string({ - required_error: `Please provide the variable MONTONIO_SECRET_KEY`, + error: `Please provide the variable MONTONIO_SECRET_KEY`, }) .min(1), apiUrl: z .string({ - required_error: `Please provide the variable MONTONIO_API_URL`, + error: `Please provide the variable MONTONIO_API_URL`, }) .min(1), }); diff --git a/packages/billing/stripe/src/schema/stripe-server-env.schema.ts b/packages/billing/stripe/src/schema/stripe-server-env.schema.ts index 9c9847e..6cf56a3 100644 --- a/packages/billing/stripe/src/schema/stripe-server-env.schema.ts +++ b/packages/billing/stripe/src/schema/stripe-server-env.schema.ts @@ -4,12 +4,12 @@ export const StripeServerEnvSchema = z .object({ secretKey: z .string({ - required_error: `Please provide the variable STRIPE_SECRET_KEY`, + error: `Please provide the variable STRIPE_SECRET_KEY`, }) .min(1), webhooksSecret: z .string({ - required_error: `Please provide the variable STRIPE_WEBHOOK_SECRET`, + error: `Please provide the variable STRIPE_WEBHOOK_SECRET`, }) .min(1), }) diff --git a/packages/database-webhooks/src/server/services/verifier/postgres-database-webhook-verifier.service.ts b/packages/database-webhooks/src/server/services/verifier/postgres-database-webhook-verifier.service.ts index ad29a67..d11c37d 100644 --- a/packages/database-webhooks/src/server/services/verifier/postgres-database-webhook-verifier.service.ts +++ b/packages/database-webhooks/src/server/services/verifier/postgres-database-webhook-verifier.service.ts @@ -4,9 +4,9 @@ import { DatabaseWebhookVerifierService } from './database-webhook-verifier.serv const webhooksSecret = z .string({ - description: `The secret used to verify the webhook signature`, - required_error: `Provide the variable SUPABASE_DB_WEBHOOK_SECRET. This is used to authenticate the webhook event from Supabase.`, + error: `Provide the variable SUPABASE_DB_WEBHOOK_SECRET. This is used to authenticate the webhook event from Supabase.`, }) + .describe(`The secret used to verify the webhook signature`,) .min(1) .parse(process.env.SUPABASE_DB_WEBHOOK_SECRET); diff --git a/packages/features/accounts/src/components/index.ts b/packages/features/accounts/src/components/index.ts index aedb533..1e4dabd 100644 --- a/packages/features/accounts/src/components/index.ts +++ b/packages/features/accounts/src/components/index.ts @@ -1 +1,3 @@ export * from './user-workspace-context'; +export * from './personal-account-settings/mfa/multi-factor-auth-list' +export * from './personal-account-settings/mfa/multi-factor-auth-setup-dialog' diff --git a/packages/features/accounts/src/components/personal-account-dropdown.tsx b/packages/features/accounts/src/components/personal-account-dropdown.tsx index 8f21130..2a77099 100644 --- a/packages/features/accounts/src/components/personal-account-dropdown.tsx +++ b/packages/features/accounts/src/components/personal-account-dropdown.tsx @@ -101,14 +101,14 @@ export function PersonalAccountDropdown({ personalAccountData?.application_role === ApplicationRoleEnum.SuperAdmin; return hasAdminRole && hasTotpFactor; - }, [user, personalAccountData, hasTotpFactor]); + }, [personalAccountData, hasTotpFactor]); const isDoctor = useMemo(() => { const hasDoctorRole = personalAccountData?.application_role === ApplicationRoleEnum.Doctor; return hasDoctorRole && hasTotpFactor; - }, [user, personalAccountData, hasTotpFactor]); + }, [personalAccountData, hasTotpFactor]); return ( diff --git a/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx b/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx deleted file mode 100644 index 08cd4a5..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx +++ /dev/null @@ -1,208 +0,0 @@ -'use client'; - -import { useTranslation } from 'react-i18next'; - -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@kit/ui/card'; -import { If } from '@kit/ui/if'; -import { LanguageSelector } from '@kit/ui/language-selector'; -import { LoadingOverlay } from '@kit/ui/loading-overlay'; -import { Trans } from '@kit/ui/trans'; - -import { usePersonalAccountData } from '../../hooks/use-personal-account-data'; -import { AccountDangerZone } from './account-danger-zone'; -import ConsentToggle from './consent/consent-toggle'; -import { UpdateEmailFormContainer } from './email/update-email-form-container'; -import { MultiFactorAuthFactorsList } from './mfa/multi-factor-auth-list'; -import { UpdatePasswordFormContainer } from './password/update-password-container'; -import { UpdateAccountDetailsFormContainer } from './update-account-details-form-container'; -import { UpdateAccountImageContainer } from './update-account-image-container'; - -export function PersonalAccountSettingsContainer( - props: React.PropsWithChildren<{ - userId: string; - - features: { - enableAccountDeletion: boolean; - enablePasswordUpdate: boolean; - }; - - paths: { - callback: string; - }; - }>, -) { - const supportsLanguageSelection = useSupportMultiLanguage(); - const user = usePersonalAccountData(props.userId); - - if (!user.data || user.isPending) { - return ; - } - - return ( -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

- -

- - - - -
- -
-
-
- - - - - - - - - - - - - - - - - - -
- ); -} - -function useSupportMultiLanguage() { - const { i18n } = useTranslation(); - const langs = (i18n?.options?.supportedLngs as string[]) ?? []; - - const supportedLangs = langs.filter((lang) => lang !== 'cimode'); - - return supportedLangs.length > 1; -} diff --git a/packages/features/accounts/src/components/personal-account-settings/consent/consent-toggle.tsx b/packages/features/accounts/src/components/personal-account-settings/consent/consent-toggle.tsx deleted file mode 100644 index 9c8cbd5..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/consent/consent-toggle.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { useState } from 'react'; - -import { toast } from 'sonner'; - -import { Switch } from '@kit/ui/switch'; -import { Trans } from '@kit/ui/trans'; - -import { useRevalidatePersonalAccountDataQuery } from '../../../hooks/use-personal-account-data'; -import { useUpdateAccountData } from '../../../hooks/use-update-account'; - -// This is temporary. When the profile views are ready, all account values included in the form will be updated together on form submit. -export default function ConsentToggle({ - userId, - initialState, -}: { - userId: string; - initialState: boolean; -}) { - const [isConsent, setIsConsent] = useState(initialState); - const updateAccountMutation = useUpdateAccountData(userId); - const revalidateUserDataQuery = useRevalidatePersonalAccountDataQuery(); - - const updateConsent = (consent: boolean) => { - const promise = updateAccountMutation - .mutateAsync({ - has_consent_anonymized_company_statistics: consent, - }) - .then(() => { - revalidateUserDataQuery(userId); - }); - - return toast.promise(() => promise, { - success: , - error: , - loading: , - }); - }; - return ( - updateConsent(!isConsent)} - disabled={updateAccountMutation.isPending} - /> - ); -} diff --git a/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-list.tsx b/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-list.tsx index 87ea95a..3256a3f 100644 --- a/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-list.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-list.tsx @@ -12,6 +12,7 @@ import { toast } from 'sonner'; import { useFetchAuthFactors } from '@kit/supabase/hooks/use-fetch-mfa-factors'; import { useSupabase } from '@kit/supabase/hooks/use-supabase'; +import { useUser } from '@kit/supabase/hooks/use-user'; import { useFactorsMutationKey } from '@kit/supabase/hooks/use-user-factors-mutation-key'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; import { @@ -46,13 +47,18 @@ import { Trans } from '@kit/ui/trans'; import { MultiFactorAuthSetupDialog } from './multi-factor-auth-setup-dialog'; -export function MultiFactorAuthFactorsList(props: { userId: string }) { +export function MultiFactorAuthFactorsList() { + const { data: user } = useUser(); + if (!user?.id) { + return null; + } + return (
- +
- +
); diff --git a/packages/features/accounts/src/components/personal-account-settings/password/update-password-container.tsx b/packages/features/accounts/src/components/personal-account-settings/password/update-password-container.tsx deleted file mode 100644 index 857b19d..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/password/update-password-container.tsx +++ /dev/null @@ -1,42 +0,0 @@ -'use client'; - -import { useUser } from '@kit/supabase/hooks/use-user'; -import { Alert } from '@kit/ui/alert'; -import { LoadingOverlay } from '@kit/ui/loading-overlay'; -import { Trans } from '@kit/ui/trans'; - -import { UpdatePasswordForm } from './update-password-form'; - -export function UpdatePasswordFormContainer( - props: React.PropsWithChildren<{ - callbackPath: string; - }>, -) { - const { data: user, isPending } = useUser(); - - if (isPending) { - return ; - } - - if (!user) { - return null; - } - - const canUpdatePassword = user.identities?.some( - (item) => item.provider === `email`, - ); - - if (!canUpdatePassword) { - return ; - } - - return ; -} - -function WarnCannotUpdatePasswordAlert() { - return ( - - - - ); -} diff --git a/packages/features/accounts/src/components/personal-account-settings/password/update-password-form.tsx b/packages/features/accounts/src/components/personal-account-settings/password/update-password-form.tsx deleted file mode 100644 index 1df1bd0..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/password/update-password-form.tsx +++ /dev/null @@ -1,206 +0,0 @@ -'use client'; - -import { useState } from 'react'; - -import type { User } from '@supabase/supabase-js'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { ExclamationTriangleIcon } from '@radix-ui/react-icons'; -import { Check } from 'lucide-react'; -import { useForm } from 'react-hook-form'; -import { useTranslation } from 'react-i18next'; -import { toast } from 'sonner'; - -import { useUpdateUser } from '@kit/supabase/hooks/use-update-user-mutation'; -import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; -import { Button } from '@kit/ui/button'; -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from '@kit/ui/form'; -import { If } from '@kit/ui/if'; -import { Input } from '@kit/ui/input'; -import { Label } from '@kit/ui/label'; -import { Trans } from '@kit/ui/trans'; - -import { PasswordUpdateSchema } from '../../../schema/update-password.schema'; - -export const UpdatePasswordForm = ({ - user, - callbackPath, -}: { - user: User; - callbackPath: string; -}) => { - const { t } = useTranslation('account'); - const updateUserMutation = useUpdateUser(); - const [needsReauthentication, setNeedsReauthentication] = useState(false); - - const updatePasswordFromCredential = (password: string) => { - const redirectTo = [window.location.origin, callbackPath].join(''); - - const promise = updateUserMutation - .mutateAsync({ password, redirectTo }) - .catch((error) => { - if ( - typeof error === 'string' && - error?.includes('Password update requires reauthentication') - ) { - setNeedsReauthentication(true); - } else { - throw error; - } - }); - - toast.promise(() => promise, { - success: t(`updatePasswordSuccess`), - error: t(`updatePasswordError`), - loading: t(`updatePasswordLoading`), - }); - }; - - const updatePasswordCallback = async ({ - newPassword, - }: { - newPassword: string; - }) => { - const email = user.email; - - // if the user does not have an email assigned, it's possible they - // don't have an email/password factor linked, and the UI is out of sync - if (!email) { - return Promise.reject(t(`cannotUpdatePassword`)); - } - - updatePasswordFromCredential(newPassword); - }; - - const form = useForm({ - resolver: zodResolver( - PasswordUpdateSchema.withTranslation(t('passwordNotMatching')), - ), - defaultValues: { - newPassword: '', - repeatPassword: '', - }, - }); - - return ( -
- -
- - - - - - - - - { - return ( - - - - - - - - - - - - ); - }} - /> - - { - return ( - - - - - - - - - - - - - - - - ); - }} - /> - -
- -
-
-
- - ); -}; - -function SuccessAlert() { - return ( - - - - - - - - - - - - ); -} - -function NeedsReauthenticationAlert() { - return ( - - - - - - - - - - - - ); -} diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx deleted file mode 100644 index 23995df..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx +++ /dev/null @@ -1,23 +0,0 @@ -'use client'; - -import { useRevalidatePersonalAccountDataQuery } from '../../hooks/use-personal-account-data'; -import { UpdateAccountDetailsForm } from './update-account-details-form'; - -export function UpdateAccountDetailsFormContainer({ - user, -}: { - user: { - name: string | null; - id: string; - }; -}) { - const revalidateUserDataQuery = useRevalidatePersonalAccountDataQuery(); - - return ( - revalidateUserDataQuery(user.id)} - /> - ); -} diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx deleted file mode 100644 index 8f9dbc8..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { zodResolver } from '@hookform/resolvers/zod'; -import { useForm } from 'react-hook-form'; -import { useTranslation } from 'react-i18next'; -import { toast } from 'sonner'; - -import { Database } from '@kit/supabase/database'; -import { Button } from '@kit/ui/button'; -import { - Form, - FormControl, - FormField, - FormItem, - FormLabel, - FormMessage, -} from '@kit/ui/form'; -import { Input } from '@kit/ui/input'; -import { Trans } from '@kit/ui/trans'; - -import { useUpdateAccountData } from '../../hooks/use-update-account'; -import { AccountDetailsSchema } from '../../schema/account-details.schema'; - -type UpdateUserDataParams = - Database['medreport']['Tables']['accounts']['Update']; - -export function UpdateAccountDetailsForm({ - displayName, - onUpdate, - userId, -}: { - displayName: string; - userId: string; - onUpdate: (user: Partial) => void; -}) { - const updateAccountMutation = useUpdateAccountData(userId); - const { t } = useTranslation('account'); - - const form = useForm({ - resolver: zodResolver(AccountDetailsSchema), - defaultValues: { - displayName, - }, - }); - - const onSubmit = ({ displayName }: { displayName: string }) => { - const data = { name: displayName }; - - const promise = updateAccountMutation.mutateAsync(data).then(() => { - onUpdate(data); - }); - - return toast.promise(() => promise, { - success: t(`updateProfileSuccess`), - error: t(`updateProfileError`), - loading: t(`updateProfileLoading`), - }); - }; - - return ( -
-
- - ( - - - - - - - - - - - - )} - /> - -
- -
- - -
- ); -} diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx deleted file mode 100644 index 93eac80..0000000 --- a/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx +++ /dev/null @@ -1,168 +0,0 @@ -'use client'; - -import { useCallback } from 'react'; - -import type { SupabaseClient } from '@supabase/supabase-js'; - -import { useTranslation } from 'react-i18next'; -import { toast } from 'sonner'; - -import { Database } from '@kit/supabase/database'; -import { useSupabase } from '@kit/supabase/hooks/use-supabase'; -import { ImageUploader } from '@kit/ui/image-uploader'; -import { Trans } from '@kit/ui/trans'; - -import { useRevalidatePersonalAccountDataQuery } from '../../hooks/use-personal-account-data'; - -const AVATARS_BUCKET = 'account_image'; - -export function UpdateAccountImageContainer({ - user, -}: { - user: { - pictureUrl: string | null; - id: string; - }; -}) { - const revalidateUserDataQuery = useRevalidatePersonalAccountDataQuery(); - - return ( - revalidateUserDataQuery(user.id)} - /> - ); -} - -function UploadProfileAvatarForm(props: { - pictureUrl: string | null; - userId: string; - onAvatarUpdated: () => void; -}) { - const client = useSupabase(); - const { t } = useTranslation('account'); - - const createToaster = useCallback( - (promise: () => Promise) => { - return toast.promise(promise, { - success: t(`updateProfileSuccess`), - error: t(`updateProfileError`), - loading: t(`updateProfileLoading`), - }); - }, - [t], - ); - - const onValueChange = useCallback( - (file: File | null) => { - const removeExistingStorageFile = () => { - if (props.pictureUrl) { - return ( - deleteProfilePhoto(client, props.pictureUrl) ?? Promise.resolve() - ); - } - - return Promise.resolve(); - }; - - if (file) { - const promise = () => - removeExistingStorageFile().then(() => - uploadUserProfilePhoto(client, file, props.userId) - .then((pictureUrl) => { - return client - .schema('medreport') - .from('accounts') - .update({ - picture_url: pictureUrl, - }) - .eq('id', props.userId) - .throwOnError(); - }) - .then(() => { - props.onAvatarUpdated(); - }), - ); - - createToaster(promise); - } else { - const promise = () => - removeExistingStorageFile() - .then(() => { - return client - .schema('medreport') - .from('accounts') - .update({ - picture_url: null, - }) - .eq('id', props.userId) - .throwOnError(); - }) - .then(() => { - props.onAvatarUpdated(); - }); - - createToaster(promise); - } - }, - [client, createToaster, props], - ); - - return ( - -
- - - - - - - -
-
- ); -} - -function deleteProfilePhoto(client: SupabaseClient, url: string) { - const bucket = client.storage.from(AVATARS_BUCKET); - const fileName = url.split('/').pop()?.split('?')[0]; - - if (!fileName) { - return; - } - - return bucket.remove([fileName]); -} - -async function uploadUserProfilePhoto( - client: SupabaseClient, - photoFile: File, - userId: string, -) { - const bytes = await photoFile.arrayBuffer(); - const bucket = client.storage.from(AVATARS_BUCKET); - const extension = photoFile.name.split('.').pop(); - const fileName = await getAvatarFileName(userId, extension); - - const result = await bucket.upload(fileName, bytes); - - if (!result.error) { - return bucket.getPublicUrl(fileName).data.publicUrl; - } - - throw result.error; -} - -async function getAvatarFileName( - userId: string, - extension: string | undefined, -) { - const { nanoid } = await import('nanoid'); - - // we add a version to the URL to ensure - // the browser always fetches the latest image - const uniqueId = nanoid(16); - - return `${userId}.${extension}?v=${uniqueId}`; -} diff --git a/packages/features/accounts/src/server/api.ts b/packages/features/accounts/src/server/api.ts index 336797d..4c9e467 100644 --- a/packages/features/accounts/src/server/api.ts +++ b/packages/features/accounts/src/server/api.ts @@ -2,19 +2,19 @@ import { SupabaseClient } from '@supabase/supabase-js'; import { Database } from '@kit/supabase/database'; -import { - AnalysisResultDetails, - UserAnalysis, - UserAnalysisResponse, -} from '../types/accounts'; +import { AnalysisResultDetails, UserAnalysis } from '../types/accounts'; export type AccountWithParams = Database['medreport']['Tables']['accounts']['Row'] & { - account_params: - | Pick< + accountParams: + | (Pick< Database['medreport']['Tables']['account_params']['Row'], 'weight' | 'height' - >[] + > & { + isSmoker: + | Database['medreport']['Tables']['account_params']['Row']['is_smoker'] + | null; + }) | null; }; @@ -35,7 +35,9 @@ class AccountsApi { const { data, error } = await this.client .schema('medreport') .from('accounts') - .select('*, account_params: account_params (weight, height)') + .select( + '*, accountParams: account_params (weight, height, isSmoker:is_smoker)', + ) .eq('id', id) .single(); diff --git a/packages/features/admin/src/lib/server/schema/create-company.schema.ts b/packages/features/admin/src/lib/server/schema/create-company.schema.ts index 2fae4fe..42ef6cb 100644 --- a/packages/features/admin/src/lib/server/schema/create-company.schema.ts +++ b/packages/features/admin/src/lib/server/schema/create-company.schema.ts @@ -32,9 +32,8 @@ const SPECIAL_CHARACTERS_REGEX = /[!@#$%^&*()+=[\]{};':"\\|,.<>/?]/; * @name CompanyNameSchema */ export const CompanyNameSchema = z - .string({ - description: 'The name of the company account', - }) + .string() + .describe('The name of the company account') .min(2) .max(50) .refine( diff --git a/packages/features/doctor/src/lib/server/services/doctor-analysis.service.ts b/packages/features/doctor/src/lib/server/services/doctor-analysis.service.ts index 95790ba..c835c76 100644 --- a/packages/features/doctor/src/lib/server/services/doctor-analysis.service.ts +++ b/packages/features/doctor/src/lib/server/services/doctor-analysis.service.ts @@ -410,7 +410,7 @@ export async function getAnalysisResultsForDoctor( .from('accounts') .select( `primary_owner_user_id, id, name, last_name, personal_code, phone, email, preferred_locale, - account_params(height,weight)`, + accountParams:account_params(height,weight)`, ) .eq('is_personal_account', true) .eq('primary_owner_user_id', userId) @@ -472,7 +472,7 @@ export async function getAnalysisResultsForDoctor( last_name, personal_code, phone, - account_params, + accountParams, preferred_locale, } = accountWithParams[0]; @@ -513,8 +513,8 @@ export async function getAnalysisResultsForDoctor( personalCode: personal_code, phone, email, - height: account_params?.[0]?.height, - weight: account_params?.[0]?.weight, + height: accountParams?.height, + weight: accountParams?.weight, }, }; } diff --git a/packages/features/team-accounts/src/server/services/webhooks/account-invitations-webhook.service.ts b/packages/features/team-accounts/src/server/services/webhooks/account-invitations-webhook.service.ts index 2edd142..df4a2ce 100644 --- a/packages/features/team-accounts/src/server/services/webhooks/account-invitations-webhook.service.ts +++ b/packages/features/team-accounts/src/server/services/webhooks/account-invitations-webhook.service.ts @@ -17,22 +17,22 @@ const env = z .object({ invitePath: z .string({ - required_error: 'The property invitePath is required', + error: 'The property invitePath is required', }) .min(1), siteURL: z .string({ - required_error: 'NEXT_PUBLIC_SITE_URL is required', + error: 'NEXT_PUBLIC_SITE_URL is required', }) .min(1), productName: z .string({ - required_error: 'NEXT_PUBLIC_PRODUCT_NAME is required', + error: 'NEXT_PUBLIC_PRODUCT_NAME is required', }) .min(1), emailSender: z .string({ - required_error: 'EMAIL_SENDER is required', + error: 'EMAIL_SENDER is required', }) .min(1), }) diff --git a/packages/features/team-accounts/src/server/services/webhooks/account-webhooks.service.ts b/packages/features/team-accounts/src/server/services/webhooks/account-webhooks.service.ts index 65fce16..9bdc5a3 100644 --- a/packages/features/team-accounts/src/server/services/webhooks/account-webhooks.service.ts +++ b/packages/features/team-accounts/src/server/services/webhooks/account-webhooks.service.ts @@ -78,7 +78,7 @@ class AccountWebhooksService { productName: z.string(), fromEmail: z .string({ - required_error: 'EMAIL_SENDER is required', + error: 'EMAIL_SENDER is required', }) .min(1), }) diff --git a/packages/mailers/resend/src/index.ts b/packages/mailers/resend/src/index.ts index 8bd067f..9f27605 100644 --- a/packages/mailers/resend/src/index.ts +++ b/packages/mailers/resend/src/index.ts @@ -8,9 +8,9 @@ type Config = z.infer; const RESEND_API_KEY = z .string({ - description: 'The API key for the Resend API', - required_error: 'Please provide the API key for the Resend API', + error: 'Please provide the API key for the Resend API', }) + .describe('The API key for the Resend API') .parse(process.env.RESEND_API_KEY); export function createResendMailer() { diff --git a/packages/mailers/shared/src/schema/smtp-config.schema.ts b/packages/mailers/shared/src/schema/smtp-config.schema.ts index 9a50949..5eeda0a 100644 --- a/packages/mailers/shared/src/schema/smtp-config.schema.ts +++ b/packages/mailers/shared/src/schema/smtp-config.schema.ts @@ -4,25 +4,19 @@ import { z } from 'zod'; export const SmtpConfigSchema = z.object({ user: z.string({ - description: - 'This is the email account to send emails from. This is specific to the email provider.', - required_error: `Please provide the variable EMAIL_USER`, - }), + error: `Please provide the variable EMAIL_USER`, + }) + .describe('This is the email account to send emails from. This is specific to the email provider.'), pass: z.string({ - description: 'This is the password for the email account', - required_error: `Please provide the variable EMAIL_PASSWORD`, - }), + error: `Please provide the variable EMAIL_PASSWORD`, + }).describe('This is the password for the email account'), host: z.string({ - description: 'This is the SMTP host for the email provider', - required_error: `Please provide the variable EMAIL_HOST`, - }), + error: `Please provide the variable EMAIL_HOST`, + }).describe('This is the SMTP host for the email provider'), port: z.number({ - description: - 'This is the port for the email provider. Normally 587 or 465.', - required_error: `Please provide the variable EMAIL_PORT`, - }), + error: `Please provide the variable EMAIL_PORT`, + }).describe('This is the port for the email provider. Normally 587 or 465.'), secure: z.boolean({ - description: 'This is whether the connection is secure or not', - required_error: `Please provide the variable EMAIL_TLS`, - }), + error: `Please provide the variable EMAIL_TLS`, + }).describe('This is whether the connection is secure or not'), }); diff --git a/packages/monitoring/baselime/src/services/baselime-server-monitoring.service.ts b/packages/monitoring/baselime/src/services/baselime-server-monitoring.service.ts index c0172d5..9f5c9c1 100644 --- a/packages/monitoring/baselime/src/services/baselime-server-monitoring.service.ts +++ b/packages/monitoring/baselime/src/services/baselime-server-monitoring.service.ts @@ -4,9 +4,9 @@ import { MonitoringService } from '@kit/monitoring-core'; const apiKey = z .string({ - required_error: 'NEXT_PUBLIC_BASELIME_KEY is required', - description: 'The Baseline API key', + error: 'NEXT_PUBLIC_BASELIME_KEY is required', }) + .describe('The Baseline API key') .parse(process.env.NEXT_PUBLIC_BASELIME_KEY); export class BaselimeServerMonitoringService implements MonitoringService { diff --git a/packages/otp/src/server/otp-email.service.ts b/packages/otp/src/server/otp-email.service.ts index fc14fb0..bc38771 100644 --- a/packages/otp/src/server/otp-email.service.ts +++ b/packages/otp/src/server/otp-email.service.ts @@ -6,14 +6,14 @@ import { getLogger } from '@kit/shared/logger'; const EMAIL_SENDER = z .string({ - required_error: 'EMAIL_SENDER is required', + error: 'EMAIL_SENDER is required', }) .min(1) .parse(process.env.EMAIL_SENDER); const PRODUCT_NAME = z .string({ - required_error: 'PRODUCT_NAME is required', + error: 'PRODUCT_NAME is required', }) .min(1) .parse(process.env.NEXT_PUBLIC_PRODUCT_NAME); diff --git a/packages/shared/src/components/select-analysis-package.tsx b/packages/shared/src/components/select-analysis-package.tsx index 9f87183..ef05d0a 100644 --- a/packages/shared/src/components/select-analysis-package.tsx +++ b/packages/shared/src/components/select-analysis-package.tsx @@ -21,6 +21,7 @@ import { import { Trans } from '@kit/ui/trans'; import { ButtonTooltip } from './ui/button-tooltip'; import { PackageHeader } from './package-header'; +import { pathsConfig } from '../config'; export type AnalysisPackageWithVariant = Pick & { variantId: string; @@ -57,7 +58,7 @@ export default function SelectAnalysisPackage({ }); setIsAddingToCart(false); toast.success(); - router.push('/home/cart'); + router.push(pathsConfig.app.cart); } catch (e) { toast.error(); setIsAddingToCart(false); diff --git a/packages/shared/src/components/sign-out-dropdown-item.tsx b/packages/shared/src/components/sign-out-dropdown-item.tsx new file mode 100644 index 0000000..b2dc034 --- /dev/null +++ b/packages/shared/src/components/sign-out-dropdown-item.tsx @@ -0,0 +1,24 @@ +'use client' + +import { DropdownMenuItem } from "@kit/ui/dropdown-menu"; +import { Trans } from "@kit/ui/trans"; +import { LogOut } from "lucide-react"; + +export default function SignOutDropdownItem( + props: React.PropsWithChildren<{ + onSignOut: () => unknown; + }>, +) { + return ( + + + + + + + + ); +} diff --git a/packages/shared/src/components/ui/dropdown-link.tsx b/packages/shared/src/components/ui/dropdown-link.tsx new file mode 100644 index 0000000..be5be74 --- /dev/null +++ b/packages/shared/src/components/ui/dropdown-link.tsx @@ -0,0 +1,33 @@ +'use client' + +import { DropdownMenuItem } from "@kit/ui/dropdown-menu"; +import { Trans } from "@kit/ui/trans"; +import Link from "next/link"; + +export default function DropdownLink( + props: React.PropsWithChildren<{ + path: string; + label: string; + labelOptions?: Record; + Icon?: React.ReactNode; + }>, +) { + return ( + + + {props.Icon} + + + + + + + ); +} \ No newline at end of file diff --git a/packages/shared/src/config/app.config.ts b/packages/shared/src/config/app.config.ts index 7c9c6ca..67a9971 100644 --- a/packages/shared/src/config/app.config.ts +++ b/packages/shared/src/config/app.config.ts @@ -6,32 +6,30 @@ const AppConfigSchema = z .object({ name: z .string({ - description: `This is the name of your SaaS. Ex. "Makerkit"`, - required_error: `Please provide the variable NEXT_PUBLIC_PRODUCT_NAME`, + error: `Please provide the variable NEXT_PUBLIC_PRODUCT_NAME`, }) + .describe(`This is the name of your SaaS. Ex. "Makerkit"`) .min(1), title: z .string({ - description: `This is the default title tag of your SaaS.`, - required_error: `Please provide the variable NEXT_PUBLIC_SITE_TITLE`, + error: `Please provide the variable NEXT_PUBLIC_SITE_TITLE`, }) + .describe(`This is the default title tag of your SaaS.`) .min(1), description: z.string({ - description: `This is the default description of your SaaS.`, - required_error: `Please provide the variable NEXT_PUBLIC_SITE_DESCRIPTION`, + error: `Please provide the variable NEXT_PUBLIC_SITE_DESCRIPTION`, + }) + .describe(`This is the default description of your SaaS.`), + url: z.url({ + error: (issue) => issue.input === undefined + ? "Please provide the variable NEXT_PUBLIC_SITE_URL" + : `You are deploying a production build but have entered a NEXT_PUBLIC_SITE_URL variable using http instead of https. It is very likely that you have set the incorrect URL. The build will now fail to prevent you from from deploying a faulty configuration. Please provide the variable NEXT_PUBLIC_SITE_URL with a valid URL, such as: 'https://example.com'` }), - url: z - .string({ - required_error: `Please provide the variable NEXT_PUBLIC_SITE_URL`, - }) - .url({ - message: `You are deploying a production build but have entered a NEXT_PUBLIC_SITE_URL variable using http instead of https. It is very likely that you have set the incorrect URL. The build will now fail to prevent you from from deploying a faulty configuration. Please provide the variable NEXT_PUBLIC_SITE_URL with a valid URL, such as: 'https://example.com'`, - }), locale: z .string({ - description: `This is the default locale of your SaaS.`, - required_error: `Please provide the variable NEXT_PUBLIC_DEFAULT_LOCALE`, + error: `Please provide the variable NEXT_PUBLIC_DEFAULT_LOCALE`, }) + .describe(`This is the default locale of your SaaS.`) .default('en'), theme: z.enum(['light', 'dark', 'system']), production: z.boolean(), diff --git a/packages/shared/src/config/auth.config.ts b/packages/shared/src/config/auth.config.ts index 44d2069..9e73291 100644 --- a/packages/shared/src/config/auth.config.ts +++ b/packages/shared/src/config/auth.config.ts @@ -6,22 +6,14 @@ const providers: z.ZodType = getProviders(); const AuthConfigSchema = z.object({ captchaTokenSiteKey: z - .string({ - description: 'The reCAPTCHA site key.', - }) + .string().describe('The reCAPTCHA site key.') .optional(), displayTermsCheckbox: z - .boolean({ - description: 'Whether to display the terms checkbox during sign-up.', - }) + .boolean().describe('Whether to display the terms checkbox during sign-up.') .optional(), providers: z.object({ - password: z.boolean({ - description: 'Enable password authentication.', - }), - magicLink: z.boolean({ - description: 'Enable magic link authentication.', - }), + password: z.boolean().describe('Enable password authentication.'), + magicLink: z.boolean().describe('Enable magic link authentication.'), oAuth: providers.array(), }), }); diff --git a/packages/shared/src/config/feature-flags.config.ts b/packages/shared/src/config/feature-flags.config.ts index e73a9b0..bb38547 100644 --- a/packages/shared/src/config/feature-flags.config.ts +++ b/packages/shared/src/config/feature-flags.config.ts @@ -4,56 +4,56 @@ type LanguagePriority = 'user' | 'application'; const FeatureFlagsSchema = z.object({ enableThemeToggle: z.boolean({ - description: 'Enable theme toggle in the user interface.', - required_error: 'Provide the variable NEXT_PUBLIC_ENABLE_THEME_TOGGLE', - }), + error: 'Provide the variable NEXT_PUBLIC_ENABLE_THEME_TOGGLE', + }) + .describe( 'Enable theme toggle in the user interface.'), enableAccountDeletion: z.boolean({ - description: 'Enable personal account deletion.', - required_error: + error: 'Provide the variable NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_DELETION', - }), + }) + .describe('Enable personal account deletion.'), enableTeamDeletion: z.boolean({ - description: 'Enable team deletion.', - required_error: + error: 'Provide the variable NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS_DELETION', - }), + }) + .describe('Enable team deletion.'), enableTeamAccounts: z.boolean({ - description: 'Enable team accounts.', - required_error: 'Provide the variable NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS', - }), + error: 'Provide the variable NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS', + }) + .describe('Enable team accounts.'), enableTeamCreation: z.boolean({ - description: 'Enable team creation.', - required_error: + error: 'Provide the variable NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS_CREATION', - }), + }) + .describe('Enable team creation.'), enablePersonalAccountBilling: z.boolean({ - description: 'Enable personal account billing.', - required_error: + error: 'Provide the variable NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING', - }), + }) + .describe('Enable personal account billing.'), enableTeamAccountBilling: z.boolean({ - description: 'Enable team account billing.', - required_error: + error: 'Provide the variable NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS_BILLING', - }), + }) + .describe('Enable team account billing.'), languagePriority: z .enum(['user', 'application'], { - required_error: 'Provide the variable NEXT_PUBLIC_LANGUAGE_PRIORITY', - description: `If set to user, use the user's preferred language. If set to application, use the application's default language.`, + error: 'Provide the variable NEXT_PUBLIC_LANGUAGE_PRIORITY', }) + .describe(`If set to user, use the user's preferred language. If set to application, use the application's default language.`) .default('application'), enableNotifications: z.boolean({ - description: 'Enable notifications functionality', - required_error: 'Provide the variable NEXT_PUBLIC_ENABLE_NOTIFICATIONS', - }), + error: 'Provide the variable NEXT_PUBLIC_ENABLE_NOTIFICATIONS', + }) + .describe('Enable notifications functionality'), realtimeNotifications: z.boolean({ - description: 'Enable realtime for the notifications functionality', - required_error: 'Provide the variable NEXT_PUBLIC_REALTIME_NOTIFICATIONS', - }), + error: 'Provide the variable NEXT_PUBLIC_REALTIME_NOTIFICATIONS', + }) + .describe('Enable realtime for the notifications functionality'), enableVersionUpdater: z.boolean({ - description: 'Enable version updater', - required_error: 'Provide the variable NEXT_PUBLIC_ENABLE_VERSION_UPDATER', - }), + error: 'Provide the variable NEXT_PUBLIC_ENABLE_VERSION_UPDATER', + }) + .describe('Enable version updater'), }); const featureFlagsConfig = FeatureFlagsSchema.parse({ diff --git a/packages/shared/src/config/paths.config.ts b/packages/shared/src/config/paths.config.ts index 4e400e4..b3f4965 100644 --- a/packages/shared/src/config/paths.config.ts +++ b/packages/shared/src/config/paths.config.ts @@ -14,6 +14,7 @@ const PathsSchema = z.object({ }), app: z.object({ home: z.string().min(1), + cart: z.string().min(1), selectPackage: z.string().min(1), booking: z.string().min(1), bookingHandle: z.string().min(1), @@ -23,6 +24,8 @@ const PathsSchema = z.object({ orderAnalysis: z.string().min(1), orderHealthAnalysis: z.string().min(1), personalAccountSettings: z.string().min(1), + personalAccountPreferences: z.string().min(1), + personalAccountSecurity: z.string().min(1), personalAccountBilling: z.string().min(1), personalAccountBillingReturn: z.string().min(1), accountHome: z.string().min(1), @@ -54,7 +57,10 @@ const pathsConfig = PathsSchema.parse({ }, app: { home: '/home', + cart: '/home/cart', personalAccountSettings: '/home/settings', + personalAccountPreferences: '/home/settings/preferences', + personalAccountSecurity: '/home/settings/security', personalAccountBilling: '/home/billing', personalAccountBillingReturn: '/home/billing/return', accountHome: '/home/[account]', diff --git a/packages/shared/src/config/personal-account-navigation.config.tsx b/packages/shared/src/config/personal-account-navigation.config.tsx index ea5f2da..b77f19c 100644 --- a/packages/shared/src/config/personal-account-navigation.config.tsx +++ b/packages/shared/src/config/personal-account-navigation.config.tsx @@ -5,7 +5,6 @@ import { MousePointerClick, ShoppingCart, Stethoscope, - TestTube2, } from 'lucide-react'; import { z } from 'zod'; diff --git a/packages/supabase/src/database.types.ts b/packages/supabase/src/database.types.ts index 33eee12..a4f8cc1 100644 --- a/packages/supabase/src/database.types.ts +++ b/packages/supabase/src/database.types.ts @@ -199,7 +199,6 @@ export type Database = { changed_by: string created_at: string id: number - extra_data?: Json | null } Insert: { account_id: string @@ -207,7 +206,6 @@ export type Database = { changed_by: string created_at?: string id?: number - extra_data?: Json | null } Update: { account_id?: string @@ -215,7 +213,6 @@ export type Database = { changed_by?: string created_at?: string id?: number - extra_data?: Json | null } Relationships: [] } @@ -320,10 +317,10 @@ export type Database = { Functions: { graphql: { Args: { + extensions?: Json operationName?: string query?: string variables?: Json - extensions?: Json } Returns: Json } @@ -342,6 +339,7 @@ export type Database = { account_id: string height: number | null id: string + is_smoker: boolean | null recorded_at: string weight: number | null } @@ -349,6 +347,7 @@ export type Database = { account_id?: string height?: number | null id?: string + is_smoker?: boolean | null recorded_at?: string weight?: number | null } @@ -356,6 +355,7 @@ export type Database = { account_id?: string height?: number | null id?: string + is_smoker?: boolean | null recorded_at?: string weight?: number | null } @@ -363,21 +363,21 @@ export type Database = { { foreignKeyName: "account_params_account_id_fkey" columns: ["account_id"] - isOneToOne: false + isOneToOne: true referencedRelation: "accounts" referencedColumns: ["id"] }, { foreignKeyName: "account_params_account_id_fkey" columns: ["account_id"] - isOneToOne: false + isOneToOne: true referencedRelation: "user_account_workspace" referencedColumns: ["id"] }, { foreignKeyName: "account_params_account_id_fkey" columns: ["account_id"] - isOneToOne: false + isOneToOne: true referencedRelation: "user_accounts" referencedColumns: ["id"] }, @@ -1091,7 +1091,7 @@ export type Database = { price: number price_periods: string | null requires_payment: boolean - sync_id: string | null + sync_id: string updated_at: string | null } Insert: { @@ -1110,7 +1110,7 @@ export type Database = { price: number price_periods?: string | null requires_payment: boolean - sync_id?: string | null + sync_id: string updated_at?: string | null } Update: { @@ -1129,7 +1129,7 @@ export type Database = { price?: number price_periods?: string | null requires_payment?: boolean - sync_id?: string | null + sync_id?: string updated_at?: string | null } Relationships: [ @@ -1150,7 +1150,7 @@ export type Database = { doctor_user_id: string | null id: number status: Database["medreport"]["Enums"]["analysis_feedback_status"] - updated_at: string | null + updated_at: string updated_by: string | null user_id: string value: string | null @@ -1162,7 +1162,7 @@ export type Database = { doctor_user_id?: string | null id?: number status?: Database["medreport"]["Enums"]["analysis_feedback_status"] - updated_at?: string | null + updated_at?: string updated_by?: string | null user_id: string value?: string | null @@ -1174,7 +1174,7 @@ export type Database = { doctor_user_id?: string | null id?: number status?: Database["medreport"]["Enums"]["analysis_feedback_status"] - updated_at?: string | null + updated_at?: string updated_by?: string | null user_id?: string value?: string | null @@ -1257,34 +1257,6 @@ export type Database = { }, ] } - medipost_actions: { - Row: { - id: string - action: string - xml: string - has_analysis_results: boolean - created_at: string - medusa_order_id: string - response_xml: string - has_error: boolean - } - Insert: { - action: string - xml: string - has_analysis_results: boolean - medusa_order_id: string - response_xml: string - has_error: boolean - } - Update: { - action?: string - xml?: string - has_analysis_results?: boolean - medusa_order_id?: string - response_xml?: string - has_error?: boolean - } - } medreport_product_groups: { Row: { created_at: string @@ -1871,17 +1843,19 @@ export type Database = { } create_nonce: { Args: { - p_user_id?: string - p_purpose?: string p_expires_in_seconds?: number p_metadata?: Json - p_scopes?: string[] + p_purpose?: string p_revoke_previous?: boolean + p_scopes?: string[] + p_user_id?: string } Returns: Json } create_team_account: { - Args: { account_name: string; new_personal_code: string } + Args: + | { account_name: string } + | { account_name: string; new_personal_code: string } Returns: { application_role: Database["medreport"]["Enums"]["application_role"] city: string | null @@ -1908,34 +1882,34 @@ export type Database = { get_account_invitations: { Args: { account_slug: string } Returns: { - id: number - email: string account_id: string - invited_by: string - role: string created_at: string - updated_at: string + email: string expires_at: string - personal_code: string - inviter_name: string + id: number + invited_by: string inviter_email: string + inviter_name: string + personal_code: string + role: string + updated_at: string }[] } get_account_members: { Args: { account_slug: string } Returns: { - id: string - user_id: string account_id: string - role: string - role_hierarchy_level: number - primary_owner_user_id: string - name: string + created_at: string email: string + id: string + name: string personal_code: string picture_url: string - created_at: string + primary_owner_user_id: string + role: string + role_hierarchy_level: number updated_at: string + user_id: string }[] } get_config: { @@ -1945,20 +1919,11 @@ export type Database = { get_invitations_with_account_ids: { Args: { company_id: string; personal_codes: string[] } Returns: { + account_id: string invite_token: string personal_code: string - account_id: string }[] } - get_latest_medipost_dispatch_state_for_order: { - Args: { - medusa_order_id: string - } - Returns: { - has_success: boolean - action_date: string - } - } get_medipost_dispatch_tries: { Args: { p_medusa_order_id: string } Returns: number @@ -1985,17 +1950,17 @@ export type Database = { } has_more_elevated_role: { Args: { - target_user_id: string - target_account_id: string role_name: string + target_account_id: string + target_user_id: string } Returns: boolean } has_permission: { Args: { - user_id: string account_id: string permission_name: Database["medreport"]["Enums"]["app_permissions"] + user_id: string } Returns: boolean } @@ -2005,9 +1970,9 @@ export type Database = { } has_same_role_hierarchy_level: { Args: { - target_user_id: string - target_account_id: string role_name: string + target_account_id: string + target_user_id: string } Returns: boolean } @@ -2062,39 +2027,39 @@ export type Database = { team_account_workspace: { Args: { account_slug: string } Returns: { - id: string - name: string - picture_url: string - slug: string - role: string - role_hierarchy_level: number - primary_owner_user_id: string - subscription_status: Database["medreport"]["Enums"]["subscription_status"] - permissions: Database["medreport"]["Enums"]["app_permissions"][] account_role: string application_role: Database["medreport"]["Enums"]["application_role"] + id: string + name: string + permissions: Database["medreport"]["Enums"]["app_permissions"][] + picture_url: string + primary_owner_user_id: string + role: string + role_hierarchy_level: number + slug: string + subscription_status: Database["medreport"]["Enums"]["subscription_status"] }[] } transfer_team_account_ownership: { - Args: { target_account_id: string; new_owner_id: string } + Args: { new_owner_id: string; target_account_id: string } Returns: undefined } update_account: { Args: { - p_name: string - p_last_name: string - p_personal_code: string - p_phone: string p_city: string p_has_consent_personal_data: boolean + p_last_name: string + p_name: string + p_personal_code: string + p_phone: string p_uid: string } Returns: undefined } update_analysis_order_status: { Args: { - order_id: number medusa_order_id_param: string + order_id: number status_param: Database["medreport"]["Enums"]["analysis_order_status"] } Returns: { @@ -2109,14 +2074,14 @@ export type Database = { } upsert_order: { Args: { + billing_provider: Database["medreport"]["Enums"]["billing_provider"] + currency: string + line_items: Json + status: Database["medreport"]["Enums"]["payment_status"] target_account_id: string target_customer_id: string target_order_id: string - status: Database["medreport"]["Enums"]["payment_status"] - billing_provider: Database["medreport"]["Enums"]["billing_provider"] total_amount: number - currency: string - line_items: Json } Returns: { account_id: string @@ -2132,19 +2097,19 @@ export type Database = { } upsert_subscription: { Args: { - target_account_id: string - target_customer_id: string - target_subscription_id: string active: boolean - status: Database["medreport"]["Enums"]["subscription_status"] billing_provider: Database["medreport"]["Enums"]["billing_provider"] cancel_at_period_end: boolean currency: string - period_starts_at: string - period_ends_at: string line_items: Json - trial_starts_at?: string + period_ends_at: string + period_starts_at: string + status: Database["medreport"]["Enums"]["subscription_status"] + target_account_id: string + target_customer_id: string + target_subscription_id: string trial_ends_at?: string + trial_starts_at?: string } Returns: { account_id: string @@ -2165,31 +2130,16 @@ export type Database = { } verify_nonce: { Args: { - p_token: string - p_purpose: string - p_user_id?: string - p_required_scopes?: string[] - p_max_verification_attempts?: number p_ip?: unknown + p_max_verification_attempts?: number + p_purpose: string + p_required_scopes?: string[] + p_token: string p_user_agent?: string + p_user_id?: string } Returns: Json } - sync_analysis_results: { - } - send_medipost_test_response_for_order: { - Args: { - medusa_order_id: string - } - } - order_has_medipost_dispatch_error: { - Args: { - medusa_order_id: string - } - Returns: { - success: boolean - } - } } Enums: { analysis_feedback_status: "STARTED" | "DRAFT" | "COMPLETED" @@ -7918,9 +7868,9 @@ export type Database = { Functions: { has_permission: { Args: { - user_id: string account_id: string permission_name: Database["public"]["Enums"]["app_permissions"] + user_id: string } Returns: boolean } @@ -7970,21 +7920,25 @@ export type Database = { } } -type DefaultSchema = Database[Extract] +type DatabaseWithoutInternals = Omit + +type DefaultSchema = DatabaseWithoutInternals[Extract] export type Tables< DefaultSchemaTableNameOrOptions extends | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) - | { schema: keyof Database }, + | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { - schema: keyof Database + schema: keyof DatabaseWithoutInternals } - ? keyof (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & - Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) + ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) : never = never, -> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } - ? (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & - Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { Row: infer R } ? R @@ -8002,14 +7956,16 @@ export type Tables< export type TablesInsert< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] - | { schema: keyof Database }, + | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { - schema: keyof Database + schema: keyof DatabaseWithoutInternals } - ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, -> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } - ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Insert: infer I } ? I @@ -8025,14 +7981,16 @@ export type TablesInsert< export type TablesUpdate< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] - | { schema: keyof Database }, + | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { - schema: keyof Database + schema: keyof DatabaseWithoutInternals } - ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, -> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } - ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Update: infer U } ? U @@ -8048,14 +8006,16 @@ export type TablesUpdate< export type Enums< DefaultSchemaEnumNameOrOptions extends | keyof DefaultSchema["Enums"] - | { schema: keyof Database }, + | { schema: keyof DatabaseWithoutInternals }, EnumName extends DefaultSchemaEnumNameOrOptions extends { - schema: keyof Database + schema: keyof DatabaseWithoutInternals } - ? keyof Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] + ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] : never = never, -> = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database } - ? Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] +> = DefaultSchemaEnumNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] : never @@ -8063,14 +8023,16 @@ export type Enums< export type CompositeTypes< PublicCompositeTypeNameOrOptions extends | keyof DefaultSchema["CompositeTypes"] - | { schema: keyof Database }, + | { schema: keyof DatabaseWithoutInternals }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { - schema: keyof Database + schema: keyof DatabaseWithoutInternals } - ? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] + ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] : never = never, -> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database } - ? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] +> = PublicCompositeTypeNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] : never diff --git a/packages/supabase/src/get-service-role-key.ts b/packages/supabase/src/get-service-role-key.ts index 8ecc270..eaa5c00 100644 --- a/packages/supabase/src/get-service-role-key.ts +++ b/packages/supabase/src/get-service-role-key.ts @@ -13,7 +13,7 @@ const message = export function getServiceRoleKey() { return z .string({ - required_error: message, + error: message, }) .min(1, { message: message, diff --git a/packages/supabase/src/get-supabase-client-keys.ts b/packages/supabase/src/get-supabase-client-keys.ts index 6d8a531..49d5504 100644 --- a/packages/supabase/src/get-supabase-client-keys.ts +++ b/packages/supabase/src/get-supabase-client-keys.ts @@ -7,14 +7,14 @@ export function getSupabaseClientKeys() { return z .object({ url: z.string({ - description: `This is the URL of your hosted Supabase instance. Please provide the variable NEXT_PUBLIC_SUPABASE_URL.`, - required_error: `Please provide the variable NEXT_PUBLIC_SUPABASE_URL`, - }), + error: `Please provide the variable NEXT_PUBLIC_SUPABASE_URL`, + }) + .describe(`This is the URL of your hosted Supabase instance. Please provide the variable NEXT_PUBLIC_SUPABASE_URL.`), anonKey: z .string({ - description: `This is the anon key provided by Supabase. It is a public key used client-side. Please provide the variable NEXT_PUBLIC_SUPABASE_ANON_KEY.`, - required_error: `Please provide the variable NEXT_PUBLIC_SUPABASE_ANON_KEY`, + error: `Please provide the variable NEXT_PUBLIC_SUPABASE_ANON_KEY`, }) + .describe(`This is the anon key provided by Supabase. It is a public key used client-side. Please provide the variable NEXT_PUBLIC_SUPABASE_ANON_KEY.`) .min(1), }) .parse({ diff --git a/packages/ui/src/makerkit/navigation-config.schema.ts b/packages/ui/src/makerkit/navigation-config.schema.ts index 7023826..2fcbbeb 100644 --- a/packages/ui/src/makerkit/navigation-config.schema.ts +++ b/packages/ui/src/makerkit/navigation-config.schema.ts @@ -1,7 +1,10 @@ import { z } from 'zod'; const RouteMatchingEnd = z - .union([z.boolean(), z.function().args(z.string()).returns(z.boolean())]) + .union([ + z.boolean(), + z.function({ input: [z.string()], output: z.boolean() }), + ]) .default(false) .optional(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b2ab25..c7b691e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@edge-csrf/nextjs': specifier: 2.5.3-cloudflare-rc1 - version: 2.5.3-cloudflare-rc1(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 2.5.3-cloudflare-rc1(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@hookform/resolvers': specifier: ^5.1.1 - version: 5.1.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/accounts': specifier: workspace:* version: link:packages/features/accounts @@ -76,22 +76,22 @@ importers: version: 0.0.10(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4) '@makerkit/data-loader-supabase-nextjs': specifier: ^1.2.5 - version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@marsidev/react-turnstile': specifier: ^1.1.0 - version: 1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@medusajs/icons': specifier: ^2.8.6 - version: 2.8.6(react@19.1.0) + version: 2.10.1(react@19.1.0) '@medusajs/js-sdk': specifier: latest - version: 2.8.7(awilix@8.0.1) + version: 2.10.1(awilix@8.0.1) '@medusajs/ui': specifier: latest - version: 4.0.17(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 4.0.21(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.2) '@nosecone/next': specifier: 1.0.0-beta.7 - version: 1.0.0-beta.7(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 1.0.0-beta.7(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@radix-ui/react-icons': specifier: ^1.3.2 version: 1.3.2(react@19.1.0) @@ -112,7 +112,7 @@ importers: version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) axios: specifier: ^1.10.0 - version: 1.10.0 + version: 1.11.0 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -124,7 +124,7 @@ importers: version: 5.2.5 isikukood: specifier: 3.1.7 - version: 3.1.7(@babel/core@7.27.4)(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + version: 3.1.7(@babel/core@7.28.3)(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) jsonwebtoken: specifier: 9.0.2 version: 9.0.2 @@ -136,10 +136,10 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 4.2.3(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) next-themes: specifier: 0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -151,25 +151,25 @@ importers: version: 19.1.0(react@19.1.0) react-hook-form: specifier: ^7.58.0 - version: 7.58.0(react@19.1.0) + version: 7.62.0(react@19.1.0) react-i18next: specifier: ^15.5.3 - version: 15.5.3(i18next@25.1.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 15.7.3(i18next@25.1.3(typescript@5.9.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.2) recharts: specifier: 2.15.3 version: 2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) sonner: specifier: ^2.0.5 - version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tailwind-merge: specifier: ^3.3.1 version: 3.3.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.15.32)(typescript@5.8.3) + version: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) zod: - specifier: ^3.25.67 - version: 3.25.67 + specifier: ^4.1.5 + version: 4.1.5 devDependencies: '@kit/eslint-config': specifier: workspace:* @@ -182,25 +182,25 @@ importers: version: link:tooling/typescript '@medusajs/types': specifier: latest - version: 2.8.7(awilix@8.0.1) + version: 2.10.1(awilix@8.0.1) '@medusajs/ui-preset': specifier: latest - version: 2.8.7(tailwindcss@4.1.7) + version: 2.10.1(tailwindcss@4.1.7) '@next/bundle-analyzer': specifier: 15.3.2 version: 15.3.2 '@tailwindcss/postcss': specifier: ^4.1.10 - version: 4.1.10 + version: 4.1.12 '@types/jsonwebtoken': specifier: 9.0.10 version: 9.0.10 '@types/lodash': specifier: ^4.17.17 - version: 4.17.17 + version: 4.17.20 '@types/node': specifier: ^22.15.32 - version: 22.15.32 + version: 22.18.0 '@types/react': specifier: 19.1.4 version: 19.1.4 @@ -212,19 +212,19 @@ importers: version: 19.1.0-rc.2 cssnano: specifier: ^7.0.7 - version: 7.0.7(postcss@8.5.6) + version: 7.1.1(postcss@8.5.6) dotenv: specifier: ^16.5.0 - version: 16.5.0 + version: 16.6.1 pino-pretty: specifier: ^13.0.0 - version: 13.0.0 + version: 13.1.1 prettier: specifier: ^3.5.3 - version: 3.5.3 + version: 3.6.2 supabase: specifier: ^2.30.4 - version: 2.30.4 + version: 2.39.2 tailwindcss: specifier: 4.1.7 version: 4.1.7 @@ -233,10 +233,10 @@ importers: version: 1.0.7(tailwindcss@4.1.7) typescript: specifier: ^5.8.3 - version: 5.8.3 + version: 5.9.2 yup: specifier: ^1.6.1 - version: 1.6.1 + version: 1.7.0 packages/analytics: devDependencies: @@ -251,7 +251,7 @@ importers: version: link:../../tooling/typescript '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 packages/billing/core: devDependencies: @@ -275,7 +275,7 @@ importers: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/billing': specifier: workspace:* version: link:../core @@ -320,7 +320,7 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -357,7 +357,7 @@ importers: version: 19.1.4 next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -393,7 +393,7 @@ importers: version: 4.1.0 next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -402,13 +402,13 @@ importers: dependencies: '@stripe/react-stripe-js': specifier: ^3.7.0 - version: 3.7.0(@stripe/stripe-js@7.3.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 3.9.2(@stripe/stripe-js@7.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@stripe/stripe-js': specifier: ^7.3.0 - version: 7.3.1 + version: 7.9.0 stripe: specifier: ^18.1.0 - version: 18.2.1(@types/node@24.0.3) + version: 18.5.0(@types/node@24.3.0) devDependencies: '@kit/billing': specifier: workspace:* @@ -439,7 +439,7 @@ importers: version: 4.1.0 next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -469,19 +469,19 @@ importers: version: link:../wordpress '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 packages/cms/keystatic: dependencies: '@keystatic/core': specifier: 0.5.47 - version: 0.5.47(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 0.5.47(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@keystatic/next': specifier: ^5.0.4 - version: 5.0.4(@keystatic/core@0.5.47(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 5.0.4(@keystatic/core@0.5.47(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@markdoc/markdoc': specifier: ^0.5.1 - version: 0.5.2(@types/react@19.1.4)(react@19.1.0) + version: 0.5.4(@types/react@19.1.4)(react@19.1.0) devDependencies: '@kit/cms-types': specifier: workspace:* @@ -500,7 +500,7 @@ importers: version: link:../../ui '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 '@types/react': specifier: 19.1.4 version: 19.1.4 @@ -539,13 +539,13 @@ importers: version: link:../../ui '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 '@types/react': specifier: 19.1.4 version: 19.1.4 wp-types: specifier: ^4.68.0 - version: 4.68.0 + version: 4.68.1 packages/database-webhooks: devDependencies: @@ -610,7 +610,7 @@ importers: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/billing-gateway': specifier: workspace:* version: link:../../billing/gateway @@ -667,7 +667,7 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-themes: specifier: 0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -679,13 +679,13 @@ importers: version: 19.1.0(react@19.1.0) sonner: specifier: ^2.0.3 - version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) packages/features/admin: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/eslint-config': specifier: workspace:* version: link:../../../tooling/eslint @@ -712,7 +712,7 @@ importers: version: 0.0.10(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4) '@makerkit/data-loader-supabase-nextjs': specifier: ^1.2.5 - version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@supabase/supabase-js': specifier: 2.49.4 version: 2.49.4 @@ -730,7 +730,7 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -742,7 +742,7 @@ importers: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/eslint-config': specifier: workspace:* version: link:../../../tooling/eslint @@ -763,7 +763,7 @@ importers: version: link:../../ui '@marsidev/react-turnstile': specifier: ^1.1.0 - version: 1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-icons': specifier: ^1.3.2 version: 1.3.2(react@19.1.0) @@ -781,16 +781,16 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) sonner: specifier: ^2.0.3 - version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) packages/features/doctor: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.1.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/eslint-config': specifier: workspace:* version: link:../../../tooling/eslint @@ -817,7 +817,7 @@ importers: version: 0.0.10(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4) '@makerkit/data-loader-supabase-nextjs': specifier: ^1.2.5 - version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + version: 1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@supabase/supabase-js': specifier: 2.49.4 version: 2.49.4 @@ -835,7 +835,7 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -847,16 +847,16 @@ importers: dependencies: '@headlessui/react': specifier: ^2.2.0 - version: 2.2.4(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + version: 2.2.7(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) '@medusajs/js-sdk': specifier: latest - version: 2.8.7(awilix@8.0.1) + version: 2.10.1(awilix@8.0.1) '@medusajs/ui': specifier: latest - version: 4.0.17(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)(typescript@5.8.3) + version: 4.0.21(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)(typescript@5.9.2) '@radix-ui/react-accordion': specifier: ^1.2.1 - version: 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + version: 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) '@stripe/react-stripe-js': specifier: ^1.7.2 version: 1.16.5(@stripe/stripe-js@1.54.2)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) @@ -868,7 +868,7 @@ importers: version: 4.17.21 next: specifier: ^15.3.1 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + version: 15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) pg: specifier: ^8.11.3 version: 8.16.3 @@ -892,32 +892,32 @@ importers: version: 2.9.0 webpack: specifier: ^5 - version: 5.99.9 + version: 5.101.3 devDependencies: '@babel/core': specifier: ^7.17.5 - version: 7.27.4 + version: 7.28.3 '@medusajs/types': specifier: latest - version: 2.8.7(awilix@8.0.1) + version: 2.10.1(awilix@8.0.1) '@medusajs/ui-preset': specifier: latest - version: 2.8.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3))) + version: 2.10.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2))) '@types/lodash': specifier: ^4.14.195 - version: 4.17.17 + version: 4.17.20 '@types/node': specifier: 17.0.21 version: 17.0.21 '@types/pg': specifier: ^8.11.0 - version: 8.15.4 + version: 8.15.5 '@types/react': specifier: ^18.3.12 - version: 18.3.23 + version: 18.3.24 '@types/react-dom': specifier: ^18.3.1 - version: 18.3.7(@types/react@18.3.23) + version: 18.3.7(@types/react@18.3.24) '@types/react-instantsearch-dom': specifier: ^6.12.3 version: 6.12.9 @@ -929,13 +929,13 @@ importers: version: 10.4.21(postcss@8.5.6) babel-loader: specifier: ^8.2.3 - version: 8.4.1(@babel/core@7.27.4)(webpack@5.99.9) + version: 8.4.1(@babel/core@7.28.3)(webpack@5.101.3) eslint: specifier: 8.10.0 version: 8.10.0 eslint-config-next: specifier: 15.0.3 - version: 15.0.3(eslint@8.10.0)(typescript@5.8.3) + version: 15.0.3(eslint@8.10.0)(typescript@5.9.2) postcss: specifier: ^8.4.8 version: 8.5.6 @@ -944,10 +944,10 @@ importers: version: 2.8.8 tailwindcss: specifier: ^3.0.23 - version: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)) + version: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)) typescript: specifier: ^5.3.2 - version: 5.8.3 + version: 5.9.2 packages/features/notifications: devDependencies: @@ -993,7 +993,7 @@ importers: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/accounts': specifier: workspace:* version: link:../accounts @@ -1059,7 +1059,7 @@ importers: version: 0.510.0(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -1068,13 +1068,13 @@ importers: version: 19.1.0(react@19.1.0) sonner: specifier: ^2.0.3 - version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) packages/i18n: dependencies: i18next: specifier: 25.1.3 - version: 25.1.3(typescript@5.8.3) + version: 25.1.3(typescript@5.9.2) i18next-browser-languagedetector: specifier: 8.1.0 version: 8.1.0 @@ -1099,7 +1099,7 @@ importers: version: 5.76.1(react@19.1.0) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -1108,7 +1108,7 @@ importers: version: 19.1.0(react@19.1.0) react-i18next: specifier: ^15.5.3 - version: 15.5.3(i18next@25.1.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 15.7.3(i18next@25.1.3(typescript@5.9.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.2) packages/mailers/core: devDependencies: @@ -1135,13 +1135,13 @@ importers: version: link:../../../tooling/typescript '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 packages/mailers/nodemailer: dependencies: nodemailer: specifier: ^7.0.3 - version: 7.0.3 + version: 7.0.6 devDependencies: '@kit/eslint-config': specifier: workspace:* @@ -1175,7 +1175,7 @@ importers: version: link:../../../tooling/typescript '@types/node': specifier: ^22.15.18 - version: 22.15.30 + version: 22.18.0 packages/mailers/shared: devDependencies: @@ -1223,7 +1223,7 @@ importers: dependencies: '@baselime/node-opentelemetry': specifier: ^0.5.8 - version: 0.5.8(@trpc/server@11.3.1(typescript@5.8.3)) + version: 0.5.8(@trpc/server@11.3.1(typescript@5.9.2)) '@baselime/react-rum': specifier: ^0.3.1 version: 0.3.1(react@19.1.0) @@ -1269,7 +1269,7 @@ importers: dependencies: '@sentry/nextjs': specifier: ^9.19.0 - version: 9.27.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) + version: 9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.101.3) import-in-the-middle: specifier: 1.13.2 version: 1.13.2 @@ -1318,13 +1318,13 @@ importers: version: 2.49.4 next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) packages/otp: devDependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@kit/email-templates': specifier: workspace:* version: link:../email-templates @@ -1375,7 +1375,7 @@ importers: dependencies: pino: specifier: ^9.6.0 - version: 9.7.0 + version: 9.9.0 devDependencies: '@kit/eslint-config': specifier: workspace:* @@ -1415,7 +1415,7 @@ importers: version: 19.1.4 next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -1429,49 +1429,49 @@ importers: dependencies: '@hookform/resolvers': specifier: ^5.0.1 - version: 5.0.1(react-hook-form@7.58.0(react@19.1.0)) + version: 5.2.1(react-hook-form@7.62.0(react@19.1.0)) '@radix-ui/react-accordion': specifier: 1.2.10 version: 1.2.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-alert-dialog': specifier: ^1.1.13 - version: 1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-avatar': specifier: ^1.1.9 version: 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-checkbox': specifier: ^1.3.1 - version: 1.3.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.3.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-collapsible': specifier: 1.1.10 version: 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-dialog': specifier: ^1.1.13 - version: 1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-dropdown-menu': specifier: ^2.1.14 - version: 2.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.1.16(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-label': specifier: ^2.1.6 version: 2.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-navigation-menu': specifier: ^1.2.12 - version: 1.2.13(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.2.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-popover': specifier: ^1.1.13 - version: 1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-progress': specifier: ^1.1.6 version: 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-radio-group': specifier: ^1.3.6 - version: 1.3.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.3.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-scroll-area': specifier: ^1.2.8 - version: 1.2.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.2.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-select': specifier: ^2.2.4 - version: 2.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.2.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-separator': specifier: ^1.1.6 version: 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -1480,13 +1480,13 @@ importers: version: 1.2.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-switch': specifier: ^1.2.4 - version: 1.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.2.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-tabs': specifier: ^1.1.11 - version: 1.1.12(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.1.13(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-toast': specifier: ^1.2.13 - version: 1.2.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.2.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-tooltip': specifier: 1.2.6 version: 1.2.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -1510,7 +1510,7 @@ importers: version: 2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tailwind-merge: specifier: ^3.3.0 - version: 3.3.0 + version: 3.3.1 devDependencies: '@kit/eslint-config': specifier: workspace:* @@ -1544,22 +1544,22 @@ importers: version: 4.1.0 eslint: specifier: ^9.26.0 - version: 9.28.0(jiti@2.4.2) + version: 9.34.0(jiti@2.5.1) next: specifier: 15.3.2 - version: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-themes: specifier: 0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) prettier: specifier: ^3.5.3 - version: 3.5.3 + version: 3.6.2 react-day-picker: specifier: ^8.10.1 version: 8.10.1(date-fns@4.1.0)(react@19.1.0) sonner: specifier: ^2.0.3 - version: 2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tailwindcss: specifier: 4.1.7 version: 4.1.7 @@ -1568,7 +1568,7 @@ importers: version: 1.0.7(tailwindcss@4.1.7) typescript: specifier: ^5.8.3 - version: 5.8.3 + version: 5.9.2 tooling/eslint: dependencies: @@ -1580,13 +1580,13 @@ importers: version: 9.6.1 eslint-config-next: specifier: 15.3.2 - version: 15.3.2(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + version: 15.3.2(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) eslint-config-turbo: specifier: ^2.5.3 - version: 2.5.4(eslint@9.28.0(jiti@2.4.2))(turbo@2.5.4) + version: 2.5.6(eslint@9.34.0(jiti@2.5.1))(turbo@2.5.4) typescript-eslint: specifier: 8.32.1 - version: 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) devDependencies: '@kit/prettier-config': specifier: workspace:* @@ -1596,29 +1596,29 @@ importers: version: link:../typescript eslint: specifier: ^9.26.0 - version: 9.28.0(jiti@2.4.2) + version: 9.34.0(jiti@2.5.1) typescript: specifier: ^5.8.3 - version: 5.8.3 + version: 5.9.2 tooling/prettier: dependencies: '@trivago/prettier-plugin-sort-imports': specifier: 5.2.2 - version: 5.2.2(prettier@3.5.3) + version: 5.2.2(prettier@3.6.2) prettier: specifier: ^3.5.3 - version: 3.5.3 + version: 3.6.2 prettier-plugin-tailwindcss: specifier: ^0.6.11 - version: 0.6.12(@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3))(prettier@3.5.3) + version: 0.6.14(@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.6.2))(prettier@3.6.2) devDependencies: '@kit/tsconfig': specifier: workspace:* version: link:../typescript typescript: specifier: ^5.8.3 - version: 5.8.3 + version: 5.9.2 tooling/typescript: {} @@ -1703,24 +1703,32 @@ packages: resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} engines: {node: '>=6.9.0'} - '@babel/core@7.27.4': - resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} + '@babel/core@7.28.3': + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} engines: {node: '>=6.9.0'} '@babel/generator@7.27.5': resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.27.2': resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.27.1': resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.27.3': - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1741,8 +1749,8 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.6': - resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + '@babel/helpers@7.28.3': + resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} engines: {node: '>=6.9.0'} '@babel/parser@7.27.5': @@ -1750,6 +1758,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.3': + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -1853,10 +1866,18 @@ packages: resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.3': + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.2': + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + engines: {node: '>=6.9.0'} + '@baselime/node-opentelemetry@0.5.8': resolution: {integrity: sha512-wF3119LuxWLqCg1od6qHWqzz8fdod9HIB03Aa8EZNoxcGY7kxFXdDW8v1iz8jCx2bCRHw6ZYSL9Hpg8AwDnzyg==} peerDependencies: @@ -1896,6 +1917,9 @@ packages: '@emnapi/runtime@1.4.3': resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + '@emnapi/runtime@1.5.0': + resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + '@emnapi/wasi-threads@1.0.2': resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} @@ -1942,16 +1966,16 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.20.0': - resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.2': - resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + '@eslint/config-helpers@0.3.1': + resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.14.0': - resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@1.4.1': @@ -1962,30 +1986,42 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.28.0': - resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} + '@eslint/js@9.34.0': + resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.1': - resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.7.1': resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + '@floating-ui/dom@1.7.1': resolution: {integrity: sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==} + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + '@floating-ui/react-dom@2.1.3': resolution: {integrity: sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' + '@floating-ui/react-dom@2.1.6': + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + '@floating-ui/react@0.24.8': resolution: {integrity: sha512-AuYeDoaR8jtUlUXtZ1IJ/6jtBkGnSpJXbGNzokBL87VDJ8opMq1Bgrc0szhK482ReQY6KZsMoZCVSb4xwalkBA==} peerDependencies: @@ -1998,6 +2034,9 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@floating-ui/utils@0.2.9': resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} @@ -2030,20 +2069,15 @@ packages: engines: {node: '>=6'} hasBin: true - '@headlessui/react@2.2.4': - resolution: {integrity: sha512-lz+OGcAH1dK93rgSMzXmm1qKOJkBUqZf1L4M8TWLNplftQD3IkoEDdUFNfAn4ylsN6WOTVtWaLmvmaHOUk1dTA==} + '@headlessui/react@2.2.7': + resolution: {integrity: sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==} engines: {node: '>=10'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc - '@hookform/resolvers@5.0.1': - resolution: {integrity: sha512-u/+Jp83luQNx9AdyW2fIPGY6Y7NG68eN2ZW8FOJYL+M0i4s49+refdJdOp/A9n9HFQtQs3HIDHQvX3ZET2o7YA==} - peerDependencies: - react-hook-form: ^7.55.0 - - '@hookform/resolvers@5.1.1': - resolution: {integrity: sha512-J/NVING3LMAEvexJkyTLjruSm7aOFx7QX21pzkiJfMoNG0wl5aFEjLTl7ay7IQb9EWY6AkrBy7tHL2Alijpdcg==} + '@hookform/resolvers@5.2.1': + resolution: {integrity: sha512-u0+6X58gkjMcxur1wRWokA7XsiiBJ6aK17aPZxhkoYiK5J+HcTx0Vhu9ovXe6H+dVpO6cjrn2FkJTryXEMlryQ==} peerDependencies: react-hook-form: ^7.55.0 @@ -2082,116 +2116,238 @@ packages: cpu: [arm64] os: [darwin] + '@img/sharp-darwin-arm64@0.34.3': + resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + '@img/sharp-darwin-x64@0.34.2': resolution: {integrity: sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] + '@img/sharp-darwin-x64@0.34.3': + resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.1.0': resolution: {integrity: sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==} cpu: [arm64] os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.2.0': + resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} + cpu: [arm64] + os: [darwin] + '@img/sharp-libvips-darwin-x64@1.1.0': resolution: {integrity: sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==} cpu: [x64] os: [darwin] + '@img/sharp-libvips-darwin-x64@1.2.0': + resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-linux-arm64@1.1.0': resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} cpu: [arm64] os: [linux] + '@img/sharp-libvips-linux-arm64@1.2.0': + resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} + cpu: [arm64] + os: [linux] + '@img/sharp-libvips-linux-arm@1.1.0': resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} cpu: [arm] os: [linux] + '@img/sharp-libvips-linux-arm@1.2.0': + resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} + cpu: [arm] + os: [linux] + '@img/sharp-libvips-linux-ppc64@1.1.0': resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} cpu: [ppc64] os: [linux] + '@img/sharp-libvips-linux-ppc64@1.2.0': + resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==} + cpu: [ppc64] + os: [linux] + '@img/sharp-libvips-linux-s390x@1.1.0': resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} cpu: [s390x] os: [linux] + '@img/sharp-libvips-linux-s390x@1.2.0': + resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} + cpu: [s390x] + os: [linux] + '@img/sharp-libvips-linux-x64@1.1.0': resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} cpu: [x64] os: [linux] + '@img/sharp-libvips-linux-x64@1.2.0': + resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} + cpu: [x64] + os: [linux] + '@img/sharp-libvips-linuxmusl-arm64@1.1.0': resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} cpu: [arm64] os: [linux] + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} + cpu: [arm64] + os: [linux] + '@img/sharp-libvips-linuxmusl-x64@1.1.0': resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} cpu: [x64] os: [linux] + '@img/sharp-libvips-linuxmusl-x64@1.2.0': + resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} + cpu: [x64] + os: [linux] + '@img/sharp-linux-arm64@0.34.2': resolution: {integrity: sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + '@img/sharp-linux-arm64@0.34.3': + resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + '@img/sharp-linux-arm@0.34.2': resolution: {integrity: sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + '@img/sharp-linux-arm@0.34.3': + resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-ppc64@0.34.3': + resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + '@img/sharp-linux-s390x@0.34.2': resolution: {integrity: sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + '@img/sharp-linux-s390x@0.34.3': + resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + '@img/sharp-linux-x64@0.34.2': resolution: {integrity: sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + '@img/sharp-linux-x64@0.34.3': + resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + '@img/sharp-linuxmusl-arm64@0.34.2': resolution: {integrity: sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + '@img/sharp-linuxmusl-arm64@0.34.3': + resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + '@img/sharp-linuxmusl-x64@0.34.2': resolution: {integrity: sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + '@img/sharp-linuxmusl-x64@0.34.3': + resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + '@img/sharp-wasm32@0.34.2': resolution: {integrity: sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] + '@img/sharp-wasm32@0.34.3': + resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + '@img/sharp-win32-arm64@0.34.2': resolution: {integrity: sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] + '@img/sharp-win32-arm64@0.34.3': + resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + '@img/sharp-win32-ia32@0.34.2': resolution: {integrity: sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] + '@img/sharp-win32-ia32@0.34.3': + resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + '@img/sharp-win32-x64@0.34.2': resolution: {integrity: sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] + '@img/sharp-win32-x64@0.34.3': + resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@internationalized/date@3.8.2': resolution: {integrity: sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==} @@ -2286,10 +2442,16 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -2304,9 +2466,15 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.30': + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -2370,8 +2538,8 @@ packages: react: optional: true - '@markdoc/markdoc@0.5.2': - resolution: {integrity: sha512-clrqWpJ3+S8PXigRE+zBIs6LVZYXaJ7JTDFq1CcCWc4xpoB2kz+9qRUQQ4vXtLUjQ8ige1BGdMruV6gM/2gloA==} + '@markdoc/markdoc@0.5.4': + resolution: {integrity: sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ==} engines: {node: '>=14.7.0'} peerDependencies: '@types/react': '*' @@ -2382,28 +2550,23 @@ packages: react: optional: true - '@marsidev/react-turnstile@1.1.0': - resolution: {integrity: sha512-X7bP9ZYutDd+E+klPYF+/BJHqEyyVkN4KKmZcNRr84zs3DcMoftlMAuoKqNSnqg0HE7NQ1844+TLFSJoztCdSA==} + '@marsidev/react-turnstile@1.3.0': + resolution: {integrity: sha512-VO99Nynt+j4ETfMImQCj5LgbUKZ9mWPpy3RjP/3e/3vZu+FIphjEdU6g+cq4FeDoNshSxLlRzBTKcH5JMeM1GQ==} peerDependencies: react: ^17.0.2 || ^18.0.0 || ^19.0 react-dom: ^17.0.2 || ^18.0.0 || ^19.0 - '@medusajs/icons@2.8.6': - resolution: {integrity: sha512-k3X1nA1L0eoR30tfAzCxTtpaE1h28K2qmuNyangOoBJObHkaD+gNIi3AG+2iLlmIrByzfCgzP0JvhzrtFFha4Q==} + '@medusajs/icons@2.10.1': + resolution: {integrity: sha512-PYotv/QUJ1AxNDz7bLyIOVKoO28Ec03WjDOz1Dkv1oRPNsNivH1iqAlzn453NyWo0elr/S+W3S2MVHQiFFRG2w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - '@medusajs/icons@2.8.7': - resolution: {integrity: sha512-zGkAokqWBNJ1PcTktCPSMT5spIIjv8Pba88BXvfcbblG5cUbMSvvJ2v/BRODMFejQ9NqlboIeP0fo/9RzLpPHg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - - '@medusajs/js-sdk@2.8.7': - resolution: {integrity: sha512-ZGYMQOM7GHuKtxOvJ+wgKyC/fzLlyMu5nij4hIWIf2osZy7d6dpvEglcV6w9B0UgSEADJh1SZ7a22HOJdjjJ9A==} + '@medusajs/js-sdk@2.10.1': + resolution: {integrity: sha512-KOXSU56cFu58w85PxgnqJsxaYNmGVCh4a70pROc4709u/Z6eGx5RdbdOdksk5vwEDWqr4OlngFB8aYVzLpXX4w==} engines: {node: '>=20'} - '@medusajs/types@2.8.7': - resolution: {integrity: sha512-8m/H9KkDUQz4YD+XkD/C63RfE/2elcdWf5G/KOK2QViTK0Jsd/Iw8Yy+T60pm0Lq/QQ925AfGH/Ji8UYNXjT8g==} + '@medusajs/types@2.10.1': + resolution: {integrity: sha512-V4pRtwdCZQRnaXTgtTOD2EFOWaIz4Z59EMueGxHyepV/lST16hMNxzve3pf0KvqkWHSg8yGLMuXGwQDbfSYsIw==} engines: {node: '>=20'} peerDependencies: awilix: ^8.0.1 @@ -2415,13 +2578,13 @@ packages: vite: optional: true - '@medusajs/ui-preset@2.8.7': - resolution: {integrity: sha512-ro8BrYlqHh7iZvYKrxmJtLweJYYet+wYQQv0R3pyfxkkP0aQ09KDPo8yTwls11iuMC4cQHljekdaOyXtSR6ZiQ==} + '@medusajs/ui-preset@2.10.1': + resolution: {integrity: sha512-vm6Zz5qLf63Y18yQE9M+v+uVT2rSExGU8EeaN9wOh4Wbc3nMJ0aJBLag4utIlYBY5MIfMU5EHPNqwfTGvNi6SA==} peerDependencies: tailwindcss: '>=3.0.0' - '@medusajs/ui@4.0.17': - resolution: {integrity: sha512-N5KtZXvns13jDiCE3ZgZLINQnlECYLf4Q4GFdbRhCjAFKFBRGyyeNKX+Zo2wBUZA2Oi4kockdxFfsZfBHh/ZhA==} + '@medusajs/ui@4.0.21': + resolution: {integrity: sha512-C2XnIoksSDOUZKaTeRn8jMzTo0kUVZLyggIL5tSLL/oqZOkOYmnnio4wQoZ1FXKf0h8OE6awWLpVncFsQojnXw==} peerDependencies: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc @@ -2438,8 +2601,8 @@ packages: '@next/env@15.3.2': resolution: {integrity: sha512-xURk++7P7qR9JG1jJtLzPzf0qEvqCN0A/T3DXf8IPMKo9/6FfjxtEffRJIIew/bIL4T3C2jLLqBor8B/zVlx6g==} - '@next/env@15.4.0-canary.128': - resolution: {integrity: sha512-o1L2iI/6zHvYQo4hwwf7a3eu5lEOLBChl79Apreub/EwUFHAoRHfmaMYlVfk4uWo3XUNvMRxOG+dRAWmxn4mJQ==} + '@next/env@15.5.2': + resolution: {integrity: sha512-Qe06ew4zt12LeO6N7j8/nULSOe3fMXE4dM6xgpBQNvdzyK1sv5y4oAP3bq4LamrvGCZtmRYnW8URFCeX5nFgGg==} '@next/eslint-plugin-next@15.0.3': resolution: {integrity: sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==} @@ -2453,8 +2616,8 @@ packages: cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@15.4.0-canary.128': - resolution: {integrity: sha512-3W+dQHTO4baj4iMfWCcXDrrpYsQmuLE1rqLjx3UjMswrJx5DSOPre2haAH5W6CtLvTVEB8x/xCCzJ8ZlqfF5CA==} + '@next/swc-darwin-arm64@15.5.2': + resolution: {integrity: sha512-8bGt577BXGSd4iqFygmzIfTYizHb0LGWqH+qgIF/2EDxS5JsSdERJKA8WgwDyNBZgTIIA4D8qUtoQHmxIIquoQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2465,8 +2628,8 @@ packages: cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@15.4.0-canary.128': - resolution: {integrity: sha512-BlXLOSoc9Xubx/ZRB1k76Akd7ildo98Ypn+IglZiapheAfA//euQZUHZXD66ZVyWHYqdCEw7vg4EzpnXA8wlpg==} + '@next/swc-darwin-x64@15.5.2': + resolution: {integrity: sha512-2DjnmR6JHK4X+dgTXt5/sOCu/7yPtqpYt8s8hLkHFK3MGkka2snTv3yRMdHvuRtJVkPwCGsvBSwmoQCHatauFQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2477,8 +2640,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@15.4.0-canary.128': - resolution: {integrity: sha512-ZUnD74X5yTa/De0s1x/SG6Rv+MGEx6nuz+Th3qmKOUCmwzlxE4UBF7+Vwti4Wg8aEEzxebJUR8WRrmWwvmui8g==} + '@next/swc-linux-arm64-gnu@15.5.2': + resolution: {integrity: sha512-3j7SWDBS2Wov/L9q0mFJtEvQ5miIqfO4l7d2m9Mo06ddsgUK8gWfHGgbjdFlCp2Ek7MmMQZSxpGFqcC8zGh2AA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2489,8 +2652,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.4.0-canary.128': - resolution: {integrity: sha512-pMJ79xdufMeLuOyHY6F0LE/GgHRZZiLVch7YntB7dNZ8HZbV+br4UzssAgr3JfAGyuRnNY0dWgreKwGyGDNSfw==} + '@next/swc-linux-arm64-musl@15.5.2': + resolution: {integrity: sha512-s6N8k8dF9YGc5T01UPQ08yxsK6fUow5gG1/axWc1HVVBYQBgOjca4oUZF7s4p+kwhkB1bDSGR8QznWrFZ/Rt5g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2501,8 +2664,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@15.4.0-canary.128': - resolution: {integrity: sha512-33xXJqrbQO/qNO1n9tLbz6o38j7bs4VnOMmWVHPZH9IAHA99gHFThUZZ4TXgVa8Yj6lgIOLb7MuymaN55FZeZA==} + '@next/swc-linux-x64-gnu@15.5.2': + resolution: {integrity: sha512-o1RV/KOODQh6dM6ZRJGZbc+MOAHww33Vbs5JC9Mp1gDk8cpEO+cYC/l7rweiEalkSm5/1WGa4zY7xrNwObN4+Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2513,8 +2676,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.4.0-canary.128': - resolution: {integrity: sha512-WJv6LPLKJXqvHTaX6WgliI9enlgm4tpwDE6pL619zgGSI5HXHrDsr4LzlDCD7rmuG+n937umVFESmUrnwTTrGw==} + '@next/swc-linux-x64-musl@15.5.2': + resolution: {integrity: sha512-/VUnh7w8RElYZ0IV83nUcP/J4KJ6LLYliiBIri3p3aW2giF+PAVgZb6mk8jbQSB3WlTai8gEmCAr7kptFa1H6g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2525,8 +2688,8 @@ packages: cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@15.4.0-canary.128': - resolution: {integrity: sha512-97Wrx1M3MJSGbiNNbscb/W6avnRCp/9NX9vNTp58caYxk7U7S2e3HJoWS8yeHW9193ci5kHAIBfNDr/GvFws7A==} + '@next/swc-win32-arm64-msvc@15.5.2': + resolution: {integrity: sha512-sMPyTvRcNKXseNQ/7qRfVRLa0VhR0esmQ29DD6pqvG71+JdVnESJaHPA8t7bc67KD5spP3+DOCNLhqlEI2ZgQg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2537,8 +2700,8 @@ packages: cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@15.4.0-canary.128': - resolution: {integrity: sha512-NbpGc9eZjQkjwDst5WsAlv+GFKayojuy7sz+01FJ6og8LXRJvzMCTh5uFTdaHIZr47RpZvewIlJW7mjWyvAHjg==} + '@next/swc-win32-x64-msvc@15.5.2': + resolution: {integrity: sha512-W5VvyZHnxG/2ukhZF/9Ikdra5fdNftxI6ybeVKYvBPDtyx7x4jPPSNduUkfH5fo3zG0JQ0bPxgy41af2JX5D4Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2913,8 +3076,8 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@prisma/instrumentation@6.8.2': - resolution: {integrity: sha512-5NCTbZjw7a+WIZ/ey6G8SY+YKcyM2zBF0hOT1muvqC9TbVtTCr5Qv3RL/2iNDOzLUHEvo4I1uEfioyfuNOGK8Q==} + '@prisma/instrumentation@6.11.1': + resolution: {integrity: sha512-mrZOev24EDhnefmnZX7WVVT7v+r9LttPRqf54ONvj6re4XMF7wFTpK2tLJi4XHB7fFp/6xhYbgRel8YV7gQiyA==} peerDependencies: '@opentelemetry/api': ^1.8 @@ -2960,6 +3123,9 @@ packages: '@radix-ui/primitive@1.1.2': resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} + '@radix-ui/primitive@1.1.3': + resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + '@radix-ui/react-accessible-icon@1.1.1': resolution: {integrity: sha512-DH8vuU7oqHt9RhO3V9Z1b8ek+bOl4+9VLsh0cgL6t7f2WhbuOChm3ft0EmCCsfd4ORi7Cs3II4aNcTXi+bh+wg==} peerDependencies: @@ -2986,6 +3152,19 @@ packages: '@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-accordion@1.2.2': resolution: {integrity: sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==} peerDependencies: @@ -2999,8 +3178,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-alert-dialog@1.1.14': - resolution: {integrity: sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==} + '@radix-ui/react-alert-dialog@1.1.15': + resolution: {integrity: sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3116,8 +3295,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-checkbox@1.3.2': - resolution: {integrity: sha512-yd+dI56KZqawxKZrJ31eENUwqc1QSqg4OZ15rybGjF2ZNwMO+wCyHzAVLRp9qoYJf7kYy0YpZ2b0JCzJ42HZpA==} + '@radix-ui/react-checkbox@1.3.3': + resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3142,6 +3321,19 @@ packages: '@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-collapsible@1.1.2': resolution: {integrity: sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==} peerDependencies: @@ -3243,8 +3435,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.1.14': - resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} + '@radix-ui/react-dialog@1.1.15': + resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3287,8 +3479,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.1.10': - resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} + '@radix-ui/react-dismissable-layer@1.1.11': + resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3326,8 +3518,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-dropdown-menu@2.1.15': - resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==} + '@radix-ui/react-dropdown-menu@2.1.16': + resolution: {integrity: sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3361,8 +3553,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-guards@1.1.2': - resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} + '@radix-ui/react-focus-guards@1.1.3': + resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -3471,8 +3663,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-menu@2.1.15': - resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} + '@radix-ui/react-menu@2.1.16': + resolution: {integrity: sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3510,8 +3702,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-navigation-menu@1.2.13': - resolution: {integrity: sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==} + '@radix-ui/react-navigation-menu@1.2.14': + resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3536,8 +3728,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popover@1.1.14': - resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==} + '@radix-ui/react-popover@1.1.15': + resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3588,8 +3780,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popper@1.2.7': - resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} + '@radix-ui/react-popper@1.2.8': + resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3666,6 +3858,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-presence@1.1.5': + resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} + 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-primitive@2.0.1': resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==} peerDependencies: @@ -3744,8 +3949,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-radio-group@1.3.7': - resolution: {integrity: sha512-9w5XhD0KPOrm92OTTE0SysH3sYzHsSTHNvZgUBo/VZ80VdYyB5RneDbc0dKpURS24IxkoFRu/hI0i4XyfFwY6g==} + '@radix-ui/react-radio-group@1.3.8': + resolution: {integrity: sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3770,8 +3975,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.10': - resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} + '@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': '*' @@ -3796,19 +4014,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-scroll-area@1.2.9': - resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==} - 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.1.5': resolution: {integrity: sha512-eVV7N8jBXAXnyrc+PsOF89O9AfVgGnbLxUtBb0clJ8y8ENMWLARGMI/1/SBRLz7u4HqxLgN71BJ17eono3wcjA==} peerDependencies: @@ -3822,8 +4027,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-select@2.2.5': - resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} + '@radix-ui/react-select@2.2.6': + resolution: {integrity: sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3914,8 +4119,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-switch@1.2.5': - resolution: {integrity: sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==} + '@radix-ui/react-switch@1.2.6': + resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3927,8 +4132,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-tabs@1.1.12': - resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==} + '@radix-ui/react-tabs@1.1.13': + resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3953,8 +4158,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toast@1.2.14': - resolution: {integrity: sha512-nAP5FBxBJGQ/YfUB+r+O6USFVkWq3gAInkxyEnmvEV5jtSbfDhfa4hwX8CraCnbjMLsE7XSf/K75l9xXY7joWg==} + '@radix-ui/react-toast@1.2.15': + resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5252,28 +5457,28 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@sentry-internal/browser-utils@9.27.0': - resolution: {integrity: sha512-SJa7f6Ct1BzP8rWEomnshSGN1CmT+axNKvT+StrbFPD6AyHnYfFLJpKgc2iToIJHB/pmeuOI9dUwqtzVx+5nSw==} + '@sentry-internal/browser-utils@9.46.0': + resolution: {integrity: sha512-Q0CeHym9wysku8mYkORXmhtlBE0IrafAI+NiPSqxOBKXGOCWKVCvowHuAF56GwPFic2rSrRnub5fWYv7T1jfEQ==} engines: {node: '>=18'} - '@sentry-internal/feedback@9.27.0': - resolution: {integrity: sha512-e7L8eG0y63RulN352lmafoCCfQGg4jLVT8YLx6096eWu/YKLkgmVpgi8livsT5WREnH+HB+iFSrejOwK7cRkhw==} + '@sentry-internal/feedback@9.46.0': + resolution: {integrity: sha512-KLRy3OolDkGdPItQ3obtBU2RqDt9+KE8z7r7Gsu7c6A6A89m8ZVlrxee3hPQt6qp0YY0P8WazpedU3DYTtaT8w==} engines: {node: '>=18'} - '@sentry-internal/replay-canvas@9.27.0': - resolution: {integrity: sha512-44rVSt3LCH6qePYRQrl4WUBwnkOk9dzinmnKmuwRksEdDOkVq5KBRhi/IDr7omwSpX8C+KrX5alfKhOx1cP0gQ==} + '@sentry-internal/replay-canvas@9.46.0': + resolution: {integrity: sha512-QcBjrdRWFJrrrjbmrr2bbrp2R9RYj1KMEbhHNT2Lm1XplIQw+tULEKOHxNtkUFSLR1RNje7JQbxhzM1j95FxVQ==} engines: {node: '>=18'} - '@sentry-internal/replay@9.27.0': - resolution: {integrity: sha512-n2kO1wOfCG7GxkMAqbYYkpgTqJM5tuVLdp0JuNCqTOLTXWvw6svWGaYKlYpKUgsK9X/GDzJYSXZmfe+Dbg+FJQ==} + '@sentry-internal/replay@9.46.0': + resolution: {integrity: sha512-+8JUblxSSnN0FXcmOewbN+wIc1dt6/zaSeAvt2xshrfrLooVullcGsuLAiPhY0d/e++Fk06q1SAl9g4V0V13gg==} engines: {node: '>=18'} '@sentry/babel-plugin-component-annotate@3.5.0': resolution: {integrity: sha512-s2go8w03CDHbF9luFGtBHKJp4cSpsQzNVqgIa9Pfa4wnjipvrK6CxVT4icpLA3YO6kg5u622Yoa5GF3cJdippw==} engines: {node: '>= 14'} - '@sentry/browser@9.27.0': - resolution: {integrity: sha512-geR3lhRJOmUQqi1WgovLSYcD/f66zYnctdnDEa7j1BW2XIB1nlTJn0mpYyAHghXKkUN/pBpp1Z+Jk0XlVwFYVg==} + '@sentry/browser@9.46.0': + resolution: {integrity: sha512-NOnCTQCM0NFuwbyt4DYWDNO2zOTj1mCf43hJqGDFb1XM9F++7zAmSNnCx4UrEoBTiFOy40McJwBBk9D1blSktA==} engines: {node: '>=18'} '@sentry/bundler-plugin-core@3.5.0': @@ -5326,39 +5531,50 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@9.27.0': - resolution: {integrity: sha512-Zb2SSAdWXQjTem+sVWrrAq9L6YYfxyoTwtapaE6C6qZBR5C8Uak0wcYww8StaCFH7dDA/PSW+VxOwjNXocrQHQ==} + '@sentry/core@9.46.0': + resolution: {integrity: sha512-it7JMFqxVproAgEtbLgCVBYtQ9fIb+Bu0JD+cEplTN/Ukpe6GaolyYib5geZqslVxhp2sQgT+58aGvfd/k0N8Q==} engines: {node: '>=18'} - '@sentry/nextjs@9.27.0': - resolution: {integrity: sha512-xz4NcA5istwSa2V8DiEJLjHOY3AcThIQNKBXaFEZ8egzEBAm7Ig8R/TtVh4kaY8kCByQdsh0mEMREH/eI/yRmg==} + '@sentry/nextjs@9.46.0': + resolution: {integrity: sha512-3kRTM4yFXV33+SqQd8Et6nsP2DlS/REKbiVvpt8fB8kP6m/cq9plnj9/dqzd9dL1YDiK7g6Lm1Ff9ZSCOhOm/w==} engines: {node: '>=18'} peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 - '@sentry/node@9.27.0': - resolution: {integrity: sha512-EVyDfGRjMAL+SS0lFYK8BKZZiVfKBu6sItX/m2CGcpVLjTwhGxJQWdHlKJMEe8hIkjabME+VLL/mnkA3mINSfQ==} - engines: {node: '>=18'} - - '@sentry/opentelemetry@9.27.0': - resolution: {integrity: sha512-IHhDUdZU+gAUEupovcoUBgXfzQoMDh6n8epjLGpV5LxjiujM+byvvrBD7Witoz/ZilOFn585uvncW7juCe7grw==} + '@sentry/node-core@9.46.0': + resolution: {integrity: sha512-XRVu5pqoklZeh4wqhxCLZkz/ipoKhitctgEFXX9Yh1e1BoHM2pIxT52wf+W6hHM676TFmFXW3uKBjsmRM3AjgA==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.0.0 '@opentelemetry/core': ^1.30.1 || ^2.0.0 - '@opentelemetry/instrumentation': ^0.57.1 || ^0.200.0 + '@opentelemetry/instrumentation': '>=0.57.1 <1' + '@opentelemetry/resources': ^1.30.1 || ^2.0.0 '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.0.0 '@opentelemetry/semantic-conventions': ^1.34.0 - '@sentry/react@9.27.0': - resolution: {integrity: sha512-UT7iaGEwTqe06O4mgHfKGTRBHg+U0JSI/id+QxrOji6ksosOsSnSC3Vdq+gPs9pzCCFE+6+DkH6foYNNLIN0lw==} + '@sentry/node@9.46.0': + resolution: {integrity: sha512-pRLqAcd7GTGvN8gex5FtkQR5Mcol8gOy1WlyZZFq4rBbVtMbqKOQRhohwqnb+YrnmtFpj7IZ7KNDo077MvNeOQ==} + engines: {node: '>=18'} + + '@sentry/opentelemetry@9.46.0': + resolution: {integrity: sha512-w2zTxqrdmwRok0cXBoh+ksXdGRUHUZhlpfL/H2kfTodOL+Mk8rW72qUmfqQceXoqgbz8UyK8YgJbyt+XS5H4Qg==} + engines: {node: '>=18'} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.0.0 + '@opentelemetry/core': ^1.30.1 || ^2.0.0 + '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.0.0 + '@opentelemetry/semantic-conventions': ^1.34.0 + + '@sentry/react@9.46.0': + resolution: {integrity: sha512-2NTlke1rKAJO2JIY1RCrv8EjfXXkLc+AC61PpgF1QjH/cz0NuCZ6gpQi6M5qS7anAGPjaOE1t3QdLeOEI/Q3kA==} engines: {node: '>=18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/vercel-edge@9.27.0': - resolution: {integrity: sha512-3/Ou4fCZjaDOnyuDfw0iqMauWLzPI9GKUVcHq4+kvZacS/JE4FvoFAHZApT3fiMOP01RDNjQ1TmEJTKOI05Mtg==} + '@sentry/vercel-edge@9.46.0': + resolution: {integrity: sha512-F380tmDJt/u8FjjGFygsBtNqWVqbK3cefcoa8K3Ok2Vt70nhL7e5jOcWXr5sZqBksMYBPnbe1nSY9I84RvkYrQ==} engines: {node: '>=18'} '@sentry/webpack-plugin@3.5.0': @@ -5394,8 +5610,8 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@stripe/react-stripe-js@3.7.0': - resolution: {integrity: sha512-PYls/2S9l0FF+2n0wHaEJsEU8x7CmBagiH7zYOsxbBlLIHEsqUIQ4MlIAbV9Zg6xwT8jlYdlRIyBTHmO3yM7kQ==} + '@stripe/react-stripe-js@3.9.2': + resolution: {integrity: sha512-urAZek4LrnHWfk4WYXItOiX+6xyxjcn0SkhBDoysXphLkUt92UWCd5+NlomhVqaLo98XiUQGZRiRcL8HOHZ8Jw==} peerDependencies: '@stripe/stripe-js': '>=1.44.1 <8.0.0' react: '>=16.8.0 <20.0.0' @@ -5404,8 +5620,8 @@ packages: '@stripe/stripe-js@1.54.2': resolution: {integrity: sha512-R1PwtDvUfs99cAjfuQ/WpwJ3c92+DAMy9xGApjqlWQMj0FKQabUAys2swfTRNzuYAYJh7NqK2dzcYVNkKLEKUg==} - '@stripe/stripe-js@7.3.1': - resolution: {integrity: sha512-pTzb864TQWDRQBPLgSPFRoyjSDUqpCkbEgTzpsjiTjGz1Z5SxZNXJek28w1s6Dyry4CyW4/Izj5jHE/J9hCJYQ==} + '@stripe/stripe-js@7.9.0': + resolution: {integrity: sha512-ggs5k+/0FUJcIgNY08aZTqpBTtbExkJMYMLSMwyucrhtWexVOEY1KJmhBsxf+E/Q15f5rbwBpj+t0t2AW2oCsQ==} engines: {node: '>=12.16'} '@supabase/auth-js@2.69.1': @@ -5449,65 +5665,65 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' - '@tailwindcss/node@4.1.10': - resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} + '@tailwindcss/node@4.1.12': + resolution: {integrity: sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==} - '@tailwindcss/oxide-android-arm64@4.1.10': - resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} + '@tailwindcss/oxide-android-arm64@4.1.12': + resolution: {integrity: sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.10': - resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} + '@tailwindcss/oxide-darwin-arm64@4.1.12': + resolution: {integrity: sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.10': - resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} + '@tailwindcss/oxide-darwin-x64@4.1.12': + resolution: {integrity: sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.10': - resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} + '@tailwindcss/oxide-freebsd-x64@4.1.12': + resolution: {integrity: sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': - resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': + resolution: {integrity: sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': - resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': + resolution: {integrity: sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.10': - resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} + '@tailwindcss/oxide-linux-arm64-musl@4.1.12': + resolution: {integrity: sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.10': - resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} + '@tailwindcss/oxide-linux-x64-gnu@4.1.12': + resolution: {integrity: sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.10': - resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} + '@tailwindcss/oxide-linux-x64-musl@4.1.12': + resolution: {integrity: sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.10': - resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} + '@tailwindcss/oxide-wasm32-wasi@4.1.12': + resolution: {integrity: sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -5518,24 +5734,24 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': - resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} + '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': + resolution: {integrity: sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.10': - resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} + '@tailwindcss/oxide-win32-x64-msvc@4.1.12': + resolution: {integrity: sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.10': - resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} + '@tailwindcss/oxide@4.1.12': + resolution: {integrity: sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==} engines: {node: '>= 10'} - '@tailwindcss/postcss@4.1.10': - resolution: {integrity: sha512-B+7r7ABZbkXJwpvt2VMnS6ujcDoR2OOcFaqrLIo1xbcdxje4Vf+VgJdBzNNbrAjBj/rLZ66/tlQ1knIGNLKOBQ==} + '@tailwindcss/postcss@4.1.12': + resolution: {integrity: sha512-5PpLYhCAwf9SJEeIsSmCDLgyVfdBhdBpzX1OJ87anT9IVR0Z9pjM0FNixCAUAHGnMBGB8K99SwAheXrT0Kh6QQ==} '@tanstack/query-core@5.76.0': resolution: {integrity: sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==} @@ -5602,10 +5818,6 @@ packages: peerDependencies: typescript: '>=5.7.2' - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - '@ts-gql/tag@0.7.3': resolution: {integrity: sha512-qWBoe5TGXs7l6lrdSfqAhsZP1aW9vEoZvjy5hPsiMwQ7VB8PyK2TFmLCijLmdeKSiY7BSzff20xZZrLIMB+IKQ==} peerDependencies: @@ -5719,8 +5931,8 @@ packages: '@types/linkify-it@3.0.5': resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - '@types/lodash@4.17.17': - resolution: {integrity: sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==} + '@types/lodash@4.17.20': + resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} '@types/markdown-it@12.2.3': resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} @@ -5740,14 +5952,11 @@ packages: '@types/node@17.0.21': resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} - '@types/node@22.15.30': - resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} + '@types/node@22.18.0': + resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} - '@types/node@22.15.32': - resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==} - - '@types/node@24.0.3': - resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} + '@types/node@24.3.0': + resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} '@types/nodemailer@6.4.17': resolution: {integrity: sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww==} @@ -5758,8 +5967,8 @@ packages: '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} - '@types/pg@8.15.4': - resolution: {integrity: sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg==} + '@types/pg@8.15.5': + resolution: {integrity: sha512-LF7lF6zWEKxuT3/OR8wAZGzkg4ENGXFNyiV/JeOt9z5B+0ZVwbql9McqX5c/WStFq1GaGso7H1AzP/qSzmlCKQ==} '@types/pg@8.6.1': resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} @@ -5789,8 +5998,8 @@ packages: '@types/react-instantsearch-dom@6.12.9': resolution: {integrity: sha512-OQ8kvnhwXcGznThPRgd5LCt7fj4BNar1dCs+MdHgrH67XN/jb97OA+wwtaQ04p9kJXFGDZASzWJjvdu2CkMPkA==} - '@types/react@18.3.23': - resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} + '@types/react@18.3.24': + resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} '@types/react@19.1.4': resolution: {integrity: sha512-EB1yiiYdvySuIITtD5lhW4yPyJ31RkJkkDw794LaQYrxCSaQV/47y5o1FMC4zF9ZyjUjzJMZwbovEnT5yHTW6g==} @@ -6090,6 +6299,12 @@ packages: peerDependencies: acorn: ^8 + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -6270,8 +6485,8 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} - axios@1.10.0: - resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -6351,6 +6566,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.25.4: + resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -6401,6 +6621,9 @@ packages: caniuse-lite@1.0.30001723: resolution: {integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==} + caniuse-lite@1.0.30001739: + resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -6510,6 +6733,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -6568,19 +6795,19 @@ packages: peerDependencies: postcss: ^8.0.9 - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} cssesc@3.0.0: @@ -6588,8 +6815,8 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-preset-default@7.0.7: - resolution: {integrity: sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==} + cssnano-preset-default@7.0.9: + resolution: {integrity: sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -6600,8 +6827,8 @@ packages: peerDependencies: postcss: ^8.4.32 - cssnano@7.0.7: - resolution: {integrity: sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==} + cssnano@7.1.1: + resolution: {integrity: sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -6810,8 +7037,8 @@ packages: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dotenv@16.5.0: - resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -6830,6 +7057,9 @@ packages: electron-to-chromium@1.5.168: resolution: {integrity: sha512-RUNQmFLNIWVW6+z32EJQ5+qx8ci6RGvdtDC0Ls+F89wz6I2AthpXF0w0DIrn2jpLX0/PU9ZCo+Qp7bg/EckJmA==} + electron-to-chromium@1.5.213: + resolution: {integrity: sha512-xr9eRzSLNa4neDO0xVFrkXu3vyIzG4Ay08dApecw42Z1NbmCt+keEpXdvlYGVe0wtvY5dhW0Ay0lY0IOfsCg0Q==} + emery@1.4.4: resolution: {integrity: sha512-mMoO3uGDoiw/DmZ/YekT9gEoC0IFAXNWzYVukY8+/j0Wt8un1IDraIYGx+cMbRh+fHaCDE6Ui7zFAN8ezZSsAA==} @@ -6854,6 +7084,10 @@ packages: resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -6930,8 +7164,8 @@ packages: typescript: optional: true - eslint-config-turbo@2.5.4: - resolution: {integrity: sha512-OpjpDLXIaus0N/Y+pMj17K430xjpd6WTo0xPUESqYZ9BkMngv2n0ZdjktgJTbJVnDmK7gHrXgJAljtdIMcYBIg==} + eslint-config-turbo@2.5.6: + resolution: {integrity: sha512-1EV/UqdKE75st9q6y0MCxz7qp2v7RyGvbQsMLSuCz+VH8ScnSfmhd8FcAbqx3BshCy5IluujzMB6T5iCgL3/sA==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -7001,8 +7235,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.5.4: - resolution: {integrity: sha512-IZsW61DFj5mLMMaCJxhh1VE4HvNhfdnHnAaXajgne+LUzdyHk2NvYT0ECSa/1SssArcqgTvV74MrLL68hWLLFw==} + eslint-plugin-turbo@2.5.6: + resolution: {integrity: sha512-KUDE23aP2JV8zbfZ4TeM1HpAXzMM/AYG/bJam7P4AalUxas8Pd/lS/6R3p4uX91qJcH1LwL4h0ED48nDe8KorQ==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -7015,8 +7249,8 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-utils@3.0.0: @@ -7033,8 +7267,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint@8.10.0: @@ -7043,8 +7277,8 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@9.28.0: - resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} + eslint@9.34.0: + resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -7053,8 +7287,8 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -7243,8 +7477,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.3: - resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} formdata-polyfill@4.0.10: @@ -7472,6 +7706,9 @@ packages: import-in-the-middle@1.13.2: resolution: {integrity: sha512-Yjp9X7s2eHSXvZYQ0aye6UvwYPrVB5C2k47fuXjFKnYinAByaDZjh4t9MT2wEga9775n6WaIqyHnQhBxYtX2mg==} + import-in-the-middle@1.14.2: + resolution: {integrity: sha512-5tCuY9BV8ujfOpwtAGgsTx9CGUapcFMEEyByLv1B+v2+6DhAcw+Zr0nhQT7uwaZ7DiourxFEscghOR8e1aPLQw==} + import-in-the-middle@1.7.1: resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} @@ -7841,8 +8078,8 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true joycon@3.1.1: @@ -8087,8 +8324,8 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.18: + resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} @@ -8167,8 +8404,8 @@ packages: mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -8389,8 +8626,8 @@ packages: sass: optional: true - next@15.4.0-canary.128: - resolution: {integrity: sha512-Oo1GjM7ToTkus3mEMnKI93NpFt3KgtTnVDyINHrvX/rjdtEHiabNQhgowOqv84h8uLfatV+vsy7gMkYR+UsV/A==} + next@15.5.2: + resolution: {integrity: sha512-H8Otr7abj1glFhbGnvUt3gz++0AF1+QoCXEBmd/6aKbfdFwrn0LpA836Ed5+00va/7HQSDD+mOoVhn3tNy3e/Q==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -8437,8 +8674,8 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - nodemailer@7.0.3: - resolution: {integrity: sha512-Ajq6Sz1x7cIK3pN6KesGTah+1gnwMnx5gKl3piQlQQE/PwyJ4Mbc8is2psWYxK3RJTVeqsDaCv8ZzXLCDHMTZw==} + nodemailer@7.0.6: + resolution: {integrity: sha512-F44uVzgwo49xboqbFgBGkRaiMgtoBrBEWCVincJPK9+S9Adkzt/wXCLKbf7dxucmxfTI5gHGB+bEmdyzN6QKjw==} engines: {node: '>=6.0.0'} normalize-path@3.0.0: @@ -8650,15 +8887,15 @@ packages: pino-abstract-transport@2.0.0: resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - pino-pretty@13.0.0: - resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==} + pino-pretty@13.1.1: + resolution: {integrity: sha512-TNNEOg0eA0u+/WuqH0MH0Xui7uqVk9D74ESOpjtebSQYbNWJk/dIxCXIxFsNfeN53JmtWqYHP2OrIZjT/CBEnA==} hasBin: true pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.7.0: - resolution: {integrity: sha512-vnMCM6xZTb1WDmLvtG2lE/2p+t9hDEIvTWJsu6FejkE62vB7gDhvzrpFR4Cw2to+9JNQxVnkAKVPA1KPB98vWg==} + pino@9.9.0: + resolution: {integrity: sha512-zxsRIQG9HzG+jEljmvmZupOMDUQ0Jpj0yAgE28jQvvrdYTlEaiGwelJpdndMl/MBuRr70heIj83QyqJUWaU8mQ==} hasBin: true pirates@4.0.7: @@ -8679,14 +8916,14 @@ packages: peerDependencies: postcss: ^8.4.38 - postcss-colormin@7.0.3: - resolution: {integrity: sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==} + postcss-colormin@7.0.4: + resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 - postcss-convert-values@7.0.5: - resolution: {integrity: sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==} + postcss-convert-values@7.0.7: + resolution: {integrity: sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -8745,8 +8982,8 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-merge-rules@7.0.5: - resolution: {integrity: sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==} + postcss-merge-rules@7.0.6: + resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -8763,8 +9000,8 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-minify-params@7.0.3: - resolution: {integrity: sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==} + postcss-minify-params@7.0.4: + resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -8817,8 +9054,8 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-normalize-unicode@7.0.3: - resolution: {integrity: sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==} + postcss-normalize-unicode@7.0.4: + resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -8841,8 +9078,8 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-reduce-initial@7.0.3: - resolution: {integrity: sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==} + postcss-reduce-initial@7.0.4: + resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -8861,8 +9098,8 @@ packages: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} - postcss-svgo@7.0.2: - resolution: {integrity: sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==} + postcss-svgo@7.1.0: + resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: postcss: ^8.4.32 @@ -8904,11 +9141,13 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.6.12: - resolution: {integrity: sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==} + prettier-plugin-tailwindcss@0.6.14: + resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==} engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-hermes': '*' + '@prettier/plugin-oxc': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' '@trivago/prettier-plugin-sort-imports': '*' @@ -8928,6 +9167,10 @@ packages: peerDependenciesMeta: '@ianvs/prettier-plugin-sort-imports': optional: true + '@prettier/plugin-hermes': + optional: true + '@prettier/plugin-oxc': + optional: true '@prettier/plugin-pug': optional: true '@shopify/prettier-plugin-liquid': @@ -8964,8 +9207,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -9108,16 +9351,16 @@ packages: peerDependencies: react: '>=16.13.1' - react-hook-form@7.58.0: - resolution: {integrity: sha512-zGijmEed35oNfOfy7ub99jfjkiLhHwA3dl5AgyKdWC6QQzhnc7tkWewSa+T+A2EpLrc6wo5DUoZctS9kufWJjA==} + react-hook-form@7.62.0: + resolution: {integrity: sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-i18next@15.5.3: - resolution: {integrity: sha512-ypYmOKOnjqPEJZO4m1BI0kS8kWqkBNsKYyhVUfij0gvjy9xJNoG/VcGkxq5dRlVwzmrmY1BQMAmpbbUBLwC4Kw==} + react-i18next@15.7.3: + resolution: {integrity: sha512-AANws4tOE+QSq/IeMF/ncoHlMNZaVLxpa5uUGW1wjike68elVYr0018L9xYoqBr1OFO7G7boDPrbn0HpMCJxTw==} peerDependencies: - i18next: '>= 23.2.3' + i18next: '>= 25.4.1' react: '>= 16.8.0' react-dom: '*' react-native: '*' @@ -9323,6 +9566,9 @@ packages: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + scheduler@0.25.0-rc-66855b96-20241106: resolution: {integrity: sha512-HQXp/Mnp/MMRSXMQF7urNFla+gmtXW/Gr1KliuR0iboTit4KvZRY8KYaq5ccCTAOJiUqQh2rE2F3wgUekmgdlA==} @@ -9343,8 +9589,8 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + secure-json-parse@4.0.0: + resolution: {integrity: sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==} selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} @@ -9380,6 +9626,10 @@ packages: resolution: {integrity: sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + sharp@0.34.3: + resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -9452,8 +9702,8 @@ packages: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - sonner@2.0.5: - resolution: {integrity: sha512-YwbHQO6cSso3HBXlbCkgrgzDNIhws14r4MO87Ofy+cV2X7ES4pOoAK3+veSmVTvqNx1BWUxlhPmZzP00Crk2aQ==} + sonner@2.0.7: + resolution: {integrity: sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==} peerDependencies: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc @@ -9564,8 +9814,12 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - stripe@18.2.1: - resolution: {integrity: sha512-GwB1B7WSwEBzW4dilgyJruUYhbGMscrwuyHsPUmSRKrGHZ5poSh2oU9XKdii5BFVJzXHn35geRvGJ6R8bYcp8w==} + strip-json-comments@5.0.3: + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} + engines: {node: '>=14.16'} + + stripe@18.5.0: + resolution: {integrity: sha512-Hp+wFiEQtCB0LlNgcFh5uVyKznpDjzyUZ+CNVEf+I3fhlYvh7rZruIg+jOwzJRCpy0ZTPMjlzm7J2/M2N6d+DA==} engines: {node: '>=12.*'} peerDependencies: '@types/node': '>=12.x.x' @@ -9589,8 +9843,8 @@ packages: babel-plugin-macros: optional: true - stylehacks@7.0.5: - resolution: {integrity: sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==} + stylehacks@7.0.6: + resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.32 @@ -9603,8 +9857,8 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supabase@2.30.4: - resolution: {integrity: sha512-AOCyd2vmBBMTXbnahiCU0reRNxKS4n5CrPciUF2tcTrQ8dLzl1HwcLfe5DrG8E0QRcKHPDdzprmh/2+y4Ta5MA==} + supabase@2.39.2: + resolution: {integrity: sha512-/LDPMDIDmuDwj3UsKVw+wA+uHF7QhEF8xgJnKpnk1vqVdr+lA6xRSwWQzgaNuwPj5YPt6+78JKp+wzKziTsRVw==} engines: {npm: '>=8'} hasBin: true @@ -9624,9 +9878,9 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} + svgo@4.0.0: + resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} + engines: {node: '>=16'} hasBin: true tabbable@6.2.0: @@ -9635,9 +9889,6 @@ packages: tailwind-merge@2.6.0: resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - tailwind-merge@3.3.0: - resolution: {integrity: sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==} - tailwind-merge@3.3.1: resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} @@ -9654,8 +9905,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tailwindcss@4.1.10: - resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} + tailwindcss@4.1.12: + resolution: {integrity: sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==} tailwindcss@4.1.7: resolution: {integrity: sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==} @@ -9664,6 +9915,10 @@ packages: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + engines: {node: '>=6'} + tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -9855,8 +10110,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -9867,8 +10122,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.8.0: - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} undici@6.21.3: resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} @@ -9987,15 +10242,15 @@ packages: engines: {node: '>= 10.13.0'} hasBin: true - webpack-sources@3.3.2: - resolution: {integrity: sha512-ykKKus8lqlgXX/1WjudpIEjqsafjOTcOJqxnAbMLAu/KCsDCJ6GBtvscewvTkrn24HsnvFwrSCbenFrhtcCsAA==} + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - webpack@5.99.9: - resolution: {integrity: sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==} + webpack@5.101.3: + resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10035,8 +10290,8 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wp-types@4.68.0: - resolution: {integrity: sha512-b4E861y0BzNUJSWH2i1/ArTISI87qdadEO0qBJRocJ0L95P8gaa7r4RXQHMIfBpFnQy0NToMrnN8Qb3rWP2Vjg==} + wp-types@4.68.1: + resolution: {integrity: sha512-PpyF5va7pxdBSV8cE3oao/Wfsrbx1gZKmBaijOd6/Q6RmuzCfUSPHtj8RzAtwDYD8dv7cga5lX63TvYTHdOIZA==} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -10146,11 +10401,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yup@1.6.1: - resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==} + yup@1.7.0: + resolution: {integrity: sha512-VJce62dBd+JQvoc+fCVq+KZfPHr+hXaxCcVgotfwWvlR0Ja3ffYKaJBT8rptPOSKOGJDCUnW2C2JWpud7aRP6Q==} - zod@3.25.67: - resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} + zod@4.1.5: + resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -10255,18 +10510,18 @@ snapshots: '@babel/compat-data@7.27.5': {} - '@babel/core@7.27.4': + '@babel/core@7.28.3': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 + '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/helpers': 7.28.3 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 convert-source-map: 2.0.0 debug: 4.4.1 gensync: 1.0.0-beta.2 @@ -10283,6 +10538,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + jsesc: 3.1.0 + '@babel/helper-compilation-targets@7.27.2': dependencies: '@babel/compat-data': 7.27.5 @@ -10291,19 +10554,21 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-globals@7.28.0': {} + '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color @@ -10315,98 +10580,102 @@ snapshots: '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.27.6': + '@babel/helpers@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@babel/parser@7.27.5': dependencies: '@babel/types': 7.27.6 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.4)': + '@babel/parser@7.28.3': dependencies: - '@babel/core': 7.27.4 + '@babel/types': 7.28.2 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.4)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.4)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.4)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.4)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 '@babel/runtime@7.27.6': {} @@ -10414,8 +10683,8 @@ snapshots: '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@babel/traverse@7.27.4': dependencies: @@ -10429,12 +10698,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.3': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@baselime/node-opentelemetry@0.5.8(@trpc/server@11.3.1(typescript@5.8.3))': + '@babel/types@7.28.2': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@baselime/node-opentelemetry@0.5.8(@trpc/server@11.3.1(typescript@5.9.2))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/exporter-trace-otlp-http': 0.50.0(@opentelemetry/api@1.9.0) @@ -10444,9 +10730,9 @@ snapshots: '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.50.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-node': 1.30.1(@opentelemetry/api@1.9.0) - '@trpc/server': 11.3.1(typescript@5.8.3) + '@trpc/server': 11.3.1(typescript@5.9.2) '@types/aws-lambda': 8.10.149 - axios: 1.10.0 + axios: 1.11.0 flat: 6.0.1 undici: 6.21.3 transitivePeerDependencies: @@ -10472,9 +10758,9 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@edge-csrf/nextjs@2.5.3-cloudflare-rc1(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': + '@edge-csrf/nextjs@2.5.3-cloudflare-rc1(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: - next: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@emnapi/core@1.4.3': dependencies: @@ -10487,6 +10773,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.5.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.0.2': dependencies: tslib: 2.8.1 @@ -10553,14 +10844,14 @@ snapshots: eslint: 8.10.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0(jiti@2.5.1))': dependencies: - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.20.0': + '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 debug: 4.4.1 @@ -10568,9 +10859,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.3.1': {} - '@eslint/core@0.14.0': + '@eslint/core@0.15.2': dependencies: '@types/json-schema': 7.0.15 @@ -10592,7 +10883,7 @@ snapshots: dependencies: ajv: 6.12.6 debug: 4.4.1 - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -10602,24 +10893,33 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.28.0': {} + '@eslint/js@9.34.0': {} '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.3.1': + '@eslint/plugin-kit@0.3.5': dependencies: - '@eslint/core': 0.14.0 + '@eslint/core': 0.15.2 levn: 0.4.1 '@floating-ui/core@1.7.1': dependencies: '@floating-ui/utils': 0.2.9 + '@floating-ui/core@1.7.3': + dependencies: + '@floating-ui/utils': 0.2.10 + '@floating-ui/dom@1.7.1': dependencies: '@floating-ui/core': 1.7.1 '@floating-ui/utils': 0.2.9 + '@floating-ui/dom@1.7.4': + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + '@floating-ui/react-dom@2.1.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@floating-ui/dom': 1.7.1 @@ -10632,6 +10932,12 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) + '@floating-ui/react-dom@2.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@floating-ui/dom': 1.7.4 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + '@floating-ui/react@0.24.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -10648,6 +10954,8 @@ snapshots: react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) tabbable: 6.2.0 + '@floating-ui/utils@0.2.10': {} + '@floating-ui/utils@0.2.9': {} '@formatjs/ecma402-abstract@2.3.4': @@ -10692,7 +11000,7 @@ snapshots: protobufjs: 7.5.3 yargs: 17.7.2 - '@headlessui/react@2.2.4(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@headlessui/react@2.2.7(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) '@react-aria/focus': 3.20.4(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) @@ -10702,15 +11010,10 @@ snapshots: react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) use-sync-external-store: 1.5.0(react@19.0.0-rc-66855b96-20241106) - '@hookform/resolvers@5.0.1(react-hook-form@7.58.0(react@19.1.0))': + '@hookform/resolvers@5.2.1(react-hook-form@7.62.0(react@19.1.0))': dependencies: '@standard-schema/utils': 0.3.0 - react-hook-form: 7.58.0(react@19.1.0) - - '@hookform/resolvers@5.1.1(react-hook-form@7.58.0(react@19.1.0))': - dependencies: - '@standard-schema/utils': 0.3.0 - react-hook-form: 7.58.0(react@19.1.0) + react-hook-form: 7.62.0(react@19.1.0) '@humanfs/core@0.19.1': {} @@ -10740,82 +11043,168 @@ snapshots: '@img/sharp-libvips-darwin-arm64': 1.1.0 optional: true + '@img/sharp-darwin-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.0 + optional: true + '@img/sharp-darwin-x64@0.34.2': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.1.0 optional: true + '@img/sharp-darwin-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.0 + optional: true + '@img/sharp-libvips-darwin-arm64@1.1.0': optional: true + '@img/sharp-libvips-darwin-arm64@1.2.0': + optional: true + '@img/sharp-libvips-darwin-x64@1.1.0': optional: true + '@img/sharp-libvips-darwin-x64@1.2.0': + optional: true + '@img/sharp-libvips-linux-arm64@1.1.0': optional: true + '@img/sharp-libvips-linux-arm64@1.2.0': + optional: true + '@img/sharp-libvips-linux-arm@1.1.0': optional: true + '@img/sharp-libvips-linux-arm@1.2.0': + optional: true + '@img/sharp-libvips-linux-ppc64@1.1.0': optional: true + '@img/sharp-libvips-linux-ppc64@1.2.0': + optional: true + '@img/sharp-libvips-linux-s390x@1.1.0': optional: true + '@img/sharp-libvips-linux-s390x@1.2.0': + optional: true + '@img/sharp-libvips-linux-x64@1.1.0': optional: true + '@img/sharp-libvips-linux-x64@1.2.0': + optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.1.0': optional: true + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + optional: true + '@img/sharp-libvips-linuxmusl-x64@1.1.0': optional: true + '@img/sharp-libvips-linuxmusl-x64@1.2.0': + optional: true + '@img/sharp-linux-arm64@0.34.2': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.1.0 optional: true + '@img/sharp-linux-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.0 + optional: true + '@img/sharp-linux-arm@0.34.2': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.1.0 optional: true + '@img/sharp-linux-arm@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.0 + optional: true + + '@img/sharp-linux-ppc64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.0 + optional: true + '@img/sharp-linux-s390x@0.34.2': optionalDependencies: '@img/sharp-libvips-linux-s390x': 1.1.0 optional: true + '@img/sharp-linux-s390x@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.0 + optional: true + '@img/sharp-linux-x64@0.34.2': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.1.0 optional: true + '@img/sharp-linux-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.0 + optional: true + '@img/sharp-linuxmusl-arm64@0.34.2': optionalDependencies: '@img/sharp-libvips-linuxmusl-arm64': 1.1.0 optional: true + '@img/sharp-linuxmusl-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + optional: true + '@img/sharp-linuxmusl-x64@0.34.2': optionalDependencies: '@img/sharp-libvips-linuxmusl-x64': 1.1.0 optional: true + '@img/sharp-linuxmusl-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + optional: true + '@img/sharp-wasm32@0.34.2': dependencies: '@emnapi/runtime': 1.4.3 optional: true + '@img/sharp-wasm32@0.34.3': + dependencies: + '@emnapi/runtime': 1.5.0 + optional: true + '@img/sharp-win32-arm64@0.34.2': optional: true + '@img/sharp-win32-arm64@0.34.3': + optional: true + '@img/sharp-win32-ia32@0.34.2': optional: true + '@img/sharp-win32-ia32@0.34.3': + optional: true + '@img/sharp-win32-x64@0.34.2': optional: true + '@img/sharp-win32-x64@0.34.3': + optional: true + '@internationalized/date@3.8.2': dependencies: '@swc/helpers': 0.5.17 @@ -10859,27 +11248,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10904,7 +11293,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -10922,7 +11311,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.15.32 + '@types/node': 22.18.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -10943,8 +11332,8 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.15.32 + '@jridgewell/trace-mapping': 0.3.30 + '@types/node': 22.18.0 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -10971,7 +11360,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.30 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -10991,7 +11380,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -11014,32 +11403,49 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.32 + '@types/node': 22.18.0 '@types/yargs': 17.0.33 chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.30': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -11049,7 +11455,7 @@ snapshots: '@juggle/resize-observer@3.4.0': {} - '@keystar/ui@0.7.19(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@keystar/ui@0.7.19(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.6 '@emotion/css': 11.13.5 @@ -11142,18 +11548,18 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - next: 15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - supports-color - '@keystatic/core@0.5.47(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@keystatic/core@0.5.47(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.6 '@braintree/sanitize-url': 6.0.4 '@emotion/weak-memoize': 0.3.1 '@floating-ui/react': 0.24.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@internationalized/string': 3.2.7 - '@keystar/ui': 0.7.19(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@keystar/ui': 0.7.19(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@markdoc/markdoc': 0.4.0(@types/react@19.1.4)(react@19.1.0) '@react-aria/focus': 3.20.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@react-aria/i18n': 3.12.10(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -11224,13 +11630,13 @@ snapshots: - next - supports-color - '@keystatic/next@5.0.4(@keystatic/core@0.5.47(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@keystatic/next@5.0.4(@keystatic/core@0.5.47(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.6 - '@keystatic/core': 0.5.47(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@keystatic/core': 0.5.47(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/react': 19.1.4 chokidar: 3.6.0 - next: 15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) server-only: 0.0.1 @@ -11243,12 +11649,12 @@ snapshots: '@supabase/supabase-js': 2.49.4 ts-case-convert: 2.1.0 - '@makerkit/data-loader-supabase-nextjs@1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + '@makerkit/data-loader-supabase-nextjs@1.2.5(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4)(@tanstack/react-query@5.76.1(react@19.1.0))(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': dependencies: '@makerkit/data-loader-supabase-core': 0.0.10(@supabase/postgrest-js@1.19.4)(@supabase/supabase-js@2.49.4) '@supabase/supabase-js': 2.49.4 '@tanstack/react-query': 5.76.1(react@19.1.0) - next: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 transitivePeerDependencies: - '@supabase/postgrest-js' @@ -11259,33 +11665,29 @@ snapshots: '@types/react': 19.1.4 react: 19.1.0 - '@markdoc/markdoc@0.5.2(@types/react@19.1.4)(react@19.1.0)': + '@markdoc/markdoc@0.5.4(@types/react@19.1.4)(react@19.1.0)': optionalDependencies: '@types/linkify-it': 3.0.5 '@types/markdown-it': 12.2.3 '@types/react': 19.1.4 react: 19.1.0 - '@marsidev/react-turnstile@1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@marsidev/react-turnstile@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@medusajs/icons@2.8.6(react@19.1.0)': - dependencies: - react: 19.1.0 - - '@medusajs/icons@2.8.7(react@19.0.0-rc-66855b96-20241106)': + '@medusajs/icons@2.10.1(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 - '@medusajs/icons@2.8.7(react@19.1.0)': + '@medusajs/icons@2.10.1(react@19.1.0)': dependencies: react: 19.1.0 - '@medusajs/js-sdk@2.8.7(awilix@8.0.1)': + '@medusajs/js-sdk@2.10.1(awilix@8.0.1)': dependencies: - '@medusajs/types': 2.8.7(awilix@8.0.1) + '@medusajs/types': 2.10.1(awilix@8.0.1) fetch-event-stream: 0.1.5 qs: 6.14.0 transitivePeerDependencies: @@ -11293,33 +11695,33 @@ snapshots: - ioredis - vite - '@medusajs/types@2.8.7(awilix@8.0.1)': + '@medusajs/types@2.10.1(awilix@8.0.1)': dependencies: awilix: 8.0.1 bignumber.js: 9.3.0 - '@medusajs/ui-preset@2.8.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)))': + '@medusajs/ui-preset@2.10.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)))': dependencies: - '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3))) - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)) - tailwindcss-animate: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3))) + '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2))) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)) + tailwindcss-animate: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2))) - '@medusajs/ui-preset@2.8.7(tailwindcss@4.1.7)': + '@medusajs/ui-preset@2.10.1(tailwindcss@4.1.7)': dependencies: '@tailwindcss/forms': 0.5.10(tailwindcss@4.1.7) tailwindcss: 4.1.7 tailwindcss-animate: 1.0.7(tailwindcss@4.1.7) - '@medusajs/ui@4.0.17(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)(typescript@5.8.3)': + '@medusajs/ui@4.0.21(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)(typescript@5.9.2)': dependencies: - '@medusajs/icons': 2.8.7(react@19.0.0-rc-66855b96-20241106) + '@medusajs/icons': 2.10.1(react@19.0.0-rc-66855b96-20241106) '@tanstack/react-table': 8.20.5(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) clsx: 1.2.1 copy-to-clipboard: 3.3.3 - cva: 1.0.0-beta.1(typescript@5.8.3) + cva: 1.0.0-beta.1(typescript@5.9.2) prism-react-renderer: 2.4.1(react@19.0.0-rc-66855b96-20241106) prismjs: 1.30.0 - radix-ui: 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + radix-ui: 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-aria: 3.41.1(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react-currency-input-field: 3.10.0(react@19.0.0-rc-66855b96-20241106) @@ -11332,13 +11734,13 @@ snapshots: - '@types/react-dom' - typescript - '@medusajs/ui@4.0.17(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@medusajs/ui@4.0.21(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.2)': dependencies: - '@medusajs/icons': 2.8.7(react@19.1.0) + '@medusajs/icons': 2.10.1(react@19.1.0) '@tanstack/react-table': 8.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) clsx: 1.2.1 copy-to-clipboard: 3.3.3 - cva: 1.0.0-beta.1(typescript@5.8.3) + cva: 1.0.0-beta.1(typescript@5.9.2) prism-react-renderer: 2.4.1(react@19.1.0) prismjs: 1.30.0 radix-ui: 1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -11357,7 +11759,7 @@ snapshots: '@napi-rs/wasm-runtime@0.2.10': dependencies: '@emnapi/core': 1.4.3 - '@emnapi/runtime': 1.4.3 + '@emnapi/runtime': 1.5.0 '@tybys/wasm-util': 0.9.0 optional: true @@ -11372,7 +11774,7 @@ snapshots: '@next/env@15.3.2': {} - '@next/env@15.4.0-canary.128': {} + '@next/env@15.5.2': {} '@next/eslint-plugin-next@15.0.3': dependencies: @@ -11385,49 +11787,49 @@ snapshots: '@next/swc-darwin-arm64@15.3.2': optional: true - '@next/swc-darwin-arm64@15.4.0-canary.128': + '@next/swc-darwin-arm64@15.5.2': optional: true '@next/swc-darwin-x64@15.3.2': optional: true - '@next/swc-darwin-x64@15.4.0-canary.128': + '@next/swc-darwin-x64@15.5.2': optional: true '@next/swc-linux-arm64-gnu@15.3.2': optional: true - '@next/swc-linux-arm64-gnu@15.4.0-canary.128': + '@next/swc-linux-arm64-gnu@15.5.2': optional: true '@next/swc-linux-arm64-musl@15.3.2': optional: true - '@next/swc-linux-arm64-musl@15.4.0-canary.128': + '@next/swc-linux-arm64-musl@15.5.2': optional: true '@next/swc-linux-x64-gnu@15.3.2': optional: true - '@next/swc-linux-x64-gnu@15.4.0-canary.128': + '@next/swc-linux-x64-gnu@15.5.2': optional: true '@next/swc-linux-x64-musl@15.3.2': optional: true - '@next/swc-linux-x64-musl@15.4.0-canary.128': + '@next/swc-linux-x64-musl@15.5.2': optional: true '@next/swc-win32-arm64-msvc@15.3.2': optional: true - '@next/swc-win32-arm64-msvc@15.4.0-canary.128': + '@next/swc-win32-arm64-msvc@15.5.2': optional: true '@next/swc-win32-x64-msvc@15.3.2': optional: true - '@next/swc-win32-x64-msvc@15.4.0-canary.128': + '@next/swc-win32-x64-msvc@15.5.2': optional: true '@nodelib/fs.scandir@2.1.5': @@ -11444,9 +11846,9 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@nosecone/next@1.0.0-beta.7(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': + '@nosecone/next@1.0.0-beta.7(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: - next: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) nosecone: 1.0.0-beta.7 '@opentelemetry/api-logs@0.50.0': @@ -11732,7 +12134,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.57.2 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.13.2 + import-in-the-middle: 1.14.2 require-in-the-middle: 7.5.2 semver: 7.7.2 shimmer: 1.2.1 @@ -11893,7 +12295,7 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@prisma/instrumentation@6.8.2(@opentelemetry/api@1.9.0)': + '@prisma/instrumentation@6.11.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) @@ -11931,14 +12333,16 @@ snapshots: '@radix-ui/primitive@1.1.2': {} - '@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/primitive@1.1.3': {} + + '@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -11949,23 +12353,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-accordion@1.2.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-collapsible': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-collection': 1.1.6(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-accordion@1.2.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -11983,22 +12370,39 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-accordion@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) + + '@radix-ui/react-accordion@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + optionalDependencies: + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-accordion@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12017,12 +12421,12 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-alert-dialog@1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) react: 19.1.0 @@ -12031,19 +12435,19 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-alert-dialog@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-alert-dialog@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-alert-dialog@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12059,14 +12463,14 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-arrow@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12095,14 +12499,14 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12126,17 +12530,17 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-avatar@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-avatar@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-avatar@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12150,21 +12554,21 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-checkbox@1.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12182,12 +12586,12 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-checkbox@1.3.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -12198,22 +12602,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-collapsible@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-collapsible@1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -12230,21 +12618,37 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-collapsible@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) + + '@radix-ui/react-collapsible@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + optionalDependencies: + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12262,17 +12666,17 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-collection@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-collection@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-collection@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12286,18 +12690,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-collection@1.1.6(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-collection@1.1.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -12310,6 +12702,18 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) + '@radix-ui/react-collection@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + optionalDependencies: + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -12322,11 +12726,11 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12334,11 +12738,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12346,19 +12750,19 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-context-menu@2.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-context-menu@2.2.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-context-menu@2.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12374,11 +12778,11 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-context@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-context@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-context@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12386,11 +12790,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-context@1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-context@1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-context@1.1.2(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12398,17 +12802,17 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-dialog@1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) @@ -12420,27 +12824,27 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) aria-hidden: 1.2.6 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-remove-scroll: 2.7.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-dialog@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12464,11 +12868,11 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-direction@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-direction@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-direction@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12476,11 +12880,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-direction@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-direction@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-direction@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12488,9 +12892,9 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -12501,18 +12905,18 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12540,13 +12944,13 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-dropdown-menu@2.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-menu': 2.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) react: 19.1.0 @@ -12555,20 +12959,20 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12585,11 +12989,11 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12597,22 +13001,22 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.4)(react@19.1.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12636,19 +13040,19 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-form@0.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-form@0.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-form@0.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12664,22 +13068,22 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-hover-card@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-hover-card@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-hover-card@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12702,12 +13106,12 @@ snapshots: dependencies: react: 19.1.0 - '@radix-ui/react-id@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-id@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12716,12 +13120,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-id@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-id@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-id@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -12730,14 +13134,14 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-label@2.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-label@2.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-label@2.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12757,22 +13161,22 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-menu@2.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) aria-hidden: 1.2.6 @@ -12783,31 +13187,31 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-menu@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-menu@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) aria-hidden: 1.2.6 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-remove-scroll: 2.7.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-menu@2.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12835,23 +13239,23 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-menubar@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-menubar@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-menubar@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12871,16 +13275,16 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-navigation-menu@1.2.13(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) @@ -12893,27 +13297,27 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-navigation-menu@1.2.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -12937,18 +13341,18 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popover@1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) @@ -12960,28 +13364,28 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) aria-hidden: 1.2.6 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-remove-scroll: 2.7.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-popover@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13006,23 +13410,23 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@floating-ui/react-dom': 2.1.3(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) '@radix-ui/rect': 1.1.0 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-popper@1.2.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13060,9 +13464,9 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popper@1.2.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@floating-ui/react-dom': 2.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -13078,15 +13482,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-portal@1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-portal@1.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13118,15 +13522,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13138,16 +13542,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-presence@1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -13158,14 +13552,34 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) + + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.4)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.4 + '@types/react-dom': 19.1.5(@types/react@19.1.4) + + '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + optionalDependencies: + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13176,15 +13590,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-primitive@2.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/react-slot': 1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) - '@radix-ui/react-primitive@2.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-slot': 1.2.2(@types/react@19.1.4)(react@19.1.0) @@ -13194,6 +13599,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) + '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) + optionalDependencies: + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) @@ -13203,15 +13617,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-progress@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-progress@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-progress@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13233,23 +13647,23 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-radio-group@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-radio-group@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-radio-group@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13269,15 +13683,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-radio-group@1.3.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -13287,22 +13701,22 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13321,9 +13735,9 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -13338,22 +13752,39 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.4)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.4 + '@types/react-dom': 19.1.5(@types/react@19.1.4) + + '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13372,51 +13803,34 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-scroll-area@1.2.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.4)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - - '@radix-ui/react-select@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-select@2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) aria-hidden: 1.2.6 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-remove-scroll: 2.7.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-select@2.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13447,19 +13861,19 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-select@2.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.4)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-slot': 1.2.3(@types/react@19.1.4)(react@19.1.0) @@ -13476,14 +13890,14 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-separator@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13503,24 +13917,24 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-slider@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-slider@1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-slider@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13541,12 +13955,12 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-slot@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-slot@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-slot@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13555,13 +13969,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-slot@1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react: 19.0.0-rc-66855b96-20241106 - optionalDependencies: - '@types/react': 18.3.23 - '@radix-ui/react-slot@1.2.2(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -13569,6 +13976,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 + '@radix-ui/react-slot@1.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react: 19.0.0-rc-66855b96-20241106 + optionalDependencies: + '@types/react': 18.3.24 + '@radix-ui/react-slot@1.2.3(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -13576,20 +13990,20 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-switch@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-switch@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-switch@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13606,9 +14020,9 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-switch@1.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -13621,15 +14035,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-tabs@1.1.12(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-direction': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -13637,21 +14051,21 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-tabs@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-tabs@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-tabs@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13669,15 +14083,15 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-toast@1.2.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toast@1.2.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.2 + '@radix-ui/primitive': 1.1.3 '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-context': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.4)(react@19.1.0) @@ -13689,25 +14103,25 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-toast@1.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-toast@1.2.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-toast@1.2.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13729,20 +14143,20 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-toggle-group@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13759,16 +14173,16 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-toggle@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-toggle@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-toggle@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13781,20 +14195,20 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-toolbar@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-toolbar@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-toolbar@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13811,25 +14225,25 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-tooltip@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-tooltip@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-tooltip@1.1.7(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -13871,11 +14285,11 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13889,12 +14303,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13903,13 +14317,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13919,12 +14333,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13933,12 +14347,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13961,11 +14375,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13973,11 +14387,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -13985,11 +14399,11 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-previous@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -14003,12 +14417,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: '@radix-ui/rect': 1.1.0 react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -14024,12 +14438,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@radix-ui/react-use-size@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: @@ -14045,14 +14459,14 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': + '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106)': dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: @@ -15849,7 +16263,7 @@ snapshots: '@react-email/render@1.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: html-to-text: 9.0.5 - prettier: 3.5.3 + prettier: 3.6.2 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-promise-suspense: 0.3.4 @@ -16653,7 +17067,7 @@ snapshots: estree-walker: 2.0.2 fdir: 6.4.5(picomatch@4.0.2) is-reference: 1.2.1 - magic-string: 0.30.17 + magic-string: 0.30.18 picomatch: 4.0.2 optionalDependencies: rollup: 4.35.0 @@ -16732,40 +17146,40 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@sentry-internal/browser-utils@9.27.0': + '@sentry-internal/browser-utils@9.46.0': dependencies: - '@sentry/core': 9.27.0 + '@sentry/core': 9.46.0 - '@sentry-internal/feedback@9.27.0': + '@sentry-internal/feedback@9.46.0': dependencies: - '@sentry/core': 9.27.0 + '@sentry/core': 9.46.0 - '@sentry-internal/replay-canvas@9.27.0': + '@sentry-internal/replay-canvas@9.46.0': dependencies: - '@sentry-internal/replay': 9.27.0 - '@sentry/core': 9.27.0 + '@sentry-internal/replay': 9.46.0 + '@sentry/core': 9.46.0 - '@sentry-internal/replay@9.27.0': + '@sentry-internal/replay@9.46.0': dependencies: - '@sentry-internal/browser-utils': 9.27.0 - '@sentry/core': 9.27.0 + '@sentry-internal/browser-utils': 9.46.0 + '@sentry/core': 9.46.0 '@sentry/babel-plugin-component-annotate@3.5.0': {} - '@sentry/browser@9.27.0': + '@sentry/browser@9.46.0': dependencies: - '@sentry-internal/browser-utils': 9.27.0 - '@sentry-internal/feedback': 9.27.0 - '@sentry-internal/replay': 9.27.0 - '@sentry-internal/replay-canvas': 9.27.0 - '@sentry/core': 9.27.0 + '@sentry-internal/browser-utils': 9.46.0 + '@sentry-internal/feedback': 9.46.0 + '@sentry-internal/replay': 9.46.0 + '@sentry-internal/replay-canvas': 9.46.0 + '@sentry/core': 9.46.0 '@sentry/bundler-plugin-core@3.5.0': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@sentry/babel-plugin-component-annotate': 3.5.0 '@sentry/cli': 2.42.2 - dotenv: 16.5.0 + dotenv: 16.6.1 find-up: 5.0.0 glob: 9.3.5 magic-string: 0.30.8 @@ -16814,36 +17228,48 @@ snapshots: - encoding - supports-color - '@sentry/core@9.27.0': {} + '@sentry/core@9.46.0': {} - '@sentry/nextjs@9.27.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': + '@sentry/nextjs@9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.101.3)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.34.0 '@rollup/plugin-commonjs': 28.0.1(rollup@4.35.0) - '@sentry-internal/browser-utils': 9.27.0 - '@sentry/core': 9.27.0 - '@sentry/node': 9.27.0 - '@sentry/opentelemetry': 9.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) - '@sentry/react': 9.27.0(react@19.1.0) - '@sentry/vercel-edge': 9.27.0 - '@sentry/webpack-plugin': 3.5.0(webpack@5.99.9) + '@sentry-internal/browser-utils': 9.46.0 + '@sentry/core': 9.46.0 + '@sentry/node': 9.46.0 + '@sentry/opentelemetry': 9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) + '@sentry/react': 9.46.0(react@19.1.0) + '@sentry/vercel-edge': 9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)) + '@sentry/webpack-plugin': 3.5.0(webpack@5.101.3) chalk: 3.0.0 - next: 15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) resolve: 1.22.8 rollup: 4.35.0 stacktrace-parser: 0.1.11 transitivePeerDependencies: - '@opentelemetry/context-async-hooks' - '@opentelemetry/core' - - '@opentelemetry/instrumentation' - '@opentelemetry/sdk-trace-base' - encoding - react - supports-color - webpack - '@sentry/node@9.27.0': + '@sentry/node-core@9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.34.0 + '@sentry/core': 9.46.0 + '@sentry/opentelemetry': 9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) + import-in-the-middle: 1.14.2 + + '@sentry/node@9.46.0': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) @@ -16874,42 +17300,49 @@ snapshots: '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.34.0 - '@prisma/instrumentation': 6.8.2(@opentelemetry/api@1.9.0) - '@sentry/core': 9.27.0 - '@sentry/opentelemetry': 9.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) - import-in-the-middle: 1.13.2 + '@prisma/instrumentation': 6.11.1(@opentelemetry/api@1.9.0) + '@sentry/core': 9.46.0 + '@sentry/node-core': 9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) + '@sentry/opentelemetry': 9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) + import-in-the-middle: 1.14.2 minimatch: 9.0.5 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@9.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0)': + '@sentry/opentelemetry@9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.34.0 - '@sentry/core': 9.27.0 + '@sentry/core': 9.46.0 - '@sentry/react@9.27.0(react@19.1.0)': + '@sentry/react@9.46.0(react@19.1.0)': dependencies: - '@sentry/browser': 9.27.0 - '@sentry/core': 9.27.0 + '@sentry/browser': 9.46.0 + '@sentry/core': 9.46.0 hoist-non-react-statics: 3.3.2 react: 19.1.0 - '@sentry/vercel-edge@9.27.0': + '@sentry/vercel-edge@9.46.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 - '@sentry/core': 9.27.0 + '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.34.0 + '@sentry/core': 9.46.0 + '@sentry/opentelemetry': 9.46.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) + transitivePeerDependencies: + - '@opentelemetry/context-async-hooks' + - '@opentelemetry/core' + - '@opentelemetry/sdk-trace-base' - '@sentry/webpack-plugin@3.5.0(webpack@5.99.9)': + '@sentry/webpack-plugin@3.5.0(webpack@5.101.3)': dependencies: '@sentry/bundler-plugin-core': 3.5.0 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.99.9 + webpack: 5.101.3 transitivePeerDependencies: - encoding - supports-color @@ -16943,16 +17376,16 @@ snapshots: react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - '@stripe/react-stripe-js@3.7.0(@stripe/stripe-js@7.3.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@stripe/react-stripe-js@3.9.2(@stripe/stripe-js@7.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@stripe/stripe-js': 7.3.1 + '@stripe/stripe-js': 7.9.0 prop-types: 15.8.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) '@stripe/stripe-js@1.54.2': {} - '@stripe/stripe-js@7.3.1': {} + '@stripe/stripe-js@7.9.0': {} '@supabase/auth-js@2.69.1': dependencies: @@ -17011,87 +17444,87 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)))': + '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)) '@tailwindcss/forms@0.5.10(tailwindcss@4.1.7)': dependencies: mini-svg-data-uri: 1.4.4 tailwindcss: 4.1.7 - '@tailwindcss/node@4.1.10': + '@tailwindcss/node@4.1.12': dependencies: - '@ampproject/remapping': 2.3.0 - enhanced-resolve: 5.18.1 - jiti: 2.4.2 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.3 + jiti: 2.5.1 lightningcss: 1.30.1 - magic-string: 0.30.17 + magic-string: 0.30.18 source-map-js: 1.2.1 - tailwindcss: 4.1.10 + tailwindcss: 4.1.12 - '@tailwindcss/oxide-android-arm64@4.1.10': + '@tailwindcss/oxide-android-arm64@4.1.12': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.10': + '@tailwindcss/oxide-darwin-arm64@4.1.12': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.10': + '@tailwindcss/oxide-darwin-x64@4.1.12': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.10': + '@tailwindcss/oxide-freebsd-x64@4.1.12': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + '@tailwindcss/oxide-linux-arm64-gnu@4.1.12': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + '@tailwindcss/oxide-linux-arm64-musl@4.1.12': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + '@tailwindcss/oxide-linux-x64-gnu@4.1.12': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.10': + '@tailwindcss/oxide-linux-x64-musl@4.1.12': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.10': + '@tailwindcss/oxide-wasm32-wasi@4.1.12': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + '@tailwindcss/oxide-win32-arm64-msvc@4.1.12': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + '@tailwindcss/oxide-win32-x64-msvc@4.1.12': optional: true - '@tailwindcss/oxide@4.1.10': + '@tailwindcss/oxide@4.1.12': dependencies: detect-libc: 2.0.4 tar: 7.4.3 optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.10 - '@tailwindcss/oxide-darwin-arm64': 4.1.10 - '@tailwindcss/oxide-darwin-x64': 4.1.10 - '@tailwindcss/oxide-freebsd-x64': 4.1.10 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.10 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.10 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.10 - '@tailwindcss/oxide-linux-x64-musl': 4.1.10 - '@tailwindcss/oxide-wasm32-wasi': 4.1.10 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 + '@tailwindcss/oxide-android-arm64': 4.1.12 + '@tailwindcss/oxide-darwin-arm64': 4.1.12 + '@tailwindcss/oxide-darwin-x64': 4.1.12 + '@tailwindcss/oxide-freebsd-x64': 4.1.12 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.12 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.12 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.12 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.12 + '@tailwindcss/oxide-linux-x64-musl': 4.1.12 + '@tailwindcss/oxide-wasm32-wasi': 4.1.12 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.12 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.12 - '@tailwindcss/postcss@4.1.10': + '@tailwindcss/postcss@4.1.12': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.10 - '@tailwindcss/oxide': 4.1.10 + '@tailwindcss/node': 4.1.12 + '@tailwindcss/oxide': 4.1.12 postcss: 8.5.6 - tailwindcss: 4.1.10 + tailwindcss: 4.1.12 '@tanstack/query-core@5.76.0': {} @@ -17137,7 +17570,7 @@ snapshots: y-provider: 0.10.0-canary.9(yjs@13.6.27) yjs: 13.6.27 - '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3)': + '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.6.2)': dependencies: '@babel/generator': 7.27.5 '@babel/parser': 7.27.5 @@ -17145,15 +17578,13 @@ snapshots: '@babel/types': 7.27.6 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 3.5.3 + prettier: 3.6.2 transitivePeerDependencies: - supports-color - '@trpc/server@11.3.1(typescript@5.8.3)': + '@trpc/server@11.3.1(typescript@5.9.2)': dependencies: - typescript: 5.8.3 - - '@trysound/sax@0.2.0': {} + typescript: 5.9.2 '@ts-gql/tag@0.7.3(graphql@16.11.0)': dependencies: @@ -17178,28 +17609,28 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.32 + '@types/node': 24.3.0 '@types/d3-array@3.2.1': {} @@ -17249,7 +17680,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.18.0 '@types/hast@3.0.4': dependencies: @@ -17274,12 +17705,12 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 22.15.32 + '@types/node': 22.18.0 '@types/linkify-it@3.0.5': optional: true - '@types/lodash@4.17.17': {} + '@types/lodash@4.17.20': {} '@types/markdown-it@12.2.3': dependencies: @@ -17298,43 +17729,38 @@ snapshots: '@types/mysql@2.15.26': dependencies: - '@types/node': 22.15.32 + '@types/node': 24.3.0 '@types/node@17.0.21': {} - '@types/node@22.15.30': + '@types/node@22.18.0': dependencies: undici-types: 6.21.0 - '@types/node@22.15.32': + '@types/node@24.3.0': dependencies: - undici-types: 6.21.0 - - '@types/node@24.0.3': - dependencies: - undici-types: 7.8.0 - optional: true + undici-types: 7.10.0 '@types/nodemailer@6.4.17': dependencies: - '@types/node': 22.15.32 + '@types/node': 24.3.0 '@types/parse-json@4.0.2': {} '@types/pg-pool@2.0.6': dependencies: - '@types/pg': 8.15.4 + '@types/pg': 8.6.1 - '@types/pg@8.15.4': + '@types/pg@8.15.5': dependencies: - '@types/node': 22.15.32 + '@types/node': 17.0.21 pg-protocol: 1.10.0 pg-types: 2.2.0 '@types/pg@8.6.1': dependencies: - '@types/node': 22.15.32 - pg-protocol: 1.10.0 + '@types/node': 24.3.0 + pg-protocol: 1.10.3 pg-types: 2.2.0 '@types/phoenix@1.6.6': {} @@ -17343,9 +17769,9 @@ snapshots: '@types/prop-types@15.7.15': {} - '@types/react-dom@18.3.7(@types/react@18.3.23)': + '@types/react-dom@18.3.7(@types/react@18.3.24)': dependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@types/react-dom@19.1.5(@types/react@19.1.4)': dependencies: @@ -17353,16 +17779,16 @@ snapshots: '@types/react-instantsearch-core@6.26.10': dependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 algoliasearch: 5.31.0 algoliasearch-helper: 3.26.0(algoliasearch@5.31.0) '@types/react-instantsearch-dom@6.12.9': dependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 '@types/react-instantsearch-core': 6.26.10 - '@types/react@18.3.23': + '@types/react@18.3.24': dependencies: '@types/prop-types': 15.7.15 csstype: 3.1.3 @@ -17377,7 +17803,7 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 22.15.32 + '@types/node': 24.3.0 '@types/unist@2.0.11': {} @@ -17385,7 +17811,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.18.0 '@types/yargs-parser@21.0.3': {} @@ -17393,99 +17819,99 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/type-utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.32.1 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint@8.10.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint@8.10.0)(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/type-utils': 8.33.1(eslint@8.10.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.33.1(eslint@8.10.0)(typescript@5.9.2) + '@typescript-eslint/utils': 8.33.1(eslint@8.10.0)(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.33.1 eslint: 8.10.0 graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.33.1 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 - '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.32.1 debug: 4.4.1 - eslint: 9.28.0(jiti@2.4.2) - typescript: 5.8.3 + eslint: 9.34.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.33.1 debug: 4.4.1 eslint: 8.10.0 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.33.1 debug: 4.4.1 - eslint: 9.28.0(jiti@2.4.2) - typescript: 5.8.3 + eslint: 9.34.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/project-service@8.33.1(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.9.2) '@typescript-eslint/types': 8.33.1 debug: 4.4.1 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -17499,40 +17925,40 @@ snapshots: '@typescript-eslint/types': 8.33.1 '@typescript-eslint/visitor-keys': 8.33.1 - '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.9.2)': dependencies: - typescript: 5.8.3 + typescript: 5.9.2 - '@typescript-eslint/type-utils@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.28.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + eslint: 9.34.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.33.1(eslint@8.10.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.33.1(eslint@8.10.0)(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) + '@typescript-eslint/utils': 8.33.1(eslint@8.10.0)(typescript@5.9.2) debug: 4.4.1 eslint: 8.10.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) + '@typescript-eslint/utils': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 - eslint: 9.28.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + eslint: 9.34.0(jiti@2.5.1) + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -17540,7 +17966,7 @@ snapshots: '@typescript-eslint/types@8.33.1': {} - '@typescript-eslint/typescript-estree@8.32.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.32.1(typescript@5.9.2)': dependencies: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 @@ -17549,15 +17975,15 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/project-service': 8.33.1(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.9.2) '@typescript-eslint/types': 8.33.1 '@typescript-eslint/visitor-keys': 8.33.1 debug: 4.4.1 @@ -17565,53 +17991,53 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 - '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) - typescript: 5.8.3 + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.33.1(eslint@8.10.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.33.1(eslint@8.10.0)(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@8.10.0) '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) eslint: 8.10.0 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.33.1 '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) - typescript: 5.8.3 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color '@typescript-eslint/visitor-keys@8.32.1': dependencies: '@typescript-eslint/types': 8.32.1 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 '@typescript-eslint/visitor-keys@8.33.1': dependencies: '@typescript-eslint/types': 8.33.1 - eslint-visitor-keys: 4.2.0 + eslint-visitor-keys: 4.2.1 '@unrs/resolver-binding-darwin-arm64@1.7.11': optional: true @@ -17779,9 +18205,13 @@ snapshots: dependencies: acorn: 8.14.1 - acorn-jsx@5.3.2(acorn@8.14.1): + acorn-import-attributes@1.9.5(acorn@8.15.0): dependencies: - acorn: 8.14.1 + acorn: 8.15.0 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 acorn-jsx@5.3.2(acorn@8.15.0): dependencies: @@ -17988,37 +18418,37 @@ snapshots: axe-core@4.10.3: {} - axios@1.10.0: + axios@1.11.0: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.3 + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug axobject-query@4.1.0: {} - babel-jest@29.7.0(@babel/core@7.27.4): + babel-jest@29.7.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.27.4) + babel-preset-jest: 29.6.3(@babel/core@7.28.3) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-loader@8.4.1(@babel/core@7.27.4)(webpack@5.99.9): + babel-loader@8.4.1(@babel/core@7.28.3)(webpack@5.101.3): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.99.9 + webpack: 5.101.3 babel-plugin-istanbul@6.1.1: dependencies: @@ -18033,7 +18463,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.27.6 + '@babel/types': 7.28.2 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.7 @@ -18047,30 +18477,30 @@ snapshots: dependencies: '@babel/types': 7.27.6 - babel-preset-current-node-syntax@1.1.0(@babel/core@7.27.4): + babel-preset-current-node-syntax@1.1.0(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.4) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.4) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.4) + '@babel/core': 7.28.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) - babel-preset-jest@29.6.3(@babel/core@7.27.4): + babel-preset-jest@29.6.3(@babel/core@7.28.3): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.4) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.3) balanced-match@1.0.2: {} @@ -18110,6 +18540,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) + browserslist@4.25.4: + dependencies: + caniuse-lite: 1.0.30001739 + electron-to-chromium: 1.5.213 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.4) + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -18154,13 +18591,15 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.25.0 - caniuse-lite: 1.0.30001723 + browserslist: 4.25.4 + caniuse-lite: 1.0.30001739 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 caniuse-lite@1.0.30001723: {} + caniuse-lite@1.0.30001739: {} + ccount@2.0.1: {} chalk@3.0.0: @@ -18226,7 +18665,7 @@ snapshots: cmdk@1.1.1(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.4)(react@19.1.0) - '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-id': 1.1.1(@types/react@19.1.4)(react@19.1.0) '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 @@ -18265,6 +18704,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commander@11.1.0: {} + commander@2.20.3: {} commander@4.1.1: {} @@ -18297,13 +18738,13 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - create-jest@29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)): + create-jest@29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -18324,10 +18765,10 @@ snapshots: dependencies: postcss: 8.5.6 - css-select@5.1.0: + css-select@5.2.2: dependencies: boolbase: 1.0.0 - css-what: 6.1.0 + css-what: 6.2.2 domhandler: 5.0.3 domutils: 3.2.2 nth-check: 2.1.1 @@ -18337,33 +18778,33 @@ snapshots: mdn-data: 2.0.28 source-map-js: 1.2.1 - css-tree@2.3.1: + css-tree@3.1.0: dependencies: - mdn-data: 2.0.30 + mdn-data: 2.12.2 source-map-js: 1.2.1 - css-what@6.1.0: {} + css-what@6.2.2: {} cssesc@3.0.0: {} - cssnano-preset-default@7.0.7(postcss@8.5.6): + cssnano-preset-default@7.0.9(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 css-declaration-sorter: 7.2.0(postcss@8.5.6) cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-calc: 10.1.1(postcss@8.5.6) - postcss-colormin: 7.0.3(postcss@8.5.6) - postcss-convert-values: 7.0.5(postcss@8.5.6) + postcss-colormin: 7.0.4(postcss@8.5.6) + postcss-convert-values: 7.0.7(postcss@8.5.6) postcss-discard-comments: 7.0.4(postcss@8.5.6) postcss-discard-duplicates: 7.0.2(postcss@8.5.6) postcss-discard-empty: 7.0.1(postcss@8.5.6) postcss-discard-overridden: 7.0.1(postcss@8.5.6) postcss-merge-longhand: 7.0.5(postcss@8.5.6) - postcss-merge-rules: 7.0.5(postcss@8.5.6) + postcss-merge-rules: 7.0.6(postcss@8.5.6) postcss-minify-font-values: 7.0.1(postcss@8.5.6) postcss-minify-gradients: 7.0.1(postcss@8.5.6) - postcss-minify-params: 7.0.3(postcss@8.5.6) + postcss-minify-params: 7.0.4(postcss@8.5.6) postcss-minify-selectors: 7.0.5(postcss@8.5.6) postcss-normalize-charset: 7.0.1(postcss@8.5.6) postcss-normalize-display-values: 7.0.1(postcss@8.5.6) @@ -18371,22 +18812,22 @@ snapshots: postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6) postcss-normalize-string: 7.0.1(postcss@8.5.6) postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6) - postcss-normalize-unicode: 7.0.3(postcss@8.5.6) + postcss-normalize-unicode: 7.0.4(postcss@8.5.6) postcss-normalize-url: 7.0.1(postcss@8.5.6) postcss-normalize-whitespace: 7.0.1(postcss@8.5.6) postcss-ordered-values: 7.0.2(postcss@8.5.6) - postcss-reduce-initial: 7.0.3(postcss@8.5.6) + postcss-reduce-initial: 7.0.4(postcss@8.5.6) postcss-reduce-transforms: 7.0.1(postcss@8.5.6) - postcss-svgo: 7.0.2(postcss@8.5.6) + postcss-svgo: 7.1.0(postcss@8.5.6) postcss-unique-selectors: 7.0.4(postcss@8.5.6) cssnano-utils@5.0.1(postcss@8.5.6): dependencies: postcss: 8.5.6 - cssnano@7.0.7(postcss@8.5.6): + cssnano@7.1.1(postcss@8.5.6): dependencies: - cssnano-preset-default: 7.0.7(postcss@8.5.6) + cssnano-preset-default: 7.0.9(postcss@8.5.6) lilconfig: 3.1.3 postcss: 8.5.6 @@ -18396,11 +18837,11 @@ snapshots: csstype@3.1.3: {} - cva@1.0.0-beta.1(typescript@5.8.3): + cva@1.0.0-beta.1(typescript@5.9.2): dependencies: clsx: 2.0.0 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 d3-array@3.2.4: dependencies: @@ -18561,7 +19002,7 @@ snapshots: dotenv@16.0.3: {} - dotenv@16.5.0: {} + dotenv@16.6.1: {} dunder-proto@1.0.1: dependencies: @@ -18579,6 +19020,8 @@ snapshots: electron-to-chromium@1.5.168: {} + electron-to-chromium@1.5.213: {} + emery@1.4.4: {} emittery@0.13.1: {} @@ -18598,6 +19041,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.2 + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.3 + entities@4.5.0: {} error-ex@1.3.2: @@ -18715,50 +19163,50 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-next@15.0.3(eslint@8.10.0)(typescript@5.8.3): + eslint-config-next@15.0.3(eslint@8.10.0)(typescript@5.9.2): dependencies: '@next/eslint-plugin-next': 15.0.3 '@rushstack/eslint-patch': 1.11.0 - '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint@8.10.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint@8.10.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.9.2) eslint: 8.10.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@8.10.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint@8.10.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint@8.10.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.10.0) eslint-plugin-react: 7.37.5(eslint@8.10.0) eslint-plugin-react-hooks: 5.2.0(eslint@8.10.0) optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - eslint-import-resolver-webpack - eslint-plugin-import-x - supports-color - eslint-config-next@15.3.2(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + eslint-config-next@15.3.2(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): dependencies: '@next/eslint-plugin-next': 15.3.2 '@rushstack/eslint-patch': 1.11.0 - '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-react: 7.37.5(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.28.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-react: 7.37.5(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.34.0(jiti@2.5.1)) optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - eslint-import-resolver-webpack - eslint-plugin-import-x - supports-color - eslint-config-turbo@2.5.4(eslint@9.28.0(jiti@2.4.2))(turbo@2.5.4): + eslint-config-turbo@2.5.6(eslint@9.34.0(jiti@2.5.1))(turbo@2.5.4): dependencies: - eslint: 9.28.0(jiti@2.4.2) - eslint-plugin-turbo: 2.5.4(eslint@9.28.0(jiti@2.4.2))(turbo@2.5.4) + eslint: 9.34.0(jiti@2.5.1) + eslint-plugin-turbo: 2.5.6(eslint@9.34.0(jiti@2.5.1))(turbo@2.5.4) turbo: 2.5.4 eslint-import-resolver-node@0.3.9: @@ -18780,48 +19228,48 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.7.11 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint@8.10.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint@8.10.0) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@9.34.0(jiti@2.5.1)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.1 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.14 unrs-resolver: 1.7.11 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.10.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.10.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.9.2) eslint: 8.10.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@8.10.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.28.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -18830,9 +19278,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.28.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -18844,13 +19292,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint@8.10.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint@8.10.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -18861,7 +19309,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.10.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.10.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.10.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.10.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -18873,7 +19321,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@8.10.0)(typescript@5.9.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -18898,7 +19346,7 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-jsx-a11y@6.10.2(eslint@9.28.0(jiti@2.4.2)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.34.0(jiti@2.5.1)): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -18908,7 +19356,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -18921,9 +19369,9 @@ snapshots: dependencies: eslint: 8.10.0 - eslint-plugin-react-hooks@5.2.0(eslint@9.28.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.2.0(eslint@9.34.0(jiti@2.5.1)): dependencies: - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) eslint-plugin-react@7.37.5(eslint@8.10.0): dependencies: @@ -18947,7 +19395,7 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@2.4.2)): + eslint-plugin-react@7.37.5(eslint@9.34.0(jiti@2.5.1)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -18955,7 +19403,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -18969,10 +19417,10 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.5.4(eslint@9.28.0(jiti@2.4.2))(turbo@2.5.4): + eslint-plugin-turbo@2.5.6(eslint@9.34.0(jiti@2.5.1))(turbo@2.5.4): dependencies: dotenv: 16.0.3 - eslint: 9.28.0(jiti@2.4.2) + eslint: 9.34.0(jiti@2.5.1) turbo: 2.5.4 eslint-scope@5.1.1: @@ -18985,7 +19433,7 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.3.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -18999,7 +19447,7 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} eslint@8.10.0: dependencies: @@ -19041,16 +19489,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.28.0(jiti@2.4.2): + eslint@9.34.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.0 - '@eslint/config-helpers': 0.2.2 - '@eslint/core': 0.14.0 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.1 + '@eslint/core': 0.15.2 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.28.0 - '@eslint/plugin-kit': 0.3.1 + '@eslint/js': 9.34.0 + '@eslint/plugin-kit': 0.3.5 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -19061,9 +19509,9 @@ snapshots: cross-spawn: 7.0.6 debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -19079,15 +19527,15 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 transitivePeerDependencies: - supports-color - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 espree@9.6.1: dependencies: @@ -19263,7 +19711,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.3: + form-data@4.0.4: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -19475,11 +19923,11 @@ snapshots: dependencies: '@babel/runtime': 7.27.6 - i18next@25.1.3(typescript@5.8.3): + i18next@25.1.3(typescript@5.9.2): dependencies: '@babel/runtime': 7.27.6 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 idb-keyval@6.2.2: {} @@ -19503,6 +19951,13 @@ snapshots: cjs-module-lexer: 1.4.3 module-details-from-path: 1.0.4 + import-in-the-middle@1.14.2: + dependencies: + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) + cjs-module-lexer: 1.4.3 + module-details-from-path: 1.0.4 + import-in-the-middle@1.7.1: dependencies: acorn: 8.15.0 @@ -19695,10 +20150,10 @@ snapshots: isexe@2.0.0: {} - isikukood@3.1.7(@babel/core@7.27.4)(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)): + isikukood@3.1.7(@babel/core@7.28.3)(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): dependencies: - babel-jest: 29.7.0(@babel/core@7.27.4) - jest: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + babel-jest: 29.7.0(@babel/core@7.28.3) + jest: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) transitivePeerDependencies: - '@babel/core' - '@types/node' @@ -19713,8 +20168,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.27.4 - '@babel/parser': 7.27.5 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -19723,8 +20178,8 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.27.4 - '@babel/parser': 7.27.5 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.7.2 @@ -19779,7 +20234,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 chalk: 4.1.2 co: 4.6.0 dedent: 1.6.0(babel-plugin-macros@3.1.0) @@ -19799,16 +20254,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)): + jest-cli@29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + create-jest: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -19818,12 +20273,12 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.27.4) + babel-jest: 29.7.0(@babel/core@7.28.3) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -19843,8 +20298,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.15.32 - ts-node: 10.9.2(@types/node@22.15.32)(typescript@5.8.3) + '@types/node': 22.18.0 + ts-node: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -19873,7 +20328,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -19883,7 +20338,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.15.32 + '@types/node': 22.18.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -19922,7 +20377,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -19957,7 +20412,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -19985,7 +20440,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.2 @@ -20005,15 +20460,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) - '@babel/types': 7.27.6 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/types': 7.28.2 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.4) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.3) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -20031,7 +20486,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -20050,7 +20505,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.15.32 + '@types/node': 22.18.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -20059,23 +20514,23 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.15.32 + '@types/node': 17.0.21 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.15.32 + '@types/node': 22.18.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)): + jest@29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.32)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3)) + jest-cli: 29.7.0(@types/node@22.18.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -20084,7 +20539,7 @@ snapshots: jiti@1.21.7: {} - jiti@2.4.2: {} + jiti@2.5.1: {} joycon@3.1.1: {} @@ -20288,13 +20743,13 @@ snapshots: dependencies: react: 19.1.0 - magic-string@0.30.17: + magic-string@0.30.18: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 magic-string@0.30.8: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 make-dir@3.1.0: dependencies: @@ -20448,7 +20903,7 @@ snapshots: mdn-data@2.0.28: {} - mdn-data@2.0.30: {} + mdn-data@2.12.2: {} merge-stream@2.0.0: {} @@ -20745,20 +21200,20 @@ snapshots: neo-async@2.6.2: {} - next-sitemap@4.2.3(next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): + next-sitemap@4.2.3(next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): dependencies: '@corex/deepmerge': 4.0.43 '@next/env': 13.5.11 fast-glob: 3.3.3 minimist: 1.2.8 - next: 15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106): + next@15.3.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@next/env': 15.3.2 '@swc/counter': 0.1.3 @@ -20766,73 +21221,71 @@ snapshots: busboy: 1.6.0 caniuse-lite: 1.0.30001723 postcss: 8.4.31 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + styled-jsx: 5.1.6(@babel/core@7.28.3)(babel-plugin-macros@3.1.0)(react@19.1.0) + optionalDependencies: + '@next/swc-darwin-arm64': 15.3.2 + '@next/swc-darwin-x64': 15.3.2 + '@next/swc-linux-arm64-gnu': 15.3.2 + '@next/swc-linux-arm64-musl': 15.3.2 + '@next/swc-linux-x64-gnu': 15.3.2 + '@next/swc-linux-x64-musl': 15.3.2 + '@next/swc-win32-arm64-msvc': 15.3.2 + '@next/swc-win32-x64-msvc': 15.3.2 + '@opentelemetry/api': 1.9.0 + babel-plugin-react-compiler: 19.1.0-rc.2 + sharp: 0.34.2 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106): + dependencies: + '@next/env': 15.5.2 + '@swc/helpers': 0.5.15 + caniuse-lite: 1.0.30001723 + postcss: 8.4.31 react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) - styled-jsx: 5.1.6(@babel/core@7.27.4)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-66855b96-20241106) + styled-jsx: 5.1.6(@babel/core@7.28.3)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@next/swc-darwin-arm64': 15.3.2 - '@next/swc-darwin-x64': 15.3.2 - '@next/swc-linux-arm64-gnu': 15.3.2 - '@next/swc-linux-arm64-musl': 15.3.2 - '@next/swc-linux-x64-gnu': 15.3.2 - '@next/swc-linux-x64-musl': 15.3.2 - '@next/swc-win32-arm64-msvc': 15.3.2 - '@next/swc-win32-x64-msvc': 15.3.2 + '@next/swc-darwin-arm64': 15.5.2 + '@next/swc-darwin-x64': 15.5.2 + '@next/swc-linux-arm64-gnu': 15.5.2 + '@next/swc-linux-arm64-musl': 15.5.2 + '@next/swc-linux-x64-gnu': 15.5.2 + '@next/swc-linux-x64-musl': 15.5.2 + '@next/swc-win32-arm64-msvc': 15.5.2 + '@next/swc-win32-x64-msvc': 15.5.2 '@opentelemetry/api': 1.9.0 babel-plugin-react-compiler: 19.1.0-rc.2 - sharp: 0.34.2 + sharp: 0.34.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@15.3.2(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next@15.5.2(@babel/core@7.28.3)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@next/env': 15.3.2 - '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.15 - busboy: 1.6.0 - caniuse-lite: 1.0.30001723 - postcss: 8.4.31 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.27.4)(babel-plugin-macros@3.1.0)(react@19.1.0) - optionalDependencies: - '@next/swc-darwin-arm64': 15.3.2 - '@next/swc-darwin-x64': 15.3.2 - '@next/swc-linux-arm64-gnu': 15.3.2 - '@next/swc-linux-arm64-musl': 15.3.2 - '@next/swc-linux-x64-gnu': 15.3.2 - '@next/swc-linux-x64-musl': 15.3.2 - '@next/swc-win32-arm64-msvc': 15.3.2 - '@next/swc-win32-x64-msvc': 15.3.2 - '@opentelemetry/api': 1.9.0 - babel-plugin-react-compiler: 19.1.0-rc.2 - sharp: 0.34.2 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - next@15.4.0-canary.128(@babel/core@7.27.4)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - '@next/env': 15.4.0-canary.128 + '@next/env': 15.5.2 '@swc/helpers': 0.5.15 caniuse-lite: 1.0.30001723 postcss: 8.4.31 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.27.4)(babel-plugin-macros@3.1.0)(react@19.1.0) + styled-jsx: 5.1.6(@babel/core@7.28.3)(babel-plugin-macros@3.1.0)(react@19.1.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.4.0-canary.128 - '@next/swc-darwin-x64': 15.4.0-canary.128 - '@next/swc-linux-arm64-gnu': 15.4.0-canary.128 - '@next/swc-linux-arm64-musl': 15.4.0-canary.128 - '@next/swc-linux-x64-gnu': 15.4.0-canary.128 - '@next/swc-linux-x64-musl': 15.4.0-canary.128 - '@next/swc-win32-arm64-msvc': 15.4.0-canary.128 - '@next/swc-win32-x64-msvc': 15.4.0-canary.128 + '@next/swc-darwin-arm64': 15.5.2 + '@next/swc-darwin-x64': 15.5.2 + '@next/swc-linux-arm64-gnu': 15.5.2 + '@next/swc-linux-arm64-musl': 15.5.2 + '@next/swc-linux-x64-gnu': 15.5.2 + '@next/swc-linux-x64-musl': 15.5.2 + '@next/swc-win32-arm64-msvc': 15.5.2 + '@next/swc-win32-x64-msvc': 15.5.2 '@opentelemetry/api': 1.9.0 babel-plugin-react-compiler: 19.1.0-rc.2 - sharp: 0.34.2 + sharp: 0.34.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -20858,7 +21311,7 @@ snapshots: node-releases@2.0.19: {} - nodemailer@7.0.3: {} + nodemailer@7.0.6: {} normalize-path@3.0.0: {} @@ -21070,7 +21523,7 @@ snapshots: dependencies: split2: 4.2.0 - pino-pretty@13.0.0: + pino-pretty@13.1.1: dependencies: colorette: 2.0.20 dateformat: 4.6.3 @@ -21082,13 +21535,13 @@ snapshots: on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 pump: 3.0.3 - secure-json-parse: 2.7.0 + secure-json-parse: 4.0.0 sonic-boom: 4.2.0 - strip-json-comments: 3.1.1 + strip-json-comments: 5.0.3 pino-std-serializers@7.0.0: {} - pino@9.7.0: + pino@9.9.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -21116,17 +21569,17 @@ snapshots: postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.3(postcss@8.5.6): + postcss-colormin@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.5(postcss@8.5.6): + postcss-convert-values@7.0.7(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -21159,23 +21612,23 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)): + postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)): dependencies: lilconfig: 3.1.3 yaml: 2.8.0 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@types/node@17.0.21)(typescript@5.8.3) + ts-node: 10.9.2(@types/node@17.0.21)(typescript@5.9.2) postcss-merge-longhand@7.0.5(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - stylehacks: 7.0.5(postcss@8.5.6) + stylehacks: 7.0.6(postcss@8.5.6) - postcss-merge-rules@7.0.5(postcss@8.5.6): + postcss-merge-rules@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 caniuse-api: 3.0.0 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 @@ -21193,9 +21646,9 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.3(postcss@8.5.6): + postcss-minify-params@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -21240,9 +21693,9 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.3(postcss@8.5.6): + postcss-normalize-unicode@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -21262,9 +21715,9 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.3(postcss@8.5.6): + postcss-reduce-initial@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 caniuse-api: 3.0.0 postcss: 8.5.6 @@ -21283,11 +21736,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.0.2(postcss@8.5.6): + postcss-svgo@7.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 - svgo: 3.3.2 + svgo: 4.0.0 postcss-unique-selectors@7.0.4(postcss@8.5.6): dependencies: @@ -21320,15 +21773,15 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.12(@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.3))(prettier@3.5.3): + prettier-plugin-tailwindcss@0.6.14(@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.6.2))(prettier@3.6.2): dependencies: - prettier: 3.5.3 + prettier: 3.6.2 optionalDependencies: - '@trivago/prettier-plugin-sort-imports': 5.2.2(prettier@3.5.3) + '@trivago/prettier-plugin-sort-imports': 5.2.2(prettier@3.6.2) prettier@2.8.8: {} - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-format@29.7.0: dependencies: @@ -21427,7 +21880,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.15.32 + '@types/node': 24.3.0 long: 5.3.2 proxy-from-env@1.1.0: {} @@ -21449,63 +21902,63 @@ snapshots: quick-format-unescaped@4.0.4: {} - radix-ui@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106): + radix-ui@1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106): dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-accessible-icon': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-alert-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-aspect-ratio': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-avatar': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-checkbox': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-context-menu': 2.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-dropdown-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-form': 0.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-hover-card': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-menubar': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-progress': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-radio-group': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-select': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slider': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-switch': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toast': 1.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-toolbar': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-tooltip': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-accessible-icon': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-accordion': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-alert-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-aspect-ratio': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-avatar': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-checkbox': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-context-menu': 2.2.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dialog': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-dropdown-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-form': 0.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-hover-card': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-label': 2.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-menubar': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-navigation-menu': 1.2.4(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popover': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-progress': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-radio-group': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-select': 2.1.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slider': 1.2.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-switch': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toast': 1.2.5(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toggle': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toggle-group': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-toolbar': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-tooltip': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106))(react@19.0.0-rc-66855b96-20241106) react: 19.0.0-rc-66855b96-20241106 react-dom: 19.0.0-rc-66855b96-20241106(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 - '@types/react-dom': 18.3.7(@types/react@18.3.23) + '@types/react': 18.3.24 + '@types/react-dom': 18.3.7(@types/react@18.3.24) radix-ui@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: @@ -21695,19 +22148,19 @@ snapshots: '@babel/runtime': 7.27.6 react: 19.1.0 - react-hook-form@7.58.0(react@19.1.0): + react-hook-form@7.62.0(react@19.1.0): dependencies: react: 19.1.0 - react-i18next@15.5.3(i18next@25.1.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3): + react-i18next@15.7.3(i18next@25.1.3(typescript@5.9.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.2): dependencies: '@babel/runtime': 7.27.6 html-parse-stringify: 3.0.1 - i18next: 25.1.3(typescript@5.8.3) + i18next: 25.1.3(typescript@5.9.2) react: 19.1.0 optionalDependencies: react-dom: 19.1.0(react@19.1.0) - typescript: 5.8.3 + typescript: 5.9.2 react-is@16.13.1: {} @@ -21717,13 +22170,13 @@ snapshots: dependencies: fast-deep-equal: 2.0.1 - react-remove-scroll-bar@2.3.8(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106): + react-remove-scroll-bar@2.3.8(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106): dependencies: react: 19.0.0-rc-66855b96-20241106 - react-style-singleton: 2.2.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-style-singleton: 2.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 react-remove-scroll-bar@2.3.8(@types/react@19.1.4)(react@19.1.0): dependencies: @@ -21733,16 +22186,16 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - react-remove-scroll@2.7.1(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106): + react-remove-scroll@2.7.1(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106): dependencies: react: 19.0.0-rc-66855b96-20241106 - react-remove-scroll-bar: 2.3.8(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - react-style-singleton: 2.2.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + react-remove-scroll-bar: 2.3.8(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + react-style-singleton: 2.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) - use-sidecar: 1.1.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106) + use-callback-ref: 1.3.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) + use-sidecar: 1.1.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106) optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 react-remove-scroll@2.7.1(@types/react@19.1.4)(react@19.1.0): dependencies: @@ -21823,13 +22276,13 @@ snapshots: '@react-types/shared': 3.30.0(react@19.1.0) react: 19.1.0 - react-style-singleton@2.2.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106): + react-style-singleton@2.2.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106): dependencies: get-nonce: 1.0.1 react: 19.0.0-rc-66855b96-20241106 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 react-style-singleton@2.2.3(@types/react@19.1.4)(react@19.1.0): dependencies: @@ -22011,6 +22464,8 @@ snapshots: safe-stable-stringify@2.5.0: {} + sax@1.4.1: {} + scheduler@0.25.0-rc-66855b96-20241106: {} scheduler@0.26.0: {} @@ -22036,7 +22491,7 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.1 - secure-json-parse@2.7.0: {} + secure-json-parse@4.0.0: {} selderee@0.11.0: dependencies: @@ -22103,6 +22558,36 @@ snapshots: '@img/sharp-win32-x64': 0.34.2 optional: true + sharp@0.34.3: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.3 + '@img/sharp-darwin-x64': 0.34.3 + '@img/sharp-libvips-darwin-arm64': 1.2.0 + '@img/sharp-libvips-darwin-x64': 1.2.0 + '@img/sharp-libvips-linux-arm': 1.2.0 + '@img/sharp-libvips-linux-arm64': 1.2.0 + '@img/sharp-libvips-linux-ppc64': 1.2.0 + '@img/sharp-libvips-linux-s390x': 1.2.0 + '@img/sharp-libvips-linux-x64': 1.2.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + '@img/sharp-linux-arm': 0.34.3 + '@img/sharp-linux-arm64': 0.34.3 + '@img/sharp-linux-ppc64': 0.34.3 + '@img/sharp-linux-s390x': 0.34.3 + '@img/sharp-linux-x64': 0.34.3 + '@img/sharp-linuxmusl-arm64': 0.34.3 + '@img/sharp-linuxmusl-x64': 0.34.3 + '@img/sharp-wasm32': 0.34.3 + '@img/sharp-win32-arm64': 0.34.3 + '@img/sharp-win32-ia32': 0.34.3 + '@img/sharp-win32-x64': 0.34.3 + optional: true + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -22167,7 +22652,7 @@ snapshots: dependencies: '@juggle/resize-observer': 3.4.0 '@types/is-hotkey': 0.1.10 - '@types/lodash': 4.17.17 + '@types/lodash': 4.17.20 direction: 1.0.4 is-hotkey: 0.1.8 is-plain-object: 5.0.0 @@ -22198,7 +22683,7 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - sonner@2.0.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + sonner@2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -22328,33 +22813,35 @@ snapshots: strip-json-comments@3.1.1: {} - stripe@18.2.1(@types/node@24.0.3): + strip-json-comments@5.0.3: {} + + stripe@18.5.0(@types/node@24.3.0): dependencies: qs: 6.14.0 optionalDependencies: - '@types/node': 24.0.3 + '@types/node': 24.3.0 strnum@2.1.1: {} - styled-jsx@5.1.6(@babel/core@7.27.4)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-66855b96-20241106): + styled-jsx@5.1.6(@babel/core@7.28.3)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-66855b96-20241106): dependencies: client-only: 0.0.1 react: 19.0.0-rc-66855b96-20241106 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 babel-plugin-macros: 3.1.0 - styled-jsx@5.1.6(@babel/core@7.27.4)(babel-plugin-macros@3.1.0)(react@19.1.0): + styled-jsx@5.1.6(@babel/core@7.28.3)(babel-plugin-macros@3.1.0)(react@19.1.0): dependencies: client-only: 0.0.1 react: 19.1.0 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.3 babel-plugin-macros: 3.1.0 - stylehacks@7.0.5(postcss@8.5.6): + stylehacks@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.25.0 + browserslist: 4.25.4 postcss: 8.5.6 postcss-selector-parser: 7.1.0 @@ -22370,7 +22857,7 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 - supabase@2.30.4: + supabase@2.39.2: dependencies: bin-links: 5.0.0 https-proxy-agent: 7.0.6 @@ -22391,27 +22878,25 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svgo@3.3.2: + svgo@4.0.0: dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.1.0 + css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 + sax: 1.4.1 tabbable@6.2.0: {} tailwind-merge@2.6.0: {} - tailwind-merge@3.3.0: {} - tailwind-merge@3.3.1: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2))): dependencies: - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)) tailwindcss-animate@1.0.7(tailwindcss@4.1.7): dependencies: @@ -22419,7 +22904,7 @@ snapshots: tailwindcss-radix@2.9.0: {} - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)): + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -22438,7 +22923,7 @@ snapshots: postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3)) + postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2)) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -22446,12 +22931,14 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@4.1.10: {} + tailwindcss@4.1.12: {} tailwindcss@4.1.7: {} tapable@2.2.2: {} + tapable@2.2.3: {} + tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -22461,14 +22948,14 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.14(webpack@5.99.9): + terser-webpack-plugin@5.3.14(webpack@5.101.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.42.0 - webpack: 5.99.9 + webpack: 5.101.3 terser@5.42.0: dependencies: @@ -22524,15 +23011,15 @@ snapshots: tr46@0.0.3: {} - ts-api-utils@2.1.0(typescript@5.8.3): + ts-api-utils@2.1.0(typescript@5.9.2): dependencies: - typescript: 5.8.3 + typescript: 5.9.2 ts-case-convert@2.1.0: {} ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@17.0.21)(typescript@5.8.3): + ts-node@10.9.2(@types/node@17.0.21)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -22546,26 +23033,26 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.3 + typescript: 5.9.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true - ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.15.32 + '@types/node': 22.18.0 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.3 + typescript: 5.9.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -22652,17 +23139,17 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.28.0(jiti@2.4.2) - typescript: 5.8.3 + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.32.1(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.34.0(jiti@2.5.1) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - typescript@5.8.3: {} + typescript@5.9.2: {} unbox-primitive@1.1.0: dependencies: @@ -22673,8 +23160,7 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.8.0: - optional: true + undici-types@7.10.0: {} undici@6.21.3: {} @@ -22705,7 +23191,7 @@ snapshots: dependencies: acorn: 8.15.0 chokidar: 3.6.0 - webpack-sources: 3.3.2 + webpack-sources: 3.3.3 webpack-virtual-modules: 0.5.0 unrs-resolver@1.7.11: @@ -22736,6 +23222,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.25.4): + dependencies: + browserslist: 4.25.4 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -22746,12 +23238,12 @@ snapshots: react: 19.1.0 wonka: 6.3.5 - use-callback-ref@1.3.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106): + use-callback-ref@1.3.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106): dependencies: react: 19.0.0-rc-66855b96-20241106 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 use-callback-ref@1.3.3(@types/react@19.1.4)(react@19.1.0): dependencies: @@ -22760,13 +23252,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - use-sidecar@1.1.3(@types/react@18.3.23)(react@19.0.0-rc-66855b96-20241106): + use-sidecar@1.1.3(@types/react@18.3.24)(react@19.0.0-rc-66855b96-20241106): dependencies: detect-node-es: 1.1.0 react: 19.0.0-rc-66855b96-20241106 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 use-sidecar@1.1.3(@types/react@19.1.4)(react@19.1.0): dependencies: @@ -22794,7 +23286,7 @@ snapshots: v8-to-istanbul@9.3.0: dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.30 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 @@ -22858,11 +23350,11 @@ snapshots: - bufferutil - utf-8-validate - webpack-sources@3.3.2: {} + webpack-sources@3.3.3: {} webpack-virtual-modules@0.5.0: {} - webpack@5.99.9: + webpack@5.101.3: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -22871,6 +23363,7 @@ snapshots: '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) browserslist: 4.25.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.1 @@ -22885,9 +23378,9 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(webpack@5.99.9) + terser-webpack-plugin: 5.3.14(webpack@5.101.3) watchpack: 2.4.4 - webpack-sources: 3.3.2 + webpack-sources: 3.3.3 transitivePeerDependencies: - '@swc/core' - esbuild @@ -22947,9 +23440,9 @@ snapshots: word-wrap@1.2.5: {} - wp-types@4.68.0: + wp-types@4.68.1: dependencies: - typescript: 5.8.3 + typescript: 5.9.2 wrap-ansi@7.0.0: dependencies: @@ -23029,13 +23522,13 @@ snapshots: yocto-queue@0.1.0: {} - yup@1.6.1: + yup@1.7.0: dependencies: property-expr: 2.0.6 tiny-case: 1.0.3 toposort: 2.0.2 type-fest: 2.19.0 - zod@3.25.67: {} + zod@4.1.5: {} zwitch@2.0.4: {} diff --git a/public/locales/en/account.json b/public/locales/en/account.json index 1a324fc..8e7020c 100644 --- a/public/locales/en/account.json +++ b/public/locales/en/account.json @@ -1,133 +1,169 @@ { - "accountTabLabel": "Account Settings", - "accountTabDescription": "Manage your account settings", + "accountTabLabel": "Account settings", + "accountTabDescription": "Manage your account settings and email preferences.", + "preferencesTabLabel": "Preferences", + "preferencesTabDescription": "Manage your preferences.", + "securityTabLabel": "Security", + "securityTabDescription": "Protect your account.", "homePage": "Home", "billingTab": "Billing", "settingsTab": "Settings", - "multiFactorAuth": "Multi-Factor Authentication", - "multiFactorAuthDescription": "Set up Multi-Factor Authentication method to further secure your account", + "multiFactorAuth": "Multi-factor authentication", + "multiFactorAuthDescription": "Set up multi-factor authentication to better protect your account", "updateProfileSuccess": "Profile successfully updated", - "updateProfileError": "Encountered an error. Please try again", - "updatePasswordSuccess": "Password update request successful", + "updateProfileError": "An error occurred. Please try again", + "updatePasswordSuccess": "Password update successful", "updatePasswordSuccessMessage": "Your password has been successfully updated!", - "updatePasswordError": "Encountered an error. Please try again", + "updatePasswordError": "An error occurred. Please try again", "updatePasswordLoading": "Updating password...", "updateProfileLoading": "Updating profile...", - "name": "Your Name", - "nameDescription": "Update your name to be displayed on your profile", - "emailLabel": "Email Address", - "accountImage": "Your Profile Picture", - "accountImageDescription": "Please choose a photo to upload as your profile picture.", - "profilePictureHeading": "Upload a Profile Picture", + "name": "Your name", + "nameDescription": "Update the name displayed on your profile", + "emailLabel": "Email address", + "accountImage": "Your profile picture", + "accountImageDescription": "Choose a photo to upload as your profile picture.", + "profilePictureHeading": "Upload a profile picture", "profilePictureSubheading": "Choose a photo to upload as your profile picture.", - "updateProfileSubmitLabel": "Update Profile", - "updatePasswordCardTitle": "Update your Password", + "updateProfileSubmitLabel": "Update profile", + "updatePasswordCardTitle": "Update your password", "updatePasswordCardDescription": "Update your password to keep your account secure.", - "currentPassword": "Current Password", - "newPassword": "New Password", - "repeatPassword": "Repeat New Password", + "currentPassword": "Current password", + "newPassword": "New password", + "repeatPassword": "Repeat new password", "repeatPasswordDescription": "Please repeat your new password to confirm it", - "yourPassword": "Your Password", - "updatePasswordSubmitLabel": "Update Password", - "updateEmailCardTitle": "Update your Email", - "updateEmailCardDescription": "Update your email address you use to login to your account", - "newEmail": "Your New Email", - "repeatEmail": "Repeat Email", - "updateEmailSubmitLabel": "Update Email Address", - "updateEmailSuccess": "Email update request successful", - "updateEmailSuccessMessage": "We sent you an email to confirm your new email address. Please check your inbox and click on the link to confirm your new email address.", - "updateEmailLoading": "Updating your email...", + "yourPassword": "Your password", + "updatePasswordSubmitLabel": "Update password", + "updateEmailCardTitle": "Update your email", + "updateEmailCardDescription": "Update the email address you use to log in", + "newEmail": "Your new email", + "repeatEmail": "Repeat email", + "updateEmailSubmitLabel": "Update email address", + "updateEmailSuccess": "Email update successful", + "updateEmailSuccessMessage": "We will send you a confirmation email to verify your new address. Please check your inbox and click the link.", + "updateEmailLoading": "Updating email...", "updateEmailError": "Email not updated. Please try again", - "passwordNotMatching": "Passwords do not match. Make sure you're using the correct password", - "emailNotMatching": "Emails do not match. Make sure you're using the correct email", - "passwordNotChanged": "Your password has not changed", - "emailsNotMatching": "Emails do not match. Make sure you're using the correct email", - "cannotUpdatePassword": "You cannot update your password because your account is not linked to any.", - "setupMfaButtonLabel": "Setup a new Factor", - "multiFactorSetupErrorHeading": "Setup Failed", - "multiFactorSetupErrorDescription": "Sorry, there was an error while setting up your factor. Please try again.", - "multiFactorAuthHeading": "Secure your account with Multi-Factor Authentication", - "multiFactorModalHeading": "Use your authenticator app to scan the QR code below. Then enter the code generated.", - "factorNameLabel": "A memorable name to identify this factor", - "factorNameHint": "Use an easy-to-remember name to easily identify this factor in the future. Ex. iPhone 14", + "passwordNotMatching": "Passwords do not match. Make sure you are using the correct password", + "emailNotMatching": "Emails do not match. Make sure you are using the correct email", + "passwordNotChanged": "Your password has not been changed", + "emailsNotMatching": "Emails do not match. Make sure you are using the correct email", + "cannotUpdatePassword": "You cannot update your password because your account is not linked to a password.", + "setupMfaButtonLabel": "Set up new factor", + "multiFactorSetupErrorHeading": "Setup failed", + "multiFactorSetupErrorDescription": "Sorry, an error occurred while setting up the factor. Please try again.", + "multiFactorAuthHeading": "Protect your account with multi-factor authentication", + "multiFactorModalHeading": "Use your authentication app to scan the QR code. Then enter the generated code.", + "factorNameLabel": "Memorable name for factor identification", + "factorNameHint": "Use a simple name to easily identify this factor later. E.g. iPhone 14", "factorNameSubmitLabel": "Set factor name", - "unenrollTooltip": "Unenroll this factor", - "unenrollingFactor": "Unenrolling factor...", - "unenrollFactorSuccess": "Factor successfully unenrolled", - "unenrollFactorError": "Unenrolling factor failed", + "unenrollTooltip": "Unregister this factor", + "unenrollingFactor": "Unregistering factor...", + "unenrollFactorSuccess": "Factor successfully removed", + "unenrollFactorError": "Failed to remove factor", "factorsListError": "Error loading factors list", - "factorsListErrorDescription": "Sorry, we couldn't load the factors list. Please try again.", - "factorName": "Factor Name", + "factorsListErrorDescription": "Sorry, we could not load the factors list. Please try again.", + "factorName": "Factor name", "factorType": "Type", "factorStatus": "Status", - "mfaEnabledSuccessTitle": "Multi-Factor authentication is enabled", - "mfaEnabledSuccessDescription": "Congratulations! You have successfully enrolled in the multi factor authentication process. You will now be able to access your account with a combination of your password and an authentication code sent to your phone number.", - "verificationCode": "Verification Code", - "addEmailAddress": "Add Email address", - "verifyActivationCodeDescription": "Enter the 6-digit code generated by your authenticator app in the field above", + "mfaEnabledSuccessTitle": "Multi-factor authentication enabled", + "mfaEnabledSuccessDescription": "Congratulations! You have successfully registered for multi-factor authentication. You can now log in with your password and authentication code.", + "verificationCode": "Verification code", + "addEmailAddress": "Add email address", + "verifyActivationCodeDescription": "Enter the 6-digit code generated by your authentication app", "loadingFactors": "Loading factors...", - "enableMfaFactor": "Enable Factor", - "disableMfaFactor": "Disable Factor", - "qrCodeErrorHeading": "QR Code Error", - "qrCodeErrorDescription": "Sorry, we weren't able to generate the QR code", - "multiFactorSetupSuccess": "Factor successfully enrolled", - "submitVerificationCode": "Submit Verification Code", - "mfaEnabledSuccessAlert": "Multi-Factor authentication is enabled", + "enableMfaFactor": "Enable factor", + "disableMfaFactor": "Disable factor", + "qrCodeErrorHeading": "QR code error", + "qrCodeErrorDescription": "Sorry, QR code generation failed", + "multiFactorSetupSuccess": "Factor successfully registered", + "submitVerificationCode": "Submit verification code", + "mfaEnabledSuccessAlert": "Multi-factor authentication enabled", "verifyingCode": "Verifying code...", - "invalidVerificationCodeHeading": "Invalid Verification Code", - "invalidVerificationCodeDescription": "The verification code you entered is invalid. Please try again.", - "unenrollFactorModalHeading": "Unenroll Factor", - "unenrollFactorModalDescription": "You're about to unenroll this factor. You will not be able to use it to login to your account.", - "unenrollFactorModalBody": "You're about to unenroll this factor. You will not be able to use it to login to your account.", - "unenrollFactorModalButtonLabel": "Yes, unenroll factor", - "selectFactor": "Choose a factor to verify your identity", - "disableMfa": "Disable Multi-Factor Authentication", + "invalidVerificationCodeHeading": "Invalid verification code", + "invalidVerificationCodeDescription": "The entered verification code is not valid. Please try again.", + "unenrollFactorModalHeading": "Unregister factor", + "unenrollFactorModalDescription": "You are about to unregister this factor. You will no longer be able to use it for login.", + "unenrollFactorModalBody": "You are about to unregister this factor. You will no longer be able to use it for login.", + "unenrollFactorModalButtonLabel": "Yes, remove factor", + "selectFactor": "Select a factor to verify your identity", + "disableMfa": "Disable multi-factor authentication", "disableMfaButtonLabel": "Disable MFA", "confirmDisableMfaButtonLabel": "Yes, disable MFA", - "disablingMfa": "Disabling Multi-Factor Authentication. Please wait...", - "disableMfaSuccess": "Multi-Factor Authentication successfully disabled", - "disableMfaError": "Sorry, we encountered an error. MFA has not been disabled.", - "sendingEmailVerificationLink": "Sending Email...", - "sendEmailVerificationLinkSuccess": "Verification link successfully sent", - "sendEmailVerificationLinkError": "Sorry, we weren't able to send you the email", - "sendVerificationLinkSubmitLabel": "Send Verification Link", - "sendVerificationLinkSuccessLabel": "Email sent! Check your Inbox", + "disablingMfa": "Disabling multi-factor authentication. Please wait...", + "disableMfaSuccess": "Multi-factor authentication successfully disabled", + "disableMfaError": "Sorry, an error occurred. MFA was not disabled.", + "sendingEmailVerificationLink": "Sending email...", + "sendEmailVerificationLinkSuccess": "Confirmation link successfully sent", + "sendEmailVerificationLinkError": "Sorry, sending email failed", + "sendVerificationLinkSubmitLabel": "Send confirmation link", + "sendVerificationLinkSuccessLabel": "Email sent! Check your inbox", "verifyEmailAlertHeading": "Please verify your email to enable MFA", - "verificationLinkAlertDescription": "Your email is not yet verified. Please verify your email to be able to set up Multi-Factor Authentication.", - "authFactorName": "Factor Name (optional)", - "authFactorNameHint": "Assign a name that helps you remember the phone number used", - "loadingUser": "Loading user details. Please wait...", - "linkPhoneNumber": "Link Phone Number", - "dangerZone": "Danger Zone", - "dangerZoneDescription": "Some actions cannot be undone. Please be careful.", - "deleteAccount": "Delete your Account", + "verificationLinkAlertDescription": "Your email has not yet been verified. Please confirm your email to set up multi-factor authentication.", + "authFactorName": "Factor name (optional)", + "authFactorNameHint": "Set a name to help remember the phone number used", + "loadingUser": "Loading user data. Please wait...", + "linkPhoneNumber": "Link phone number", + "dangerZone": "Danger zone", + "dangerZoneDescription": "Some actions cannot be undone. Be careful.", + "deleteAccount": "Delete your account", "deletingAccount": "Deleting account. Please wait...", - "deleteAccountDescription": "This will delete your account and the accounts you own. Furthermore, we will immediately cancel any active subscriptions. This action cannot be undone.", + "deleteAccountDescription": "This will delete your account and all accounts you own. All active subscriptions will also be immediately canceled. This action cannot be undone.", "deleteProfileConfirmationInputLabel": "Type DELETE to confirm", - "deleteAccountErrorHeading": "Sorry, we couldn't delete your account", - "needsReauthentication": "Reauthentication Required", - "needsReauthenticationDescription": "You need to reauthenticate to change your password. Please sign out and sign in again to change your password.", + "deleteAccountErrorHeading": "Sorry, we could not delete your account", + "needsReauthentication": "Re-authentication required", + "needsReauthenticationDescription": "You must re-authenticate to change your password. Please log out and back in to change it.", "language": "Language", "languageDescription": "Choose your preferred language", - "noTeamsYet": "You don't have any teams yet.", + "noTeamsYet": "You don’t have any teams yet.", "createTeam": "Create a team to get started.", - "createTeamButtonLabel": "Create a Team", - "createCompanyAccount": "Create Company Account", + "createTeamButtonLabel": "Create team", + "createCompanyAccount": "Create a company account", "requestCompanyAccount": { - "title": "Company details" + "title": "Company details", + "description": "To get an offer, please enter the company details you intend to use MedReport with.", + "button": "Request an offer", + "successTitle": "Request successfully sent!", + "successDescription": "We will get back to you as soon as possible", + "successButton": "Back to homepage" }, - "updateConsentSuccess": "Consent successfully updated", - "updateConsentError": "Encountered an error. Please try again", - "updateConsentLoading": "Updating consent...", + "updateAccount": { + "title": "Personal details", + "description": "Please enter your personal details to continue", + "button": "Continue", + "userConsentLabel": "I agree to the use of personal data on the platform", + "userConsentUrlTitle": "View privacy policy" + }, + "consentModal": { + "title": "Before we start", + "description": "Do you consent to your health data being used anonymously in employer statistics? The data remains anonymized and helps companies better support employee health.", + "reject": "Do not consent", + "accept": "Consent" + }, + "updateConsentSuccess": "Consents updated", + "updateConsentError": "Something went wrong. Please try again", + "updateConsentLoading": "Updating consents...", "consentToAnonymizedCompanyData": { - "label": "Consent to be included in employer statistics", - "description": "Consent to be included in anonymized company statistics" + "label": "I agree to participate in employer statistics", + "description": "I agree to the use of anonymized health data in employer statistics" + }, + "membershipConfirmation": { + "successTitle": "Hello, {{firstName}} {{lastName}}", + "successDescription": "Your health account has been activated and is ready to use!", + "successButton": "Continue" }, "updateRoleSuccess": "Role updated", - "updateRoleError": "Something went wrong, please try again", + "updateRoleError": "Something went wrong. Please try again", "updateRoleLoading": "Updating role...", - "updatePreferredLocaleSuccess": "Language preference updated", - "updatePreferredLocaleError": "Language preference update failed", - "updatePreferredLocaleLoading": "Updating language preference...", - "doctorAnalysisSummary": "Doctor's summary" + "updatePreferredLocaleSuccess": "Preferred language updated", + "updatePreferredLocaleError": "Failed to update preferred language", + "updatePreferredLocaleLoading": "Updating preferred language...", + "doctorAnalysisSummary": "Doctor’s summary of test results", + "myHabits": "My health habits", + "formField": { + "smoking": "I smoke" + }, + "updateAccountSuccess": "Account details updated", + "updateAccountError": "Updating account details failed", + "updateAccountPreferencesSuccess": "Account preferences updated", + "updateAccountPreferencesError": "Updating account preferences failed", + "consents": "Consents" } \ No newline at end of file diff --git a/public/locales/en/common.json b/public/locales/en/common.json index a7084fe..ed8d175 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -1,15 +1,15 @@ { "homeTabLabel": "Home", - "homeTabDescription": "Welcome to your home page", + "homeTabDescription": "Welcome to your homepage", "accountMembers": "Company Members", - "membersTabDescription": "Here you can manage the members of your company.", + "membersTabDescription": "Here you can manage your company members.", "billingTabLabel": "Billing", - "billingTabDescription": "Manage your billing and subscription", + "billingTabDescription": "Manage your billing and subscriptions", "dashboardTabLabel": "Dashboard", "settingsTabLabel": "Settings", "profileSettingsTabLabel": "Profile", "subscriptionSettingsTabLabel": "Subscription", - "dashboardTabDescription": "An overview of your account's activity and performance across all your projects.", + "dashboardTabDescription": "Overview of your account activity and project results.", "settingsTabDescription": "Manage your settings and preferences.", "emailAddress": "Email Address", "password": "Password", @@ -18,69 +18,72 @@ "cancel": "Cancel", "clear": "Clear", "close": "Close", - "notFound": "Not Found", - "backToHomePage": "Back to Home Page", - "goBack": "Go Back", + "notFound": "Not found", + "backToHomePage": "Back to homepage", + "goBack": "Go back", "genericServerError": "Sorry, something went wrong.", "genericServerErrorHeading": "Sorry, something went wrong while processing your request. Please contact us if the issue persists.", "pageNotFound": "Sorry, this page does not exist.", - "pageNotFoundSubHeading": "Apologies, the page you were looking for was not found", + "pageNotFoundSubHeading": "Sorry, the page you were looking for was not found", "genericError": "Sorry, something went wrong.", - "genericErrorSubHeading": "Apologies, an error occurred while processing your request. Please contact us if the issue persists.", + "genericErrorSubHeading": "An error occurred while processing your request. Please contact us if the issue persists.", "anonymousUser": "Anonymous", - "tryAgain": "Try Again", + "tryAgain": "Try again", "theme": "Theme", "lightTheme": "Light", "darkTheme": "Dark", "systemTheme": "System", - "expandSidebar": "Expand Sidebar", - "collapseSidebar": "Collapse Sidebar", + "expandSidebar": "Expand sidebar", + "collapseSidebar": "Collapse sidebar", "documentation": "Documentation", - "getStarted": "Get Started", - "getStartedWithPlan": "Get Started with {{plan}}", + "getStarted": "Get started!", + "getStartedWithPlan": "Get started with plan {{plan}}", "retry": "Retry", - "contactUs": "Contact Us", + "contactUs": "Contact us", "loading": "Loading. Please wait...", - "yourAccounts": "Your Accounts", + "yourAccounts": "Your accounts", "continue": "Continue", "skip": "Skip", "signedInAs": "Signed in as", - "pageOfPages": "Page {{page}} of {{total}}", - "noData": "No data available", - "pageNotFoundHeading": "Ouch! :|", - "errorPageHeading": "Ouch! :|", + "pageOfPages": "Page {{page}} / {{total}}", + "noData": "No data", + "pageNotFoundHeading": "Oops! :|", + "errorPageHeading": "Oops! :|", "notifications": "Notifications", "noNotifications": "No notifications", "justNow": "Just now", "newVersionAvailable": "New version available", - "newVersionAvailableDescription": "A new version of the app is available. It is recommended to refresh the page to get the latest updates and avoid any issues.", - "newVersionSubmitButton": "Reload and Update", + "newVersionAvailableDescription": "A new version of the app is available. We recommend refreshing the page to get the latest updates and avoid issues.", + "newVersionSubmitButton": "Refresh and update", "back": "Back", "welcome": "Welcome", - "shoppingCart": "Shopping cart", - "shoppingCartCount": "Shopping cart ({{count}})", + "shoppingCart": "Shopping Cart", + "shoppingCartCount": "Shopping Cart ({{count}})", "search": "Search{{end}}", "myActions": "My actions", "healthPackageComparison": { - "label": "Health package comparison", - "description": "AlljΓ€rgnevalt on antud eelinfo (sugu, vanus ja kehamassiindeksi) pΓ΅hjal tehtud personalne terviseauditi valik. Tabelis on vΓ΅imalik soovitatud terviseuuringute paketile lisada ΓΌksikuid uuringuid juurde." + "label": "Health Package Comparison", + "description": "Based on preliminary data (gender, age, and BMI), we suggest a personalized health audit package. In the table, you can add additional tests to the recommended package." }, "routes": { "home": "Home", "overview": "Overview", - "booking": "Booking", + "booking": "Book appointment", "myOrders": "My orders", "analysisResults": "Analysis results", - "orderAnalysisPackage": "Telli analΓΌΓΌside pakett", + "orderAnalysisPackage": "Order analysis package", "orderAnalysis": "Order analysis", - "orderHealthAnalysis": "Telli terviseuuring", + "orderHealthAnalysis": "Order health check", "account": "Account", "members": "Members", "billing": "Billing", "dashboard": "Dashboard", "settings": "Settings", "profile": "Profile", - "application": "Application" + "application": "Application", + "pickTime": "Pick time", + "preferences": "Preferences", + "security": "Security" }, "roles": { "owner": { @@ -91,31 +94,53 @@ } }, "otp": { - "requestVerificationCode": "Request Verification Code", - "requestVerificationCodeDescription": "We must verify your identity to continue with this action. We'll send a verification code to the email address {{email}}.", - "sendingCode": "Sending Code...", - "sendVerificationCode": "Send Verification Code", - "enterVerificationCode": "Enter Verification Code", - "codeSentToEmail": "We've sent a verification code to the email address {{email}}.", - "verificationCode": "Verification Code", - "enterCodeFromEmail": "Enter the 6-digit code we sent to your email.", + "requestVerificationCode": "Please request a verification code", + "requestVerificationCodeDescription": "We need to verify your identity before continuing. We will send a code to your email address {{email}}.", + "sendingCode": "Sending code...", + "sendVerificationCode": "Send verification code", + "enterVerificationCode": "Enter verification code", + "codeSentToEmail": "We have sent a code to your email address {{email}}.", + "verificationCode": "Verification code", + "enterCodeFromEmail": "Enter the 6-digit code we sent to your email address.", "verifying": "Verifying...", - "verifyCode": "Verify Code", - "requestNewCode": "Request New Code", + "verifyCode": "Verify code", + "requestNewCode": "Request new code", "errorSendingCode": "Error sending code. Please try again." }, "cookieBanner": { "title": "Hey, we use cookies πŸͺ", - "description": "This website uses cookies to ensure you get the best experience on our website.", + "description": "This website uses cookies to ensure the best experience.", "reject": "Reject", "accept": "Accept" }, + "formField": { + "companyName": "Company name", + "contactPerson": "Contact person", + "email": "Email", + "phone": "Phone", + "firstName": "First name", + "lastName": "Last name", + "personalCode": "Personal code", + "city": "City", + "weight": "Weight", + "height": "Height", + "occurance": "Support frequency", + "amount": "Amount", + "selectDate": "Select date" + }, + "wallet": { + "balance": "Your MedReport account balance", + "expiredAt": "Valid until {{expiredAt}}" + }, "doctor": "Doctor", "save": "Save", "saveAsDraft": "Save as draft", "confirm": "Confirm", "previous": "Previous", "next": "Next", - "invalidDataError": "Invalid data submitted", - "language": "Language" + "invalidDataError": "Invalid data", + "language": "Language", + "yes": "Yes", + "no": "No", + "preferNotToAnswer": "Prefer not to answer" } \ No newline at end of file diff --git a/public/locales/en/error.json b/public/locales/en/error.json new file mode 100644 index 0000000..3f2b722 --- /dev/null +++ b/public/locales/en/error.json @@ -0,0 +1,7 @@ +{ + "invalidNumber": "Invalid number", + "invalidEmail": "Invalid email", + "tooShort": "Too short", + "tooLong": "Too long", + "invalidPhone": "Invalid phone" +} \ No newline at end of file diff --git a/public/locales/et/account.json b/public/locales/et/account.json index b268146..3525609 100644 --- a/public/locales/et/account.json +++ b/public/locales/et/account.json @@ -1,124 +1,128 @@ { - "accountTabLabel": "Account Settings", - "accountTabDescription": "Manage your account settings", - "homePage": "Home", - "billingTab": "Billing", - "settingsTab": "Settings", - "multiFactorAuth": "Multi-Factor Authentication", - "multiFactorAuthDescription": "Set up Multi-Factor Authentication method to further secure your account", - "updateProfileSuccess": "Profile successfully updated", - "updateProfileError": "Encountered an error. Please try again", - "updatePasswordSuccess": "Password update request successful", - "updatePasswordSuccessMessage": "Your password has been successfully updated!", - "updatePasswordError": "Encountered an error. Please try again", - "updatePasswordLoading": "Updating password...", - "updateProfileLoading": "Updating profile...", - "name": "Your Name", - "nameDescription": "Update your name to be displayed on your profile", - "emailLabel": "Email Address", - "accountImage": "Your Profile Picture", - "accountImageDescription": "Please choose a photo to upload as your profile picture.", - "profilePictureHeading": "Upload a Profile Picture", - "profilePictureSubheading": "Choose a photo to upload as your profile picture.", - "updateProfileSubmitLabel": "Update Profile", - "updatePasswordCardTitle": "Update your Password", - "updatePasswordCardDescription": "Update your password to keep your account secure.", - "currentPassword": "Current Password", - "newPassword": "New Password", - "repeatPassword": "Repeat New Password", - "repeatPasswordDescription": "Please repeat your new password to confirm it", - "yourPassword": "Your Password", - "updatePasswordSubmitLabel": "Update Password", - "updateEmailCardTitle": "Update your Email", - "updateEmailCardDescription": "Update your email address you use to login to your account", - "newEmail": "Your New Email", - "repeatEmail": "Repeat Email", - "updateEmailSubmitLabel": "Update Email Address", - "updateEmailSuccess": "Email update request successful", - "updateEmailSuccessMessage": "We sent you an email to confirm your new email address. Please check your inbox and click on the link to confirm your new email address.", - "updateEmailLoading": "Updating your email...", - "updateEmailError": "Email not updated. Please try again", - "passwordNotMatching": "Passwords do not match. Make sure you're using the correct password", - "emailNotMatching": "Emails do not match. Make sure you're using the correct email", - "passwordNotChanged": "Your password has not changed", - "emailsNotMatching": "Emails do not match. Make sure you're using the correct email", - "cannotUpdatePassword": "You cannot update your password because your account is not linked to any.", - "setupMfaButtonLabel": "Setup a new Factor", - "multiFactorSetupErrorHeading": "Setup Failed", - "multiFactorSetupErrorDescription": "Sorry, there was an error while setting up your factor. Please try again.", - "multiFactorAuthHeading": "Secure your account with Multi-Factor Authentication", - "multiFactorModalHeading": "Use your authenticator app to scan the QR code below. Then enter the code generated.", - "factorNameLabel": "A memorable name to identify this factor", - "factorNameHint": "Use an easy-to-remember name to easily identify this factor in the future. Ex. iPhone 14", - "factorNameSubmitLabel": "Set factor name", - "unenrollTooltip": "Unenroll this factor", - "unenrollingFactor": "Unenrolling factor...", - "unenrollFactorSuccess": "Factor successfully unenrolled", - "unenrollFactorError": "Unenrolling factor failed", - "factorsListError": "Error loading factors list", - "factorsListErrorDescription": "Sorry, we couldn't load the factors list. Please try again.", - "factorName": "Factor Name", - "factorType": "Type", - "factorStatus": "Status", - "mfaEnabledSuccessTitle": "Multi-Factor authentication is enabled", - "mfaEnabledSuccessDescription": "Congratulations! You have successfully enrolled in the multi factor authentication process. You will now be able to access your account with a combination of your password and an authentication code sent to your phone number.", - "verificationCode": "Verification Code", - "addEmailAddress": "Add Email address", - "verifyActivationCodeDescription": "Enter the 6-digit code generated by your authenticator app in the field above", - "loadingFactors": "Loading factors...", - "enableMfaFactor": "Enable Factor", - "disableMfaFactor": "Disable Factor", - "qrCodeErrorHeading": "QR Code Error", - "qrCodeErrorDescription": "Sorry, we weren't able to generate the QR code", - "multiFactorSetupSuccess": "Factor successfully enrolled", - "submitVerificationCode": "Submit Verification Code", - "mfaEnabledSuccessAlert": "Multi-Factor authentication is enabled", - "verifyingCode": "Verifying code...", - "invalidVerificationCodeHeading": "Invalid Verification Code", - "invalidVerificationCodeDescription": "The verification code you entered is invalid. Please try again.", - "unenrollFactorModalHeading": "Unenroll Factor", - "unenrollFactorModalDescription": "You're about to unenroll this factor. You will not be able to use it to login to your account.", - "unenrollFactorModalBody": "You're about to unenroll this factor. You will not be able to use it to login to your account.", - "unenrollFactorModalButtonLabel": "Yes, unenroll factor", - "selectFactor": "Choose a factor to verify your identity", - "disableMfa": "Disable Multi-Factor Authentication", - "disableMfaButtonLabel": "Disable MFA", - "confirmDisableMfaButtonLabel": "Yes, disable MFA", - "disablingMfa": "Disabling Multi-Factor Authentication. Please wait...", - "disableMfaSuccess": "Multi-Factor Authentication successfully disabled", - "disableMfaError": "Sorry, we encountered an error. MFA has not been disabled.", - "sendingEmailVerificationLink": "Sending Email...", - "sendEmailVerificationLinkSuccess": "Verification link successfully sent", - "sendEmailVerificationLinkError": "Sorry, we weren't able to send you the email", - "sendVerificationLinkSubmitLabel": "Send Verification Link", - "sendVerificationLinkSuccessLabel": "Email sent! Check your Inbox", - "verifyEmailAlertHeading": "Please verify your email to enable MFA", - "verificationLinkAlertDescription": "Your email is not yet verified. Please verify your email to be able to set up Multi-Factor Authentication.", - "authFactorName": "Factor Name (optional)", - "authFactorNameHint": "Assign a name that helps you remember the phone number used", - "loadingUser": "Loading user details. Please wait...", - "linkPhoneNumber": "Link Phone Number", - "dangerZone": "Danger Zone", - "dangerZoneDescription": "Some actions cannot be undone. Please be careful.", - "deleteAccount": "Delete your Account", - "deletingAccount": "Deleting account. Please wait...", - "deleteAccountDescription": "This will delete your account and the accounts you own. Furthermore, we will immediately cancel any active subscriptions. This action cannot be undone.", - "deleteProfileConfirmationInputLabel": "Type DELETE to confirm", - "deleteAccountErrorHeading": "Sorry, we couldn't delete your account", - "needsReauthentication": "Reauthentication Required", - "needsReauthenticationDescription": "You need to reauthenticate to change your password. Please sign out and sign in again to change your password.", - "language": "Language", - "languageDescription": "Choose your preferred language", - "noTeamsYet": "You don't have any teams yet.", - "createTeam": "Create a team to get started.", - "createTeamButtonLabel": "Create a Team", + "accountTabLabel": "Konto seaded", + "accountTabDescription": "Halda oma konto seadeid ja e-posti eelistusi.", + "preferencesTabLabel": "Eelistused", + "preferencesTabDescription": "Halda oma eelistusi.", + "securityTabLabel": "Turvalisus", + "securityTabDescription": "Kaitse oma kontot.", + "homePage": "Avaleht", + "billingTab": "Arveldamine", + "settingsTab": "Seaded", + "multiFactorAuth": "Mitmefaktoriline autentimine", + "multiFactorAuthDescription": "Sea ΓΌles mitmefaktoriline autentimine, et oma kontot rohkem turvata", + "updateProfileSuccess": "Profiil edukalt uuendatud", + "updateProfileError": "Ilmnes viga. Palun proovi uuesti", + "updatePasswordSuccess": "Parooli uuendamine Γ΅nnestus", + "updatePasswordSuccessMessage": "Sinu parool on edukalt uuendatud!", + "updatePasswordError": "Ilmnes viga. Palun proovi uuesti", + "updatePasswordLoading": "Parooli uuendamine...", + "updateProfileLoading": "Profiili uuendamine...", + "name": "Sinu nimi", + "nameDescription": "Uuenda oma nime, mis kuvatakse profiilil", + "emailLabel": "E-posti aadress", + "accountImage": "Sinu profiilipilt", + "accountImageDescription": "Vali foto, mida soovid profiilipildina ΓΌles laadida.", + "profilePictureHeading": "Laadi ΓΌles profiilipilt", + "profilePictureSubheading": "Vali foto, mida soovid profiilipildina ΓΌles laadida.", + "updateProfileSubmitLabel": "Uuenda profiili", + "updatePasswordCardTitle": "Uuenda oma parool", + "updatePasswordCardDescription": "Uuenda oma parooli, et hoida oma konto turvaline.", + "currentPassword": "Praegune parool", + "newPassword": "Uus parool", + "repeatPassword": "Korda uut parooli", + "repeatPasswordDescription": "Palun korda oma uus parool, et seda kinnitada", + "yourPassword": "Sinu parool", + "updatePasswordSubmitLabel": "Uuenda parooli", + "updateEmailCardTitle": "Uuenda oma e-posti", + "updateEmailCardDescription": "Uuenda e-posti aadressi, mida kasutad kontole sisselogimiseks", + "newEmail": "Sinu uus e-post", + "repeatEmail": "Korda e-posti", + "updateEmailSubmitLabel": "Uuenda e-posti aadressi", + "updateEmailSuccess": "E-posti uuendamine Γ΅nnestus", + "updateEmailSuccessMessage": "Saadame sulle kinnituskirja uue e-posti aadressi kinnitamiseks. Palun vaata oma postkasti ja klΓ΅psa lingil.", + "updateEmailLoading": "E-posti uuendamine...", + "updateEmailError": "E-posti ei uuendatud. Palun proovi uuesti", + "passwordNotMatching": "Paroolid ei ΓΌhti. Veendu, et kasutad Γ΅iget parooli", + "emailNotMatching": "E-postid ei ΓΌhti. Veendu, et kasutad Γ΅iget e-posti", + "passwordNotChanged": "Sinu parool ei ole muutunud", + "emailsNotMatching": "E-postid ei ΓΌhti. Veendu, et kasutad Γ΅iget e-posti", + "cannotUpdatePassword": "Sa ei saa oma parooli uuendada, kuna sinu kontot ei ole lingitud ΓΌhegi parooliga.", + "setupMfaButtonLabel": "Sea uus faktor", + "multiFactorSetupErrorHeading": "Seadistamine ebaΓ΅nnestus", + "multiFactorSetupErrorDescription": "Vabandame, tekkis viga faktori seadistamisel. Palun proovi uuesti.", + "multiFactorAuthHeading": "Turvake oma konto mitmefaktorilise autentimisega", + "multiFactorModalHeading": "Kasuta oma autentimisrakendust QR-koodi skannimiseks. SeejΓ€rel sisesta genereeritud kood.", + "factorNameLabel": "MeeldejÀÀv nimi faktori tuvastamiseks", + "factorNameHint": "Kasuta lihtsat nime, et hiljem seda faktorit kergesti tuvastada. Nt iPhone 14", + "factorNameSubmitLabel": "MÀÀra faktori nimi", + "unenrollTooltip": "TΓΌhista selle faktori registreerimine", + "unenrollingFactor": "Faktori registreerimine tΓΌhistatakse...", + "unenrollFactorSuccess": "Faktor edukalt tΓΌhistatud", + "unenrollFactorError": "Faktori tΓΌhistamine ebaΓ΅nnestus", + "factorsListError": "Faktorite nimekirja laadimisel tekkis viga", + "factorsListErrorDescription": "Vabandame, ei Γ΅nnestunud faktorite nimekirja laadida. Palun proovi uuesti.", + "factorName": "Faktori nimi", + "factorType": "TΓΌΓΌp", + "factorStatus": "Staatus", + "mfaEnabledSuccessTitle": "Mitmefaktoriline autentimine on aktiveeritud", + "mfaEnabledSuccessDescription": "Palju Γ΅nne! Sa oled edukalt registreeritud mitmefaktorilise autentimise protsessi. NΓΌΓΌd pÀÀsed oma kontole parooli ja autentimiskoodi abil.", + "verificationCode": "Kinnituskood", + "addEmailAddress": "Lisa e-posti aadress", + "verifyActivationCodeDescription": "Sisesta 6-kohaline kood, mille sinu autentimisrakendus genereeris", + "loadingFactors": "Faktorite laadimine...", + "enableMfaFactor": "Luba faktor", + "disableMfaFactor": "Keela faktor", + "qrCodeErrorHeading": "QR-koodi viga", + "qrCodeErrorDescription": "Vabandame, QR-koodi genereerimine ebaΓ΅nnestus", + "multiFactorSetupSuccess": "Faktor edukalt registreeritud", + "submitVerificationCode": "Esita kinnituskood", + "mfaEnabledSuccessAlert": "Mitmefaktoriline autentimine on aktiveeritud", + "verifyingCode": "Koodi kontrollimine...", + "invalidVerificationCodeHeading": "Vale kinnituskood", + "invalidVerificationCodeDescription": "Sisestatud kinnituskood ei kehti. Palun proovi uuesti.", + "unenrollFactorModalHeading": "TΓΌhista faktori registreerimine", + "unenrollFactorModalDescription": "Sa oled tΓΌhistamas selle faktori registreerimist. Sa ei saa seda enam kontole sisselogimiseks kasutada.", + "unenrollFactorModalBody": "Sa oled tΓΌhistamas selle faktori registreerimist. Sa ei saa seda enam kontole sisselogimiseks kasutada.", + "unenrollFactorModalButtonLabel": "Jah, tΓΌhista faktor", + "selectFactor": "Vali faktor, et tuvastada oma identiteet", + "disableMfa": "Keela mitmefaktoriline autentimine", + "disableMfaButtonLabel": "Keela MFA", + "confirmDisableMfaButtonLabel": "Jah, keela MFA", + "disablingMfa": "Mitmefaktoriline autentimine keelatakse. Palun oota...", + "disableMfaSuccess": "Mitmefaktoriline autentimine edukalt keelatud", + "disableMfaError": "Vabandame, tekkis viga. MFA ei ole keelatud.", + "sendingEmailVerificationLink": "E-kirja saatmine...", + "sendEmailVerificationLinkSuccess": "Kinnituse link edukalt saadetud", + "sendEmailVerificationLinkError": "Vabandame, e-kirja saatmine ebaΓ΅nnestus", + "sendVerificationLinkSubmitLabel": "Saada kinnituse link", + "sendVerificationLinkSuccessLabel": "E-post saadetud! Vaata oma postkasti", + "verifyEmailAlertHeading": "Palun kinnita oma e-post, et lubada MFA", + "verificationLinkAlertDescription": "Sinu e-post ei ole veel kinnitatud. Palun kinnita e-post, et saaksid mitmefaktorilise autentimise seadistada.", + "authFactorName": "Faktori nimi (valikuline)", + "authFactorNameHint": "MÀÀra nimi, mis aitab meenutada kasutatud telefoninumbrit", + "loadingUser": "Kasutaja andmete laadimine. Palun oota...", + "linkPhoneNumber": "Seosta telefoninumber", + "dangerZone": "Ohtlik tsoon", + "dangerZoneDescription": "MΓ΅nda toimingut ei saa tagasi vΓ΅tta. Ole ettevaatlik.", + "deleteAccount": "Kustuta oma konto", + "deletingAccount": "Konto kustutamine. Palun oota...", + "deleteAccountDescription": "See kustutab sinu konto ja kΓ΅ik kontod, mille omanik sa oled. Samuti tΓΌhistatakse kohe kΓ΅ik aktiivsed tellimused. Seda toimingut ei saa tagasi vΓ΅tta.", + "deleteProfileConfirmationInputLabel": "Sisesta KUSTUTA, et kinnitada", + "deleteAccountErrorHeading": "Vabandame, me ei saanud sinu kontot kustutada", + "needsReauthentication": "TaastΓ΅endamine vajalik", + "needsReauthenticationDescription": "Sa pead uuesti autentima, et muuta oma parooli. Palun logi vΓ€lja ja seejΓ€rel sisse, et parooli muuta.", + "language": "Keel", + "languageDescription": "Vali eelistatud keel", + "noTeamsYet": "Sul ei ole veel meeskondi.", + "createTeam": "Loo meeskond alustamiseks.", + "createTeamButtonLabel": "Loo meeskond", "createCompanyAccount": "Loo ettevΓ΅tte konto", "requestCompanyAccount": { "title": "EttevΓ΅tte andmed", - "description": "Pakkumise saamiseks palun sisesta ettevΓ΅tte andmed millega MedReport kasutada kavatsed.", + "description": "Pakkumise saamiseks palun sisesta ettevΓ΅tte andmed, millega MedReporti kasutada kavatsed.", "button": "KΓΌsi pakkumist", "successTitle": "PΓ€ring edukalt saadetud!", - "successDescription": "Saadame teile esimesel vΓ΅imalusel vastuse", + "successDescription": "Vastame sulle esimesel vΓ΅imalusel", "successButton": "Tagasi kodulehele" }, "updateAccount": { @@ -129,7 +133,7 @@ "userConsentUrlTitle": "Vaata isikuandmete tΓΆΓΆtlemise pΓ΅himΓ΅tteid" }, "consentModal": { - "title": "Enne toimetama hakkamist", + "title": "Enne alustamist", "description": "Kas annad nΓ΅usoleku, et sinu terviseandmeid kasutatakse anonΓΌΓΌmselt tΓΆΓΆandja statistikas? Andmed jÀÀvad isikustamata ja aitavad ettevΓ΅ttel tΓΆΓΆtajate tervist paremini toetada.", "reject": "Ei anna nΓ΅usolekut", "accept": "Annan nΓ΅usoleku" @@ -152,5 +156,14 @@ "updatePreferredLocaleSuccess": "Eelistatud keel uuendatud", "updatePreferredLocaleError": "Eelistatud keele uuendamine ei Γ΅nnestunud", "updatePreferredLocaleLoading": "Eelistatud keelt uuendatakse...", - "doctorAnalysisSummary": "Arsti kokkuvΓ΅te analΓΌΓΌsitulemuste kohta" + "doctorAnalysisSummary": "Arsti kokkuvΓ΅te analΓΌΓΌsitulemuste kohta", + "myHabits": "Minu terviseharjumused", + "formField": { + "smoking": "Suitsetan" + }, + "updateAccountSuccess": "Konto andmed uuendatud", + "updateAccountError": "Konto andmete uuendamine ebaΓ΅nnestus", + "updateAccountPreferencesSuccess": "Konto eelistused uuendatud", + "updateAccountPreferencesError": "Konto eelistused uuendamine ebaΓ΅nnestus", + "consents": "NΓ΅usolekud" } \ No newline at end of file diff --git a/public/locales/et/common.json b/public/locales/et/common.json index ed0e02a..e00b87d 100644 --- a/public/locales/et/common.json +++ b/public/locales/et/common.json @@ -1,61 +1,61 @@ { - "homeTabLabel": "Home", - "homeTabDescription": "Welcome to your home page", - "accountMembers": "Company Members", - "membersTabDescription": "Here you can manage the members of your company.", - "billingTabLabel": "Billing", - "billingTabDescription": "Manage your billing and subscription", - "dashboardTabLabel": "Dashboard", - "settingsTabLabel": "Settings", - "profileSettingsTabLabel": "Profile", - "subscriptionSettingsTabLabel": "Subscription", - "dashboardTabDescription": "An overview of your account's activity and performance across all your projects.", - "settingsTabDescription": "Manage your settings and preferences.", - "emailAddress": "Email Address", - "password": "Password", - "modalConfirmationQuestion": "Are you sure you want to continue?", - "imageInputLabel": "Click here to upload an image", - "cancel": "Cancel", - "clear": "Clear", + "homeTabLabel": "Kodu", + "homeTabDescription": "Tere tulemast sinu kodulehele", + "accountMembers": "EttevΓ΅tte liikmed", + "membersTabDescription": "Siit saad hallata oma ettevΓ΅tte liikmeid.", + "billingTabLabel": "Arveldamine", + "billingTabDescription": "Halda oma arveldamist ja tellimusi", + "dashboardTabLabel": "Ülevaade", + "settingsTabLabel": "Seaded", + "profileSettingsTabLabel": "Profiil", + "subscriptionSettingsTabLabel": "Tellimus", + "dashboardTabDescription": "Ülevaade sinu konto tegevusest ja tulemuste kohta kΓ΅igis projektides.", + "settingsTabDescription": "Halda oma seadeid ja eelistusi.", + "emailAddress": "E-posti aadress", + "password": "Parool", + "modalConfirmationQuestion": "Oled sa kindel, et soovid jΓ€tkata?", + "imageInputLabel": "Klikka siia, et ΓΌles laadida pilt", + "cancel": "TΓΌhista", + "clear": "Kustuta", "close": "Sulge", - "notFound": "Not Found", - "backToHomePage": "Back to Home Page", + "notFound": "Ei leitud", + "backToHomePage": "Tagasi kodulehele", "goBack": "Tagasi", - "genericServerError": "Sorry, something went wrong.", - "genericServerErrorHeading": "Sorry, something went wrong while processing your request. Please contact us if the issue persists.", - "pageNotFound": "Sorry, this page does not exist.", - "pageNotFoundSubHeading": "Apologies, the page you were looking for was not found", - "genericError": "Sorry, something went wrong.", - "genericErrorSubHeading": "Apologies, an error occurred while processing your request. Please contact us if the issue persists.", - "anonymousUser": "Anonymous", - "tryAgain": "Try Again", - "theme": "Theme", - "lightTheme": "Light", - "darkTheme": "Dark", - "systemTheme": "System", - "expandSidebar": "Expand Sidebar", - "collapseSidebar": "Collapse Sidebar", - "documentation": "Documentation", + "genericServerError": "Vabandame, midagi lΓ€ks valesti.", + "genericServerErrorHeading": "Vabandame, midagi lΓ€ks valesti teie pΓ€ringu tΓΆΓΆtlemisel. Palun vΓ΅tke meiega ΓΌhendust, kui probleem pΓΌsib.", + "pageNotFound": "Vabandame, seda lehte ei eksisteeri.", + "pageNotFoundSubHeading": "Vabandame, lehte, mida otsisite, ei leitud", + "genericError": "Vabandame, midagi lΓ€ks valesti.", + "genericErrorSubHeading": "Vabandame, ilmnes viga teie pΓ€ringu tΓΆΓΆtlemisel. Palun vΓ΅tke meiega ΓΌhendust, kui probleem pΓΌsib.", + "anonymousUser": "AnonΓΌΓΌmne", + "tryAgain": "Proovi uuesti", + "theme": "Teema", + "lightTheme": "Hele", + "darkTheme": "Tume", + "systemTheme": "SΓΌsteem", + "expandSidebar": "Laienda kΓΌlgriba", + "collapseSidebar": "Kokkuvoldi kΓΌlgriba", + "documentation": "Dokumentatsioon", "getStarted": "Alusta!", - "getStartedWithPlan": "Get Started with {{plan}}", - "retry": "Retry", - "contactUs": "Contact Us", - "loading": "Loading. Please wait...", - "yourAccounts": "Your Accounts", - "continue": "Continue", - "skip": "Skip", - "signedInAs": "Signed in as", + "getStartedWithPlan": "Alusta plaaniga {{plan}}", + "retry": "Proovi uuesti", + "contactUs": "VΓ΅ta meiega ΓΌhendust", + "loading": "Laadimine. Palun oota...", + "yourAccounts": "Sinu kontod", + "continue": "JΓ€tka", + "skip": "JΓ€ta vahele", + "signedInAs": "Sisselogitud kasutajana", "pageOfPages": "Leht {{page}} / {{total}}", - "noData": "Andmed puuduvad", - "pageNotFoundHeading": "Ouch! :|", - "errorPageHeading": "Ouch! :|", - "notifications": "Notifications", - "noNotifications": "No notifications", - "justNow": "Just now", - "newVersionAvailable": "New version available", - "newVersionAvailableDescription": "A new version of the app is available. It is recommended to refresh the page to get the latest updates and avoid any issues.", - "newVersionSubmitButton": "Reload and Update", - "back": "Back", + "noData": "Andmeid puudub", + "pageNotFoundHeading": "Ups! :|", + "errorPageHeading": "Ups! :|", + "notifications": "Teavitused", + "noNotifications": "Teavitusi pole", + "justNow": "Just nΓΌΓΌd", + "newVersionAvailable": "Uus versioon saadaval", + "newVersionAvailableDescription": "Rakenduse uus versioon on saadaval. Soovitame lehe vΓ€rskendada, et saada uusimad uuendused ja vΓ€ltida probleeme.", + "newVersionSubmitButton": "VΓ€rskenda ja uuenda", + "back": "Tagasi", "welcome": "Tere tulemast", "shoppingCart": "Ostukorv", "shoppingCartCount": "Ostukorv ({{count}})", @@ -63,10 +63,10 @@ "myActions": "Minu toimingud", "healthPackageComparison": { "label": "Tervisepakettide vΓ΅rdlus", - "description": "AlljΓ€rgnevalt on antud eelinfo (sugu, vanus ja kehamassiindeksi) pΓ΅hjal tehtud personalne terviseauditi valik. Tabelis on vΓ΅imalik soovitatud terviseuuringute paketile lisada ΓΌksikuid uuringuid juurde." + "description": "AlljΓ€rgnevalt on antud eelinfo (sugu, vanus ja kehamassiindeks) pΓ΅hjal tehtud personaalne terviseauditi valik. Tabelis on vΓ΅imalik soovitatud terviseuuringute paketile lisada ΓΌksikuid uuringuid juurde." }, "routes": { - "home": "Home", + "home": "Kodu", "overview": "Ülevaade", "booking": "Broneeri aeg", "myOrders": "Minu tellimused", @@ -74,47 +74,49 @@ "orderAnalysisPackage": "Telli analΓΌΓΌside pakett", "orderAnalysis": "Telli analΓΌΓΌs", "orderHealthAnalysis": "Telli terviseuuring", - "account": "Account", - "members": "Members", - "billing": "Billing", + "account": "Konto", + "members": "Liikmed", + "billing": "Arveldamine", "dashboard": "Ülevaade", - "settings": "Settings", - "profile": "Profile", - "application": "Application", - "pickTime": "Vali aeg" + "settings": "Seaded", + "profile": "Profiil", + "application": "Rakendus", + "pickTime": "Vali aeg", + "preferences": "Eelistused", + "security": "Turvalisus" }, "roles": { "owner": { "label": "Admin" }, "member": { - "label": "Member" + "label": "Liige" } }, "otp": { - "requestVerificationCode": "Request Verification Code", - "requestVerificationCodeDescription": "We must verify your identity to continue with this action. We'll send a verification code to the email address {{email}}.", - "sendingCode": "Sending Code...", - "sendVerificationCode": "Send Verification Code", - "enterVerificationCode": "Enter Verification Code", - "codeSentToEmail": "We've sent a verification code to the email address {{email}}.", - "verificationCode": "Verification Code", - "enterCodeFromEmail": "Enter the 6-digit code we sent to your email.", - "verifying": "Verifying...", - "verifyCode": "Verify Code", - "requestNewCode": "Request New Code", - "errorSendingCode": "Error sending code. Please try again." + "requestVerificationCode": "Palun taotle kinnituskood", + "requestVerificationCodeDescription": "Peame sinu identiteedi kontrollima, et jΓ€tkata. Saadame koodi e-posti aadressile {{email}}.", + "sendingCode": "Koodi saatmine...", + "sendVerificationCode": "Saada kinnituskood", + "enterVerificationCode": "Sisesta kinnituskood", + "codeSentToEmail": "Oleme saatnud koodi e-posti aadressile {{email}}.", + "verificationCode": "Kinnituskood", + "enterCodeFromEmail": "Sisesta 6-kohaline kood, mille saatsime sinu e-posti aadressile.", + "verifying": "Kontrollimine...", + "verifyCode": "Kontrolli koodi", + "requestNewCode": "Taotle uut koodi", + "errorSendingCode": "Koodi saatmisel tekkis viga. Proovi uuesti." }, "cookieBanner": { - "title": "Hey, we use cookies πŸͺ", - "description": "This website uses cookies to ensure you get the best experience on our website.", - "reject": "Reject", - "accept": "Accept" + "title": "Hei, me kasutame kΓΌpsiseid πŸͺ", + "description": "See veebileht kasutab kΓΌpsiseid, et tagada parim kasutuskogemus.", + "reject": "Keela", + "accept": "Luba" }, "formField": { "companyName": "EttevΓ΅tte nimi", "contactPerson": "Kontaktisik", - "email": "E-mail", + "email": "E-post", "phone": "Telefon", "firstName": "Eesnimi", "lastName": "Perenimi", @@ -127,7 +129,7 @@ "selectDate": "Vali kuupΓ€ev" }, "wallet": { - "balance": "Sinu MedReporti konto seis", + "balance": "Sinu MedReporti konto saldo", "expiredAt": "Kehtiv kuni {{expiredAt}}" }, "doctor": "Arst", @@ -137,5 +139,8 @@ "previous": "Eelmine", "next": "JΓ€rgmine", "invalidDataError": "Vigased andmed", - "language": "Keel" -} + "language": "Keel", + "yes": "Jah", + "no": "Ei", + "preferNotToAnswer": "Eelistan mitte vastata" +} \ No newline at end of file diff --git a/public/locales/et/error.json b/public/locales/et/error.json new file mode 100644 index 0000000..7817c28 --- /dev/null +++ b/public/locales/et/error.json @@ -0,0 +1,7 @@ +{ + "invalidNumber": "Vigane arv", + "invalidEmail": "Vigane email", + "tooShort": "Liiga lΓΌhike sisend", + "tooLong": "Liiga pikk sisend", + "invalidPhone": "Vigane telefoninumber" +} \ No newline at end of file diff --git a/public/locales/ru/account.json b/public/locales/ru/account.json index c26b6f9..9bfae35 100644 --- a/public/locales/ru/account.json +++ b/public/locales/ru/account.json @@ -1,145 +1,149 @@ { "accountTabLabel": "Настройки Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", - "accountTabDescription": "УправляйтС настройками вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "accountTabDescription": "УправляйтС настройками Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΈ прСдпочтСниями элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.", + "preferencesTabLabel": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΡ", + "preferencesTabDescription": "УправляйтС своими прСдпочтСниями.", + "securityTabLabel": "Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ", + "securityTabDescription": "Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π΅ свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.", "homePage": "Главная", "billingTab": "ΠžΠΏΠ»Π°Ρ‚Π°", "settingsTab": "Настройки", "multiFactorAuth": "ΠœΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½Π°Ρ аутСнтификация", - "multiFactorAuthDescription": "НастройтС ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", - "updateProfileSuccess": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½", + "multiFactorAuthDescription": "НастройтС ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "updateProfileSuccess": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½", "updateProfileError": "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", - "updatePasswordSuccess": "Запрос Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ пароля Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ", - "updatePasswordSuccessMessage": "Π’Π°Ρˆ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½!", + "updatePasswordSuccess": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½", + "updatePasswordSuccessMessage": "Π’Π°Ρˆ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½!", "updatePasswordError": "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", "updatePasswordLoading": "ОбновлСниС пароля...", "updateProfileLoading": "ОбновлСниС профиля...", "name": "Π’Π°ΡˆΠ΅ имя", - "nameDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ вашС имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅", - "emailLabel": "АдрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "accountImage": "Π’Π°ΡˆΠ° фотография профиля", - "accountImageDescription": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„ΠΎΡ‚ΠΎ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² качСствС изобраТСния профиля.", - "profilePictureHeading": "Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ профиля", - "profilePictureSubheading": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„ΠΎΡ‚ΠΎ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² качСствС изобраТСния профиля.", + "nameDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ имя, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅", + "emailLabel": "ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°", + "accountImage": "Π’Π°ΡˆΠ΅ Ρ„ΠΎΡ‚ΠΎ профиля", + "accountImageDescription": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„ΠΎΡ‚ΠΎ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² качСствС Π°Π²Π°Ρ‚Π°Ρ€Π°.", + "profilePictureHeading": "Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„ΠΎΡ‚ΠΎ профиля", + "profilePictureSubheading": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„ΠΎΡ‚ΠΎ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² качСствС Π°Π²Π°Ρ‚Π°Ρ€Π°.", "updateProfileSubmitLabel": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ", - "updatePasswordCardTitle": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ваш ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", - "updatePasswordCardDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π² бСзопасности.", + "updatePasswordCardTitle": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", + "updatePasswordCardDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π² бСзопасности.", "currentPassword": "Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", "newPassword": "Новый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", "repeatPassword": "ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", "repeatPasswordDescription": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для подтвСрТдСния", "yourPassword": "Π’Π°Ρˆ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", "updatePasswordSubmitLabel": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", - "updateEmailCardTitle": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΠΎΡ‡Ρ‚Ρƒ", - "updateEmailCardDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для Π²Ρ…ΠΎΠ΄Π° Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚", - "newEmail": "Новый адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "repeatEmail": "ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "updateEmailSubmitLabel": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "updateEmailSuccess": "Запрос Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‡Ρ‚Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ", - "updateEmailSuccessMessage": "ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π²Π°ΠΌ письмо для подтвСрТдСния Π½ΠΎΠ²ΠΎΠ³ΠΎ адрСса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС для подтвСрТдСния.", - "updateEmailLoading": "ОбновлСниС ΠΏΠΎΡ‡Ρ‚Ρ‹...", - "updateEmailError": "ΠŸΠΎΡ‡Ρ‚Π° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", - "passwordNotMatching": "ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", - "emailNotMatching": "АдрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс", - "passwordNotChanged": "Π’Π°Ρˆ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½", - "emailsNotMatching": "АдрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс", - "cannotUpdatePassword": "Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π΅ связан Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ.", - "setupMfaButtonLabel": "ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€", - "multiFactorSetupErrorHeading": "Π‘Π±ΠΎΠΉ настройки", - "multiFactorSetupErrorDescription": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ настройкС Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", - "multiFactorAuthHeading": "Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π΅ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ", - "multiFactorModalHeading": "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для сканирования QR-ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅, Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сгСнСрированный ΠΊΠΎΠ΄.", - "factorNameLabel": "Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ имя для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этого Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°", - "factorNameHint": "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ простоС для запоминания имя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: iPhone 14", + "updateEmailCardTitle": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ", + "updateEmailCardDescription": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Ρ…ΠΎΠ΄Π°", + "newEmail": "Π’Π°Ρˆ Π½ΠΎΠ²Ρ‹ΠΉ email", + "repeatEmail": "ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ email", + "updateEmailSubmitLabel": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ email", + "updateEmailSuccess": "Email ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½", + "updateEmailSuccessMessage": "ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ письмо с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ адрСс. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС.", + "updateEmailLoading": "ОбновлСниС email...", + "updateEmailError": "Email Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", + "passwordNotMatching": "ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ", + "emailNotMatching": "АдрСса email Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ email", + "passwordNotChanged": "Π’Π°Ρˆ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½", + "emailsNotMatching": "АдрСса email Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ email", + "cannotUpdatePassword": "Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π΅ связан с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ.", + "setupMfaButtonLabel": "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€", + "multiFactorSetupErrorHeading": "Ошибка настройки", + "multiFactorSetupErrorDescription": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ настройкС Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", + "multiFactorAuthHeading": "Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ", + "multiFactorModalHeading": "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для сканирования QR-ΠΊΠΎΠ΄Π°, Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сгСнСрированный ΠΊΠΎΠ΄.", + "factorNameLabel": "Π£Π΄ΠΎΠ±Π½ΠΎΠ΅ имя для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°", + "factorNameHint": "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ простоС имя для удобства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ iPhone 14", "factorNameSubmitLabel": "Π—Π°Π΄Π°Ρ‚ΡŒ имя Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°", "unenrollTooltip": "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€", "unenrollingFactor": "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°...", - "unenrollFactorSuccess": "Π€Π°ΠΊΡ‚ΠΎΡ€ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½", + "unenrollFactorSuccess": "Π€Π°ΠΊΡ‚ΠΎΡ€ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡƒΠ΄Π°Π»Ρ‘Π½", "unenrollFactorError": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€", "factorsListError": "Ошибка Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ списка Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²", - "factorsListErrorDescription": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", + "factorsListErrorDescription": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", "factorName": "Имя Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°", "factorType": "Π’ΠΈΠΏ", "factorStatus": "Бтатус", "mfaEnabledSuccessTitle": "ΠœΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½Π°Ρ аутСнтификация Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°", - "mfaEnabledSuccessDescription": "ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ смоТСтС Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ пароля ΠΈ ΠΊΠΎΠ΄Π° подтвСрТдСния, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ваш Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°.", + "mfaEnabledSuccessDescription": "ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для Π²Ρ…ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈ ΠΊΠΎΠ΄ подтвСрТдСния.", "verificationCode": "Код подтвСрТдСния", - "addEmailAddress": "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹", - "verifyActivationCodeDescription": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 6-Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, сгСнСрированный вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Π² ΠΏΠΎΠ»Π΅ Π²Ρ‹ΡˆΠ΅", + "addEmailAddress": "Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ email", + "verifyActivationCodeDescription": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 6-Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ· прилоТСния-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°", "loadingFactors": "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²...", "enableMfaFactor": "Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€", "disableMfaFactor": "ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€", "qrCodeErrorHeading": "Ошибка QR-ΠΊΠΎΠ΄Π°", "qrCodeErrorDescription": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ QR-ΠΊΠΎΠ΄", - "multiFactorSetupSuccess": "Π€Π°ΠΊΡ‚ΠΎΡ€ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½", + "multiFactorSetupSuccess": "Π€Π°ΠΊΡ‚ΠΎΡ€ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½", "submitVerificationCode": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ подтвСрТдСния", "mfaEnabledSuccessAlert": "ΠœΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½Π°Ρ аутСнтификация Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°", "verifyingCode": "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π°...", "invalidVerificationCodeHeading": "НСвСрный ΠΊΠΎΠ΄ подтвСрТдСния", - "invalidVerificationCodeDescription": "Π’Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄ Π½Π΅Π²Π΅Ρ€Π΅Π½. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", + "invalidVerificationCodeDescription": "Π’Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ нСдСйствитСлСн. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова.", "unenrollFactorModalHeading": "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°", - "unenrollFactorModalDescription": "Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π’Ρ‹ большС Π½Π΅ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для Π²Ρ…ΠΎΠ΄Π° Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.", - "unenrollFactorModalBody": "Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π’Ρ‹ большС Π½Π΅ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для Π²Ρ…ΠΎΠ΄Π° Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.", - "unenrollFactorModalButtonLabel": "Π”Π°, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€", + "unenrollFactorModalDescription": "Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π•Π³ΠΎ большС нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ…ΠΎΠ΄Π°.", + "unenrollFactorModalBody": "Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€. Π•Π³ΠΎ большС нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ…ΠΎΠ΄Π°.", + "unenrollFactorModalButtonLabel": "Π”Π°, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ", "selectFactor": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ для подтвСрТдСния личности", "disableMfa": "ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ", "disableMfaButtonLabel": "ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MFA", "confirmDisableMfaButtonLabel": "Π”Π°, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MFA", "disablingMfa": "ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅...", "disableMfaSuccess": "ΠœΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½Π°Ρ аутСнтификация ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°", - "disableMfaError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. MFA Π½Π΅ Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.", + "disableMfaError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. MFA Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.", "sendingEmailVerificationLink": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° письма...", - "sendEmailVerificationLinkSuccess": "Бсылка для подтвСрТдСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π°", - "sendEmailVerificationLinkError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо", - "sendVerificationLinkSubmitLabel": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ссылку для подтвСрТдСния", - "sendVerificationLinkSuccessLabel": "Письмо ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ! ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚Ρƒ", - "verifyEmailAlertHeading": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΠΎΡ‡Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MFA", - "verificationLinkAlertDescription": "Π’Π°ΡˆΠ° ΠΏΠΎΡ‡Ρ‚Π° Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.", + "sendEmailVerificationLinkSuccess": "Бсылка подтвСрТдСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π°", + "sendEmailVerificationLinkError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° письма Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ", + "sendVerificationLinkSubmitLabel": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ссылку подтвСрТдСния", + "sendVerificationLinkSuccessLabel": "Email ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½! ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚Ρƒ", + "verifyEmailAlertHeading": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ email, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MFA", + "verificationLinkAlertDescription": "Π’Π°Ρˆ email Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ email, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ MFA.", "authFactorName": "Имя Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)", - "authFactorNameHint": "ΠŸΡ€ΠΈΡΠ²ΠΎΠΉΡ‚Π΅ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²Ρ…ΠΎΠ΄Π°", + "authFactorNameHint": "Π—Π°Π΄Π°ΠΉΡ‚Π΅ имя для удобства запоминания Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°", "loadingUser": "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅...", "linkPhoneNumber": "ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°", "dangerZone": "Опасная Π·ΠΎΠ½Π°", "dangerZoneDescription": "НСкоторыС дСйствия нСльзя ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны.", "deleteAccount": "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚", "deletingAccount": "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅...", - "deleteAccountDescription": "Π­Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΈ связанныС с Π½ΠΈΠΌ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠΌ всС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ подписки. Π­Ρ‚ΠΎ дСйствиС нСльзя ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.", - "deleteProfileConfirmationInputLabel": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ DELETE для подтвСрТдСния", + "deleteAccountDescription": "Π­Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΈ всС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹, Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ. ВсС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ подписки Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ДСйствиС Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎ.", + "deleteProfileConfirmationInputLabel": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π£Π”ΠΠ›Π˜Π’Π¬ для подтвСрТдСния", "deleteAccountErrorHeading": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚", "needsReauthentication": "ВрСбуСтся повторная аутСнтификация", - "needsReauthenticationDescription": "НСобходимо ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ снова.", + "needsReauthenticationDescription": "Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ снова.", "language": "Π―Π·Ρ‹ΠΊ", "languageDescription": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык", "noTeamsYet": "Π£ вас ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄.", "createTeam": "Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ.", "createTeamButtonLabel": "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ", - "createCompanyAccount": "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ", + "createCompanyAccount": "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚", "requestCompanyAccount": { "title": "Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ", - "description": "Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, поТалуйста, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MedReport.", + "description": "Для получСния прСдлоТСния Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MedReport.", "button": "Π—Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅", "successTitle": "Запрос ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½!", - "successDescription": "ΠœΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π²Π°ΠΌ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ возмоТности", - "successButton": "Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ" + "successDescription": "ΠœΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π²Π°ΠΌ Π² блиТайшСС врСмя", + "successButton": "На Π³Π»Π°Π²Π½ΡƒΡŽ" }, "updateAccount": { "title": "Π›ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅", - "description": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свои Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для продолТСния", + "description": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для продолТСния", "button": "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ", - "userConsentLabel": "Π― согласСн Π½Π° использованиС ΠΌΠΎΠΈΡ… ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅", - "userConsentUrlTitle": "ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…" + "userConsentLabel": "Π― согласСн Π½Π° использованиС ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅", + "userConsentUrlTitle": "ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ" }, "consentModal": { - "title": "ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ", - "description": "Π’Ρ‹ Π΄Π°Π΅Ρ‚Π΅ согласиС Π½Π° использованиС Π²Π°ΡˆΠΈΡ… мСдицинских Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ для статистики работодатСля? Π”Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Ρ‹ ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ сотрудников.", - "reject": "НС даю согласиС", - "accept": "Π”Π°, даю согласиС" + "title": "ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ", + "description": "Π’Ρ‹ согласны Π½Π° использованиС Π²Π°ΡˆΠΈΡ… мСдицинских Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² статистикС работодатСля? Π”Π°Π½Π½Ρ‹Π΅ останутся ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ сотрудников.", + "reject": "НС согласСн", + "accept": "БогласСн" }, "updateConsentSuccess": "Богласия ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹", - "updateConsentError": "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", + "updateConsentError": "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", "updateConsentLoading": "ОбновлСниС согласий...", "consentToAnonymizedCompanyData": { "label": "БогласСн ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² статистикС работодатСля", - "description": "Π― согласСн Π½Π° использованиС ΠΌΠΎΠΈΡ… мСдицинских Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ для статистики работодатСля" + "description": "БогласСн Π½Π° использованиС Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… мСдицинских Π΄Π°Π½Π½Ρ‹Ρ… Π² статистикС работодатСля" }, "membershipConfirmation": { "successTitle": "ЗдравствуйтС, {{firstName}} {{lastName}}", @@ -147,9 +151,19 @@ "successButton": "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ" }, "updateRoleSuccess": "Роль ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°", - "updateRoleError": "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", + "updateRoleError": "Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова", "updateRoleLoading": "ОбновлСниС Ρ€ΠΎΠ»ΠΈ...", - "updatePreferredLocaleSuccess": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½", + "updatePreferredLocaleSuccess": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½", "updatePreferredLocaleError": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык", - "updatePreferredLocaleLoading": "ОбновлСниС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ языка..." + "updatePreferredLocaleLoading": "ОбновлСниС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ языка...", + "doctorAnalysisSummary": "Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π°Ρ‡Π° ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ²", + "myHabits": "Мои ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ", + "formField": { + "smoking": "Π― ΠΊΡƒΡ€ΡŽ" + }, + "updateAccountSuccess": "Π”Π°Π½Π½Ρ‹Π΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹", + "updateAccountError": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "updateAccountPreferencesSuccess": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΡ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹", + "updateAccountPreferencesError": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ прСдпочтСния Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "consents": "Богласия" } \ No newline at end of file diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ebf250c..545b9e6 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -1,15 +1,15 @@ { "homeTabLabel": "Главная", - "homeTabDescription": "Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π²Π°ΡˆΡƒ домашнюю страницу", + "homeTabDescription": "Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π²Π°ΡˆΡƒ Π³Π»Π°Π²Π½ΡƒΡŽ страницу", "accountMembers": "Π§Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ", "membersTabDescription": "Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.", "billingTabLabel": "ΠžΠΏΠ»Π°Ρ‚Π°", - "billingTabDescription": "Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ»Π°Ρ‚ΠΎΠΉ ΠΈ подпиской", - "dashboardTabLabel": "ПанСль", + "billingTabDescription": "УправляйтС своСй ΠΎΠΏΠ»Π°Ρ‚ΠΎΠΉ ΠΈ подписками", + "dashboardTabLabel": "ΠžΠ±Π·ΠΎΡ€", "settingsTabLabel": "Настройки", "profileSettingsTabLabel": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ", "subscriptionSettingsTabLabel": "Подписка", - "dashboardTabDescription": "ΠžΠ±Π·ΠΎΡ€ активности ΠΈ эффСктивности вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΏΠΎ всСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ.", + "dashboardTabDescription": "ΠžΠ±Π·ΠΎΡ€ активности вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².", "settingsTabDescription": "УправляйтС своими настройками ΠΈ прСдпочтСниями.", "emailAddress": "ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°", "password": "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ", @@ -22,22 +22,22 @@ "backToHomePage": "Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ", "goBack": "Назад", "genericServerError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.", - "genericServerErrorHeading": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вашСго запроса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ исчСзнСт.", + "genericServerErrorHeading": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вашСго запроса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сохраняСтся.", "pageNotFound": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, эта страница Π½Π΅ сущСствуСт.", - "pageNotFoundSubHeading": "К соТалСнию, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠ°Ρ страница Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°", + "pageNotFoundSubHeading": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, страница, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ искали, Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°", "genericError": "Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.", - "genericErrorSubHeading": "К соТалСнию, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вашСго запроса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ исчСзнСт.", - "anonymousUser": "Анонимный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ", + "genericErrorSubHeading": "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вашСго запроса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сохраняСтся.", + "anonymousUser": "Аноним", "tryAgain": "ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ снова", "theme": "Π’Π΅ΠΌΠ°", "lightTheme": "БвСтлая", - "darkTheme": "Вёмная", + "darkTheme": "ВСмная", "systemTheme": "БистСмная", - "expandSidebar": "Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню", - "collapseSidebar": "Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню", + "expandSidebar": "Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль", + "collapseSidebar": "Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль", "documentation": "ДокумСнтация", "getStarted": "ΠΠ°Ρ‡Π°Ρ‚ΡŒ!", - "getStartedWithPlan": "ΠΠ°Ρ‡Π°Ρ‚ΡŒ с {{plan}}", + "getStartedWithPlan": "ΠΠ°Ρ‡Π°Ρ‚ΡŒ с ΠΏΠ»Π°Π½Π° {{plan}}", "retry": "ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ", "contactUs": "Π‘Π²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ", "loading": "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅...", @@ -53,8 +53,8 @@ "noNotifications": "НСт ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ", "justNow": "ΠŸΡ€ΡΠΌΠΎ сСйчас", "newVersionAvailable": "Доступна новая вСрсия", - "newVersionAvailableDescription": "Доступна новая вСрсия прилоТСния. РСкомСндуСтся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ страницу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдниС обновлСния ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.", - "newVersionSubmitButton": "ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ", + "newVersionAvailableDescription": "Доступна новая вСрсия прилоТСния. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ страницу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдниС обновлСния ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.", + "newVersionSubmitButton": "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ", "back": "Назад", "welcome": "Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ", "shoppingCart": "ΠšΠΎΡ€Π·ΠΈΠ½Π°", @@ -63,12 +63,12 @@ "myActions": "Мои дСйствия", "healthPackageComparison": { "label": "Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ", - "description": "НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° мСдицинского обслСдования Π½Π° основС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (ΠΏΠΎΠ», возраст ΠΈ индСкс массы Ρ‚Π΅Π»Π°). Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ исслСдования." + "description": "На основС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ», возраст ΠΈ индСкс массы Ρ‚Π΅Π»Π°) ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ пСрсонализированный ΠΏΠ°ΠΊΠ΅Ρ‚ обслСдований. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π½Π°Π»ΠΈΠ·Ρ‹ ΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ." }, "routes": { "home": "Главная", "overview": "ΠžΠ±Π·ΠΎΡ€", - "booking": "Π—Π°Π±Ρ€ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя", + "booking": "Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌ", "myOrders": "Мои Π·Π°ΠΊΠ°Π·Ρ‹", "analysisResults": "Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ²", "orderAnalysisPackage": "Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ²", @@ -81,33 +81,35 @@ "settings": "Настройки", "profile": "ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ", "application": "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", - "pickTime": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ врСмя" + "pickTime": "Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ врСмя", + "preferences": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΡ", + "security": "Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ" }, "roles": { "owner": { - "label": "Администратор" + "label": "Админ" }, "member": { "label": "Участник" } }, "otp": { - "requestVerificationCode": "Π—Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ подтвСрТдСния", - "requestVerificationCodeDescription": "ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ для продолТСния. ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄ подтвСрТдСния Π½Π° элСктронный адрСс {{email}}.", + "requestVerificationCode": "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, запроситС ΠΊΠΎΠ΄ подтвСрТдСния", + "requestVerificationCodeDescription": "Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ для продолТСния. ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄ Π½Π° адрСс {{email}}.", "sendingCode": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠ΄Π°...", "sendVerificationCode": "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ подтвСрТдСния", "enterVerificationCode": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ подтвСрТдСния", - "codeSentToEmail": "ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ подтвСрТдСния Π½Π° элСктронный адрСс {{email}}.", + "codeSentToEmail": "ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π° элСктронный адрСс {{email}}.", "verificationCode": "Код подтвСрТдСния", "enterCodeFromEmail": "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ 6-Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π½Π° Π²Π°ΡˆΡƒ ΠΏΠΎΡ‡Ρ‚Ρƒ.", "verifying": "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°...", - "verifyCode": "ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄", + "verifyCode": "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄", "requestNewCode": "Π—Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄", - "errorSendingCode": "Ошибка ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова." + "errorSendingCode": "Ошибка ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π·." }, "cookieBanner": { - "title": "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΡƒΠΊΠΈ πŸͺ", - "description": "Π­Ρ‚ΠΎΡ‚ сайт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ cookie, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΎΠΏΡ‹Ρ‚.", + "title": "Π­ΠΉ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΡƒΠΊΠΈ πŸͺ", + "description": "Π­Ρ‚ΠΎΡ‚ сайт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ cookie для обСспСчСния Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°.", "reject": "ΠžΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ", "accept": "ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ" }, @@ -118,7 +120,7 @@ "phone": "Π’Π΅Π»Π΅Ρ„ΠΎΠ½", "firstName": "Имя", "lastName": "Ѐамилия", - "personalCode": "Π›ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄", + "personalCode": "ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄", "city": "Π“ΠΎΡ€ΠΎΠ΄", "weight": "ВСс", "height": "Рост", @@ -127,7 +129,7 @@ "selectDate": "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρƒ" }, "wallet": { - "balance": "Баланс вашСго MedReport Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°", + "balance": "Баланс вашСго счСта MedReport", "expiredAt": "Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎ {{expiredAt}}" }, "doctor": "Π’Ρ€Π°Ρ‡", @@ -136,5 +138,9 @@ "confirm": "ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ", "previous": "ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ", "next": "Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ", - "invalidDataError": "НСкоррСктныС Π΄Π°Π½Π½Ρ‹Π΅" + "invalidDataError": "НСдопустимыС Π΄Π°Π½Π½Ρ‹Π΅", + "language": "Π―Π·Ρ‹ΠΊ", + "yes": "Π”Π°", + "no": "НСт", + "preferNotToAnswer": "ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ" } \ No newline at end of file diff --git a/public/locales/ru/error.json b/public/locales/ru/error.json new file mode 100644 index 0000000..177b42c --- /dev/null +++ b/public/locales/ru/error.json @@ -0,0 +1,7 @@ +{ + "invalidNumber": "НСвСрноС число", + "invalidEmail": "НСвСрный email", + "tooShort": "Блишком ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ", + "tooLong": "Блишком Π΄Π»ΠΈΠ½Π½ΠΎ", + "invalidPhone": "НСвСрный Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½" +} \ No newline at end of file diff --git a/supabase/migrations/20250902092932_add_smoking_account_param.sql b/supabase/migrations/20250902092932_add_smoking_account_param.sql new file mode 100644 index 0000000..473de92 --- /dev/null +++ b/supabase/migrations/20250902092932_add_smoking_account_param.sql @@ -0,0 +1,43 @@ +ALTER TABLE medreport.account_params +ADD is_smoker boolean; + + +CREATE UNIQUE INDEX params_account_id_pkey ON medreport.account_params USING btree (account_id); +alter table medreport.account_params add constraint "params_account_id_pkey" UNIQUE using index "params_account_id_pkey"; + +alter policy "users can insert their params" +on "medreport"."account_params" +to authenticated +with check ( + account_id in ( + select id + from medreport.accounts + where primary_owner_user_id = auth.uid() + ) +); + +alter policy "users can read their params" +on "medreport"."account_params" +to authenticated +using ( + account_id in ( + select id + from medreport.accounts + where primary_owner_user_id = auth.uid() + ) +); + +create policy "users can update their params" +on "medreport"."account_params" +as PERMISSIVE +for UPDATE +to authenticated +using ( + account_id in ( + select id + from medreport.accounts + where primary_owner_user_id = auth.uid() + ) +); + + From 21375cf55f0c49097821eb338c99c177d0147402 Mon Sep 17 00:00:00 2001 From: Helena <37183360+helenarebane@users.noreply.github.com> Date: Thu, 4 Sep 2025 12:38:46 +0300 Subject: [PATCH 10/39] MED-149: add more estonian translations (#72) --- .../_components/account-settings-form.tsx | 2 +- public/locales/en/dashboard.json | 2 +- public/locales/et/account.json | 2 +- public/locales/et/auth.json | 172 +++++----- public/locales/et/common.json | 8 +- public/locales/et/dashboard.json | 2 +- public/locales/et/marketing.json | 74 ++--- public/locales/et/teams.json | 306 +++++++++--------- 8 files changed, 284 insertions(+), 284 deletions(-) diff --git a/app/home/(user)/settings/_components/account-settings-form.tsx b/app/home/(user)/settings/_components/account-settings-form.tsx index f1c6004..95db6cd 100644 --- a/app/home/(user)/settings/_components/account-settings-form.tsx +++ b/app/home/(user)/settings/_components/account-settings-form.tsx @@ -50,7 +50,7 @@ export default function AccountSettingsForm({ accountParams: { height: account?.accountParams?.height, weight: account?.accountParams?.weight, - isSmoker: !!account?.accountParams?.isSmoker, + isSmoker: account?.accountParams?.isSmoker, }, }, }); diff --git a/public/locales/en/dashboard.json b/public/locales/en/dashboard.json index 8563680..26a1277 100644 --- a/public/locales/en/dashboard.json +++ b/public/locales/en/dashboard.json @@ -1,5 +1,5 @@ { - "recentlyCheckedDescription": "Super, oled kΓ€inud tervist kontrollimas. Siin on sinule olulised nΓ€itajad", + "recentlyCheckedDescription": "Here are your most important health indicators.", "respondToQuestion": "Respond", "gender": "Gender", "male": "Male", diff --git a/public/locales/et/account.json b/public/locales/et/account.json index 3525609..e3e824c 100644 --- a/public/locales/et/account.json +++ b/public/locales/et/account.json @@ -123,7 +123,7 @@ "button": "KΓΌsi pakkumist", "successTitle": "PΓ€ring edukalt saadetud!", "successDescription": "Vastame sulle esimesel vΓ΅imalusel", - "successButton": "Tagasi kodulehele" + "successButton": "Tagasi avalehele" }, "updateAccount": { "title": "Isikuandmed", diff --git a/public/locales/et/auth.json b/public/locales/et/auth.json index 7db0925..d9ebf9b 100644 --- a/public/locales/et/auth.json +++ b/public/locales/et/auth.json @@ -1,90 +1,90 @@ { - "signUpHeading": "Create an account", - "signUp": "Sign Up", - "signUpSubheading": "Fill the form below to create an account.", - "signInHeading": "Sign in to your account", - "signInSubheading": "Welcome back! Please enter your details", - "signIn": "Sign In", - "getStarted": "Get started", - "updatePassword": "Update Password", - "signOut": "Sign out", - "signingIn": "Signing in...", - "signingUp": "Signing up...", - "doNotHaveAccountYet": "Do not have an account yet?", - "alreadyHaveAnAccount": "Already have an account?", - "signUpToAcceptInvite": "Please sign in/up to accept the invite", - "clickToAcceptAs": "Click the button below to accept the invite with as {{email}}", - "acceptInvite": "Accept invite", - "acceptingInvite": "Accepting Invite...", - "acceptInviteSuccess": "Invite successfully accepted", - "acceptInviteError": "Error encountered while accepting invite", - "acceptInviteWithDifferentAccount": "Want to accept the invite with a different account?", - "alreadyHaveAccountStatement": "I already have an account, I want to sign in instead", - "doNotHaveAccountStatement": "I do not have an account, I want to sign up instead", - "signInWithProvider": "Sign in with {{provider}}", - "signInWithPhoneNumber": "Sign in with Phone Number", - "signInWithEmail": "Sign in with Email", - "signUpWithEmail": "Sign up with Email", - "passwordHint": "Ensure it's at least 8 characters", - "repeatPasswordHint": "Type your password again", - "repeatPassword": "Repeat password", - "passwordForgottenQuestion": "Password forgotten?", - "passwordResetLabel": "Reset Password", - "passwordResetSubheading": "Enter your email address below. You will receive a link to reset your password.", - "passwordResetSuccessMessage": "Check your Inbox! We emailed you a link for resetting your Password.", - "passwordRecoveredQuestion": "Password recovered?", - "passwordLengthError": "Please provide a password with at least 6 characters", - "sendEmailLink": "Send Email Link", - "sendingEmailLink": "Sending Email Link...", - "sendLinkSuccessDescription": "Check your email, we just sent you a link. Follow the link to sign in.", - "sendLinkSuccess": "We sent you a link by email", - "sendLinkSuccessToast": "Link successfully sent", - "getNewLink": "Get a new link", - "verifyCodeHeading": "Verify your account", - "verificationCode": "Verification Code", - "verificationCodeHint": "Enter the code we sent you by SMS", - "verificationCodeSubmitButtonLabel": "Submit Verification Code", - "sendingMfaCode": "Sending Verification Code...", - "verifyingMfaCode": "Verifying code...", - "sendMfaCodeError": "Sorry, we couldn't send you a verification code", - "verifyMfaCodeSuccess": "Code verified! Signing you in...", - "verifyMfaCodeError": "Ops! It looks like the code is not correct", - "reauthenticate": "Reauthenticate", - "reauthenticateDescription": "For security reasons, we need you to re-authenticate", - "errorAlertHeading": "Sorry, we could not authenticate you", - "emailConfirmationAlertHeading": "We sent you a confirmation email.", - "emailConfirmationAlertBody": "Welcome! Please check your email and click the link to verify your account.", - "resendLink": "Resend link", - "resendLinkSuccessDescription": "We sent you a new link to your email! Follow the link to sign in.", - "resendLinkSuccess": "Check your email!", - "authenticationErrorAlertHeading": "Authentication Error", - "authenticationErrorAlertBody": "Sorry, we could not authenticate you. Please try again.", - "sendEmailCode": "Get code to your Email", - "sendingEmailCode": "Sending code...", - "resetPasswordError": "Sorry, we could not reset your password. Please try again.", - "emailPlaceholder": "your@email.com", - "inviteAlertHeading": "You have been invited to join a company", - "inviteAlertBody": "Please sign in or sign up to accept the invite and join the company.", - "acceptTermsAndConditions": "I accept the and ", - "termsOfService": "Terms of Service", - "privacyPolicy": "Privacy Policy", - "orContinueWith": "Or continue with", - "redirecting": "You're in! Please wait...", + "signUpHeading": "Loo konto", + "signUp": "Loo konto", + "signUpSubheading": "TΓ€ida allolev vorm, et luua konto.", + "signInHeading": "Logi oma kontole sisse", + "signInSubheading": "Tere tulemast tagasi! Palun sisesta oma andmed", + "signIn": "Logi sisse", + "getStarted": "Alusta", + "updatePassword": "Uuenda parooli", + "signOut": "Logi vΓ€lja", + "signingIn": "Sisselogimine...", + "signingUp": "Registreerimine...", + "doNotHaveAccountYet": "Kas sul pole veel kontot?", + "alreadyHaveAnAccount": "Kas sul on juba konto?", + "signUpToAcceptInvite": "Palun logi sisse/registreeru, et kutse vastu vΓ΅tta", + "clickToAcceptAs": "KlΓ΅psa alloleval nupul, et vΓ΅tta kutse vastu kui {{email}}", + "acceptInvite": "VΓ΅ta kutse vastu", + "acceptingInvite": "Kutset vastu vΓ΅ttes...", + "acceptInviteSuccess": "Kutse on edukalt vastu vΓ΅etud", + "acceptInviteError": "Kutse vastuvΓ΅tmisel tekkis viga", + "acceptInviteWithDifferentAccount": "Soovid kutse vastu vΓ΅tta teise kontoga?", + "alreadyHaveAccountStatement": "Mul on juba konto, ma tahan sisse logida", + "doNotHaveAccountStatement": "Mul pole kontot, ma tahan registreeruda", + "signInWithProvider": "Logi sisse teenusega {{provider}}", + "signInWithPhoneNumber": "Logi sisse telefoninumbriga", + "signInWithEmail": "Logi sisse e-posti aadressiga", + "signUpWithEmail": "Registreeru e-posti aadressiga", + "passwordHint": "Veendu, et see oleks vΓ€hemalt 8 tΓ€hemΓ€rki pikk", + "repeatPasswordHint": "Sisesta oma parool uuesti", + "repeatPassword": "Korda parooli", + "passwordForgottenQuestion": "Unustasid parooli?", + "passwordResetLabel": "Taasta parool", + "passwordResetSubheading": "Sisesta oma e-posti aadress alla. Saadame sulle lingi parooli lΓ€htestamiseks.", + "passwordResetSuccessMessage": "Kontrolli oma postkasti! Saatsime sulle parooli lΓ€htestamise lingi.", + "passwordRecoveredQuestion": "Kas parool on taastatud?", + "passwordLengthError": "Palun sisesta parool, mis on vΓ€hemalt 6 tΓ€hemΓ€rki pikk", + "sendEmailLink": "Saada e-posti link", + "sendingEmailLink": "E-posti lingi saatmine...", + "sendLinkSuccessDescription": "Kontrolli oma e-posti, just saatsime sulle lingi. JΓ€rgi linki, et sisse logida.", + "sendLinkSuccess": "Saadame sulle lingi e-posti teel", + "sendLinkSuccessToast": "Link edukalt saadetud", + "getNewLink": "Hangi uus link", + "verifyCodeHeading": "Kinnita oma konto", + "verificationCode": "Kinnituskood", + "verificationCodeHint": "Sisesta SMS-iga saadetud kood", + "verificationCodeSubmitButtonLabel": "Sisesta kinnituskood", + "sendingMfaCode": "Kinnituskoodi saatmine...", + "verifyingMfaCode": "Koodi kontrollimine...", + "sendMfaCodeError": "Vabandust, meil ei Γ΅nnestunud saata kinnituskoodi", + "verifyMfaCodeSuccess": "Kood kinnitatud! Sisselogimine...", + "verifyMfaCodeError": "Ups! Paistab, et kood ei ole Γ΅ige", + "reauthenticate": "Autentige uuesti", + "reauthenticateDescription": "Turvalisuse huvides peame teid uuesti autentima", + "errorAlertHeading": "Vabandust, me ei saanud sind autentida", + "emailConfirmationAlertHeading": "Saatsime sulle kinnituskirja e-posti teel.", + "emailConfirmationAlertBody": "Tere tulemast! Palun kontrolli oma e-posti ja klΓ΅psa lingil, et konto kinnitada.", + "resendLink": "Saada link uuesti", + "resendLinkSuccessDescription": "Saime sulle saata uue lingi! JΓ€rgi linki, et sisse logida.", + "resendLinkSuccess": "Kontrolli oma e-posti!", + "authenticationErrorAlertHeading": "Autentimise viga", + "authenticationErrorAlertBody": "Vabandust, me ei saanud sind autentida. Palun proovi uuesti.", + "sendEmailCode": "Hangi kood e-posti teel", + "sendingEmailCode": "Koodi saatmine...", + "resetPasswordError": "Vabandust, me ei saanud parooli lΓ€htestada. Palun proovi uuesti.", + "emailPlaceholder": "sinu@email.com", + "inviteAlertHeading": "Sind on kutsutud ettevΓ΅ttega liituma", + "inviteAlertBody": "Palun logi sisse vΓ΅i registreeru, et kutse vastu vΓ΅tta ja ettevΓ΅ttega liituda.", + "acceptTermsAndConditions": "Ma nΓ΅ustun ja ", + "termsOfService": "Kasutustingimused", + "privacyPolicy": "Privaatsuspoliitika", + "orContinueWith": "VΓ΅i jΓ€tka koos", + "redirecting": "Oled sees! Palun oota...", "errors": { - "Invalid login credentials": "The credentials entered are invalid", - "User already registered": "This credential is already in use. Please try with another one.", - "Email not confirmed": "Please confirm your email address before signing in", - "default": "We have encountered an error. Please ensure you have a working internet connection and try again", - "generic": "Sorry, we weren't able to authenticate you. Please try again.", - "link": "Sorry, we encountered an error while sending your link. Please try again.", - "codeVerifierMismatch": "It looks like you're trying to sign in using a different browser than the one you used to request the sign in link. Please try again using the same browser.", - "minPasswordLength": "Password must be at least 8 characters long", - "passwordsDoNotMatch": "The passwords do not match", - "minPasswordNumbers": "Password must contain at least one number", - "minPasswordSpecialChars": "Password must contain at least one special character", - "uppercasePassword": "Password must contain at least one uppercase letter", - "insufficient_aal": "Please sign-in with your current multi-factor authentication to perform this action", - "otp_expired": "The email link has expired. Please try again.", - "same_password": "The password cannot be the same as the current password" + "Invalid login credentials": "Sisestatud andmed on valed", + "User already registered": "See konto on juba kasutusel. Palun proovi teisega.", + "Email not confirmed": "Palun kinnita oma e-posti aadress enne sisselogimist", + "default": "Tekkis viga. Palun veendu, et sul on tΓΆΓΆtav internetiΓΌhendus, ja proovi uuesti", + "generic": "Vabandust, me ei saanud sind autentida. Palun proovi uuesti.", + "link": "Vabandust, lingi saatmisel tekkis viga. Palun proovi uuesti.", + "codeVerifierMismatch": "Paistab, et proovid sisse logida teises brauseris kui see, millest lingi taotlesid. Palun proovi uuesti sama brauseriga.", + "minPasswordLength": "Parool peab olema vΓ€hemalt 8 tΓ€hemΓ€rki pikk", + "passwordsDoNotMatch": "Paroolid ei kattu", + "minPasswordNumbers": "Parool peab sisaldama vΓ€hemalt ΓΌhte numbrit", + "minPasswordSpecialChars": "Parool peab sisaldama vΓ€hemalt ΓΌhte erimΓ€rki", + "uppercasePassword": "Parool peab sisaldama vΓ€hemalt ΓΌhte suurtΓ€hte", + "insufficient_aal": "Palun logi sisse oma mitmeastmelise autentimisega, et seda toimingut teha", + "otp_expired": "E-posti link on aegunud. Palun proovi uuesti.", + "same_password": "Parool ei tohi olla sama, mis praegune parool" } } diff --git a/public/locales/et/common.json b/public/locales/et/common.json index e00b87d..3a8f55c 100644 --- a/public/locales/et/common.json +++ b/public/locales/et/common.json @@ -1,6 +1,6 @@ { - "homeTabLabel": "Kodu", - "homeTabDescription": "Tere tulemast sinu kodulehele", + "homeTabLabel": "Avaleht", + "homeTabDescription": "Tere tulemast sinu avalehele", "accountMembers": "EttevΓ΅tte liikmed", "membersTabDescription": "Siit saad hallata oma ettevΓ΅tte liikmeid.", "billingTabLabel": "Arveldamine", @@ -19,7 +19,7 @@ "clear": "Kustuta", "close": "Sulge", "notFound": "Ei leitud", - "backToHomePage": "Tagasi kodulehele", + "backToHomePage": "Tagasi avalehele", "goBack": "Tagasi", "genericServerError": "Vabandame, midagi lΓ€ks valesti.", "genericServerErrorHeading": "Vabandame, midagi lΓ€ks valesti teie pΓ€ringu tΓΆΓΆtlemisel. Palun vΓ΅tke meiega ΓΌhendust, kui probleem pΓΌsib.", @@ -66,7 +66,7 @@ "description": "AlljΓ€rgnevalt on antud eelinfo (sugu, vanus ja kehamassiindeks) pΓ΅hjal tehtud personaalne terviseauditi valik. Tabelis on vΓ΅imalik soovitatud terviseuuringute paketile lisada ΓΌksikuid uuringuid juurde." }, "routes": { - "home": "Kodu", + "home": "Avaleht", "overview": "Ülevaade", "booking": "Broneeri aeg", "myOrders": "Minu tellimused", diff --git a/public/locales/et/dashboard.json b/public/locales/et/dashboard.json index 810c148..f3aaa6b 100644 --- a/public/locales/et/dashboard.json +++ b/public/locales/et/dashboard.json @@ -1,5 +1,5 @@ { - "recentlyCheckedDescription": "Super, oled kΓ€inud tervist kontrollimas. Siin on sinule olulised nΓ€itajad", + "recentlyCheckedDescription": "Siin on sinu olulisemad tervisenΓ€itajad", "respondToQuestion": "Vasta kΓΌsimusele", "gender": "Sugu", "male": "Mees", diff --git a/public/locales/et/marketing.json b/public/locales/et/marketing.json index 0f5f9c1..9f37856 100644 --- a/public/locales/et/marketing.json +++ b/public/locales/et/marketing.json @@ -1,41 +1,41 @@ { - "blog": "Blog", - "blogSubtitle": "News and updates about the platform", - "documentation": "Documentation", - "documentationSubtitle": "Tutorials and guide to get started with the platform", - "faq": "FAQ", - "faqSubtitle": "Frequently asked questions about the platform", - "pricing": "Pricing", - "pricingSubtitle": "Pricing plans and payment options", - "backToBlog": "Back to blog", - "noPosts": "No posts found", - "blogPaginationNext": "Next Page", - "blogPaginationPrevious": "Previous Page", - "readMore": "Read more", - "contactFaq": "If you have any questions, please contact us", - "contact": "Contact", - "about": "About", - "product": "Product", - "legal": "Legal", - "termsOfService": "Terms of Service", - "termsOfServiceDescription": "Our terms and conditions", - "cookiePolicy": "Cookie Policy", - "cookiePolicyDescription": "Our cookie policy and how we use them", - "privacyPolicy": "Privacy Policy", - "privacyPolicyDescription": "Our privacy policy and how we use your data", - "contactDescription": "Contact us for any questions or feedback", - "contactHeading": "Send us a message", - "contactSubheading": "We will get back to you as soon as possible", - "contactName": "Your Name", - "contactEmail": "Your Email", - "contactMessage": "Your Message", - "sendMessage": "Send Message", - "contactSuccess": "Your message has been sent successfully", - "contactError": "An error occurred while sending your message", - "contactSuccessDescription": "We have received your message and will get back to you as soon as possible", - "contactErrorDescription": "An error occurred while sending your message. Please try again later", - "footerDescription": "Here you can add a description about your company or product", - "copyright": "Β© Copyright {{year}} {{product}}. All Rights Reserved.", + "blog": "Blogi", + "blogSubtitle": "Uudised ja vΓ€rskendused platvormi kohta", + "documentation": "Dokumentatsioon", + "documentationSubtitle": "Γ•petused ja juhendid platvormiga alustamiseks", + "faq": "KKK", + "faqSubtitle": "Korduma kippuvad kΓΌsimused platvormi kohta", + "pricing": "Hinnakiri", + "pricingSubtitle": "Hinnaplaanid ja maksevΓ΅imalused", + "backToBlog": "Tagasi blogisse", + "noPosts": "Postitusi ei leitud", + "blogPaginationNext": "JΓ€rgmine leht", + "blogPaginationPrevious": "Eelmine leht", + "readMore": "Loe edasi", + "contactFaq": "Kui sul on kΓΌsimusi, vΓ΅ta meiega ΓΌhendust", + "contact": "Kontakt", + "about": "Meist", + "product": "Toode", + "legal": "Γ•iguslik teave", + "termsOfService": "Kasutustingimused", + "termsOfServiceDescription": "Meie tingimused ja nΓ΅uded", + "cookiePolicy": "KΓΌpsiste kasutamise pΓ΅himΓ΅tted", + "cookiePolicyDescription": "Meie kΓΌpsiste kasutamise pΓ΅himΓ΅tted", + "privacyPolicy": "Privaatsuspoliitika", + "privacyPolicyDescription": "Meie privaatsuspoliitika ja kuidas me sinu andmeid kasutame", + "contactDescription": "VΓ΅ta meiega ΓΌhendust kΓΌsimuste vΓ΅i tagasiside korral", + "contactHeading": "Saada meile sΓ΅num", + "contactSubheading": "Vastame sulle esimesel vΓ΅imalusel", + "contactName": "Sinu nimi", + "contactEmail": "Sinu e-post", + "contactMessage": "Sinu sΓ΅num", + "sendMessage": "Saada sΓ΅num", + "contactSuccess": "SΓ΅num on edukalt saadetud", + "contactError": "SΓ΅numi saatmisel tekkis viga", + "contactSuccessDescription": "Oleme sinu sΓ΅numi kΓ€tte saanud ja vΓ΅tame sinuga peagi ΓΌhendust", + "contactErrorDescription": "SΓ΅numi saatmisel tekkis viga. Palun proovi hiljem uuesti", + "footerDescription": "Siia saad lisada oma ettevΓ΅tte vΓ΅i toote kirjelduse", + "copyright": "Β© Copyright {{year}} {{product}}. KΓ΅ik Γ΅igused kaitstud.", "heroSubtitle": "Lihtne, mugav ja kiire ΓΌlevaade oma tervisest", "notInterestedInAudit": "Ei soovi hetkel terviseauditit" } \ No newline at end of file diff --git a/public/locales/et/teams.json b/public/locales/et/teams.json index f262a7a..399adb7 100644 --- a/public/locales/et/teams.json +++ b/public/locales/et/teams.json @@ -9,20 +9,20 @@ "membersBillingButtonDescription": "Vali kuidas soovid eelarvet tΓΆΓΆtajate vahel jagada." }, "settings": { - "pageTitle": "Settings", - "pageDescription": "Manage your Company details", - "teamLogo": "Company Logo", - "teamLogoDescription": "Update your company's logo to make it easier to identify", - "teamName": "Company Name", - "teamNameDescription": "Update your company's name", - "dangerZone": "Danger Zone", - "dangerZoneDescription": "This section contains actions that are irreversible" + "pageTitle": "Seaded", + "pageDescription": "Halda oma ettevΓ΅tte andmeid", + "teamLogo": "EttevΓ΅tte logo", + "teamLogoDescription": "Uuenda oma ettevΓ΅tte logo, et seda oleks lihtsam tuvastada", + "teamName": "EttevΓ΅tte nimi", + "teamNameDescription": "Uuenda oma ettevΓ΅tte nime", + "dangerZone": "Ohtlik tsoon", + "dangerZoneDescription": "See osa sisaldab pΓΆΓΆrdumatuid toiminguid" }, "members": { - "pageTitle": "Members" + "pageTitle": "TΓΆΓΆtajad" }, "billing": { - "pageTitle": "Billing" + "pageTitle": "Arveldamine" }, "benefitStatistics": { "budget": { @@ -50,148 +50,148 @@ "vitaminD": "Vitamiin D", "smokers": "Suitsetajad" }, - "yourTeams": "Your Companies ({{teamsCount}})", - "createTeam": "Create a Company", - "creatingTeam": "Creating Company...", - "personalAccount": "Personal Account", - "searchAccount": "Search Account...", - "membersTabLabel": "Members", - "memberName": "Name", - "youLabel": "You", - "emailLabel": "Email", - "roleLabel": "Role", - "primaryOwnerLabel": "Primary Admin", - "joinedAtLabel": "Joined at", - "invitedAtLabel": "Invited at", - "inviteMembersPageSubheading": "Invite members to your Company", - "createTeamModalHeading": "Create Company", - "createTeamModalDescription": "Create a new Company to manage your projects and members.", - "teamNameLabel": "Company Name", - "teamNameDescription": "Your company name should be unique and descriptive", - "createTeamSubmitLabel": "Create Company", - "createTeamSuccess": "Company created successfully", - "createTeamError": "Company not created. Please try again.", - "createTeamLoading": "Creating company...", - "settingsPageLabel": "General", - "createTeamDropdownLabel": "New company", - "changeRole": "Change Role", - "removeMember": "Remove from Account", - "inviteMembersSuccess": "Members invited successfully!", - "inviteMembersError": "Sorry, we encountered an error! Please try again", - "inviteMembersLoading": "Inviting members...", - "removeInviteButtonLabel": "Remove invite", - "addAnotherMemberButtonLabel": "Add another one", - "inviteMembersButtonLabel": "Send Invites", - "removeMemberModalHeading": "You are removing this user", - "removeMemberModalDescription": "Remove this member from the company. They will no longer have access to the company.", - "removeMemberSuccessMessage": "Member removed successfully", - "removeMemberErrorMessage": "Sorry, we encountered an error. Please try again", - "removeMemberErrorHeading": "Sorry, we couldn't remove the selected member.", - "removeMemberLoadingMessage": "Removing member...", - "removeMemberSubmitLabel": "Remove User from Company", - "chooseDifferentRoleError": "Role is the same as the current one", - "updateRole": "Update Role", - "updateRoleLoadingMessage": "Updating role...", - "updateRoleSuccessMessage": "Role updated successfully", - "updatingRoleErrorMessage": "Sorry, we encountered an error. Please try again.", - "updateMemberRoleModalHeading": "Update Member's Role", - "updateMemberRoleModalDescription": "Change the role of the selected member. The role determines the permissions of the member.", - "roleMustBeDifferent": "Role must be different from the current one", - "memberRoleInputLabel": "Member role", - "updateRoleDescription": "Pick a role for this member.", - "updateRoleSubmitLabel": "Update Role", - "transferOwnership": "Transfer Ownership", - "transferOwnershipDescription": "Transfer ownership of the company account to another member.", - "transferOwnershipInputLabel": "Please type TRANSFER to confirm the transfer of ownership.", - "transferOwnershipInputDescription": "By transferring ownership, you will no longer be the primary admin of the company account.", - "deleteInvitation": "Delete Invitation", - "deleteInvitationDialogDescription": "You are about to delete the invitation. The user will no longer be able to join the company account.", - "deleteInviteSuccessMessage": "Invite deleted successfully", - "deleteInviteErrorMessage": "Invite not deleted. Please try again.", - "deleteInviteLoadingMessage": "Deleting invite. Please wait...", - "confirmDeletingMemberInvite": "You are deleting the invite to {{ email }}", - "transferOwnershipDisclaimer": "You are transferring ownership of the selected company account to {{ member }}.", - "transferringOwnership": "Transferring ownership...", - "transferOwnershipSuccess": "Ownership successfully transferred", - "transferOwnershipError": "Sorry, we could not transfer ownership to the selected member. Please try again.", - "deleteInviteSubmitLabel": "Delete Invite", - "youBadgeLabel": "You", - "updateTeamLoadingMessage": "Updating Company...", - "updateTeamSuccessMessage": "Company successfully updated", - "updateTeamErrorMessage": "Could not update Company. Please try again.", - "updateLogoErrorMessage": "Could not update Logo. Please try again.", - "teamNameInputLabel": "Company Name", - "teamLogoInputHeading": "Upload your company's Logo", - "teamLogoInputSubheading": "Please choose a photo to upload as your company logo.", - "updateTeamSubmitLabel": "Update Company", - "inviteMembersHeading": "Invite Members to your Company", - "inviteMembersDescription": "Invite member to your company by entering their email and role.", - "emailPlaceholder": "member@email.com", - "membersPageHeading": "Members", - "inviteMembersButton": "Invite Members", - "invitingMembers": "Inviting members...", - "inviteMembersSuccessMessage": "Members invited successfully", - "inviteMembersErrorMessage": "Sorry, members could not be invited. Please try again.", - "pendingInvitesHeading": "Pending Invites", - "pendingInvitesDescription": " Here you can manage the pending invitations to your company.", - "noPendingInvites": "No pending invites found", - "loadingMembers": "Loading members...", - "loadMembersError": "Sorry, we couldn't fetch your company's members.", - "loadInvitedMembersError": "Sorry, we couldn't fetch your company's invited members.", - "loadingInvitedMembers": "Loading invited members...", - "invitedBadge": "Invited", - "duplicateInviteEmailError": "You have already entered this email address", - "invitingOwnAccountError": "Hey, that's your email!", - "dangerZone": "Danger Zone", - "dangerZoneSubheading": "Delete or leave your company", - "deleteTeam": "Delete Company", - "deleteTeamDescription": "This action cannot be undone. All data associated with this company will be deleted.", - "deletingTeam": "Deleting company", - "deleteTeamModalHeading": "Deleting Company", - "deletingTeamDescription": "You are about to delete the company {{ teamName }}. This action cannot be undone.", - "deleteTeamInputField": "Type the name of the company to confirm", - "leaveTeam": "Leave Company", - "leavingTeamModalHeading": "Leaving Company", - "leavingTeamModalDescription": "You are about to leave this company. You will no longer have access to it.", - "leaveTeamDescription": "Click the button below to leave the company. Remember, you will no longer have access to it and will need to be re-invited to join.", - "deleteTeamDisclaimer": "You are deleting the company {{ teamName }}. This action cannot be undone.", - "leaveTeamDisclaimer": "You are leaving the company {{ teamName }}. You will no longer have access to it.", - "deleteTeamErrorHeading": "Sorry, we couldn't delete your company.", - "leaveTeamErrorHeading": "Sorry, we couldn't leave your company.", - "searchMembersPlaceholder": "Search members", - "createTeamErrorHeading": "Sorry, we couldn't create your company.", - "createTeamErrorMessage": "We encountered an error creating your company. Please try again.", - "transferTeamErrorHeading": "Sorry, we couldn't transfer ownership of your company account.", - "transferTeamErrorMessage": "We encountered an error transferring ownership of your company account. Please try again.", - "updateRoleErrorHeading": "Sorry, we couldn't update the role of the selected member.", - "updateRoleErrorMessage": "We encountered an error updating the role of the selected member. Please try again.", - "searchInvitations": "Search Invitations", - "updateInvitation": "Update Invitation", - "removeInvitation": "Remove Invitation", - "acceptInvitation": "Accept Invitation", - "renewInvitation": "Renew Invitation", - "resendInvitation": "Resend Invitation", - "expiresAtLabel": "Expires at", - "expired": "Expired", - "active": "Active", - "inviteStatus": "Status", - "inviteNotFoundOrExpired": "Invite not found or expired", - "inviteNotFoundOrExpiredDescription": "The invite you are looking for is either expired or does not exist. Please contact the company admin to renew the invite.", - "backToHome": "Back to Home", - "renewInvitationDialogDescription": "You are about to renew the invitation to {{ email }}. The user will be able to join the company.", - "renewInvitationErrorTitle": "Sorry, we couldn't renew the invitation.", - "renewInvitationErrorDescription": "We encountered an error renewing the invitation. Please try again.", - "signInWithDifferentAccount": "Sign in with a different account", - "signInWithDifferentAccountDescription": "If you wish to accept the invitation with a different account, please sign out and back in with the account you wish to use.", - "acceptInvitationHeading": "Accept Invitation to join {{accountName}}", - "acceptInvitationDescription": "You have been invited to join the company {{accountName}}. If you wish to accept the invitation, please click the button below.", - "continueAs": "Continue as {{email}}", - "joinTeamAccount": "Join Company", - "joiningTeam": "Joining company...", - "leaveTeamInputLabel": "Please type LEAVE to confirm leaving the company.", - "leaveTeamInputDescription": "By leaving the company, you will no longer have access to it.", - "reservedNameError": "This name is reserved. Please choose a different one.", - "specialCharactersError": "This name cannot contain special characters. Please choose a different one.", + "yourTeams": "Sinu ettevΓ΅tted ({{teamsCount}})", + "createTeam": "Loo ettevΓ΅te", + "creatingTeam": "EttevΓ΅tet luuakse...", + "personalAccount": "Isiklik konto", + "searchAccount": "Otsi kontot...", + "membersTabLabel": "TΓΆΓΆtajad", + "memberName": "Nimi", + "youLabel": "Sina", + "emailLabel": "E-post", + "roleLabel": "Roll", + "primaryOwnerLabel": "Peaadministraator", + "joinedAtLabel": "Liitus", + "invitedAtLabel": "Kutsutud", + "inviteMembersPageSubheading": "Kutsu tΓΆΓΆtajaid oma ettevΓ΅ttesse", + "createTeamModalHeading": "Loo ettevΓ΅te", + "createTeamModalDescription": "Loo uus ettevΓ΅te, et hallata oma projekte ja tΓΆΓΆtajaid.", + "teamNameLabel": "EttevΓ΅tte nimi", + "teamNameDescription": "EttevΓ΅tte nimi peaks olema unikaalne ja kirjeldav", + "createTeamSubmitLabel": "Loo ettevΓ΅te", + "createTeamSuccess": "EttevΓ΅te loodud edukalt", + "createTeamError": "EttevΓ΅tet ei loodud. Palun proovi uuesti.", + "createTeamLoading": "EttevΓ΅tet luuakse...", + "settingsPageLabel": "Üldine", + "createTeamDropdownLabel": "Uus ettevΓ΅te", + "changeRole": "Muuda rolli", + "removeMember": "Eemalda kontolt", + "inviteMembersSuccess": "TΓΆΓΆtajad kutsutud edukalt!", + "inviteMembersError": "Vabandust, tekkis viga! Palun proovi uuesti", + "inviteMembersLoading": "TΓΆΓΆtajaid kutsutakse...", + "removeInviteButtonLabel": "Eemalda kutse", + "addAnotherMemberButtonLabel": "Lisa veel ΓΌks", + "inviteMembersButtonLabel": "Saada kutsed", + "removeMemberModalHeading": "Sa eemaldad selle kasutaja", + "removeMemberModalDescription": "Eemalda see tΓΆΓΆtaja ettevΓ΅ttest. Tal ei ole enam ligipÀÀsu ettevΓ΅ttele.", + "removeMemberSuccessMessage": "TΓΆΓΆtaja eemaldatud edukalt", + "removeMemberErrorMessage": "Vabandust, tekkis viga. Palun proovi uuesti", + "removeMemberErrorHeading": "Vabandust, ei saanud valitud tΓΆΓΆtajat eemaldada.", + "removeMemberLoadingMessage": "TΓΆΓΆtajat eemaldatakse...", + "removeMemberSubmitLabel": "Eemalda tΓΆΓΆtaja ettevΓ΅ttest", + "chooseDifferentRoleError": "Roll on sama mis praegune", + "updateRole": "Uuenda rolli", + "updateRoleLoadingMessage": "Rolli uuendatakse...", + "updateRoleSuccessMessage": "Roll edukalt uuendatud", + "updatingRoleErrorMessage": "Vabandust, tekkis viga. Palun proovi uuesti.", + "updateMemberRoleModalHeading": "Uuenda tΓΆΓΆtaja rolli", + "updateMemberRoleModalDescription": "Muuda valitud tΓΆΓΆtaja rolli. Roll mÀÀrab tΓΆΓΆtaja Γ΅igused.", + "roleMustBeDifferent": "Roll peab erinema praegusest", + "memberRoleInputLabel": "TΓΆΓΆtaja roll", + "updateRoleDescription": "Vali tΓΆΓΆtajale roll.", + "updateRoleSubmitLabel": "Uuenda rolli", + "transferOwnership": "Anna omandiΓ΅igus ΓΌle", + "transferOwnershipDescription": "Anna ettevΓ΅tte konto omandiΓ΅igus teisele tΓΆΓΆtajale.", + "transferOwnershipInputLabel": "Palun kirjuta TRANSFER, et kinnitada omandiΓ΅iguse ΓΌleandmist.", + "transferOwnershipInputDescription": "Kui annad omandiΓ΅iguse ΓΌle, ei ole sa enam ettevΓ΅tte konto peaadministraator.", + "deleteInvitation": "Kustuta kutse", + "deleteInvitationDialogDescription": "Oled kustutamas kutset. Kasutaja ei saa enam ettevΓ΅tte kontoga liituda.", + "deleteInviteSuccessMessage": "Kutse edukalt kustutatud", + "deleteInviteErrorMessage": "Kutse ei kustutatud. Palun proovi uuesti.", + "deleteInviteLoadingMessage": "Kutset kustutatakse. Palun oota...", + "confirmDeletingMemberInvite": "Oled kustutamas kutset aadressile {{ email }}", + "transferOwnershipDisclaimer": "Sa annad valitud ettevΓ΅tte konto omandiΓ΅iguse ΓΌle kasutajale {{ member }}.", + "transferringOwnership": "OmandiΓ΅igust antakse ΓΌle...", + "transferOwnershipSuccess": "OmandiΓ΅igus edukalt ΓΌle antud", + "transferOwnershipError": "Vabandust, ei saanud valitud tΓΆΓΆtajale omandiΓ΅igust ΓΌle anda. Palun proovi uuesti.", + "deleteInviteSubmitLabel": "Kustuta kutse", + "youBadgeLabel": "Sina", + "updateTeamLoadingMessage": "EttevΓ΅tet uuendatakse...", + "updateTeamSuccessMessage": "EttevΓ΅te edukalt uuendatud", + "updateTeamErrorMessage": "EttevΓ΅tet ei saanud uuendada. Palun proovi uuesti.", + "updateLogoErrorMessage": "Logo ei saanud uuendada. Palun proovi uuesti.", + "teamNameInputLabel": "EttevΓ΅tte nimi", + "teamLogoInputHeading": "Laadi ΓΌles oma ettevΓ΅tte logo", + "teamLogoInputSubheading": "Palun vali pilt, mida kasutada ettevΓ΅tte logona.", + "updateTeamSubmitLabel": "Uuenda ettevΓ΅tet", + "inviteMembersHeading": "Kutsu tΓΆΓΆtajaid oma ettevΓ΅ttesse", + "inviteMembersDescription": "Kutsu tΓΆΓΆtajaid oma ettevΓ΅ttesse sisestades nende e-posti ja rolli.", + "emailPlaceholder": "tootaja@email.com", + "membersPageHeading": "TΓΆΓΆtajad", + "inviteMembersButton": "Kutsu tΓΆΓΆtajaid", + "invitingMembers": "TΓΆΓΆtajaid kutsutakse...", + "inviteMembersSuccessMessage": "TΓΆΓΆtajad kutsutud edukalt", + "inviteMembersErrorMessage": "Vabandust, tΓΆΓΆtajaid ei saanud kutsuda. Palun proovi uuesti.", + "pendingInvitesHeading": "Ootel kutsed", + "pendingInvitesDescription": " Siin saad hallata oma ettevΓ΅tte ootel kutseid.", + "noPendingInvites": "Ootel kutseid ei leitud", + "loadingMembers": "TΓΆΓΆtajaid laaditakse...", + "loadMembersError": "Vabandust, ei saanud laadida ettevΓ΅tte tΓΆΓΆtajaid.", + "loadInvitedMembersError": "Vabandust, ei saanud laadida kutsutud tΓΆΓΆtajaid.", + "loadingInvitedMembers": "Kutsutud tΓΆΓΆtajaid laaditakse...", + "invitedBadge": "Kutsutud", + "duplicateInviteEmailError": "Oled juba sisestanud selle e-posti aadressi", + "invitingOwnAccountError": "Hei, see on sinu e-post!", + "dangerZone": "Ohtlik tsoon", + "dangerZoneSubheading": "Kustuta vΓ΅i lahku oma ettevΓ΅ttest", + "deleteTeam": "Kustuta ettevΓ΅te", + "deleteTeamDescription": "Seda toimingut ei saa tagasi vΓ΅tta. KΓ΅ik ettevΓ΅ttega seotud andmed kustutatakse.", + "deletingTeam": "EttevΓ΅tet kustutatakse", + "deleteTeamModalHeading": "EttevΓ΅tte kustutamine", + "deletingTeamDescription": "Oled kustutamas ettevΓ΅tet {{ teamName }}. Seda toimingut ei saa tagasi vΓ΅tta.", + "deleteTeamInputField": "Sisesta ettevΓ΅tte nimi kinnituseks", + "leaveTeam": "Lahku ettevΓ΅ttest", + "leavingTeamModalHeading": "EttevΓ΅ttest lahkumine", + "leavingTeamModalDescription": "Oled lahkumas ettevΓ΅ttest. Sul ei ole enam sellele ligipÀÀsu.", + "leaveTeamDescription": "Vajuta allolevat nuppu, et ettevΓ΅ttest lahkuda. Pea meeles, et sul ei ole enam ligipÀÀsu ja pead uuesti kutsutuks saama.", + "deleteTeamDisclaimer": "Oled kustutamas ettevΓ΅tet {{ teamName }}. Seda toimingut ei saa tagasi vΓ΅tta.", + "leaveTeamDisclaimer": "Oled lahkumas ettevΓ΅ttest {{ teamName }}. Sul ei ole enam sellele ligipÀÀsu.", + "deleteTeamErrorHeading": "Vabandust, ettevΓ΅tet ei saanud kustutada.", + "leaveTeamErrorHeading": "Vabandust, ettevΓ΅ttest ei saanud lahkuda.", + "searchMembersPlaceholder": "Otsi tΓΆΓΆtajaid", + "createTeamErrorHeading": "Vabandust, ettevΓ΅tet ei saanud luua.", + "createTeamErrorMessage": "EttevΓ΅tet luues tekkis viga. Palun proovi uuesti.", + "transferTeamErrorHeading": "Vabandust, ei saanud ettevΓ΅tte omandiΓ΅igust ΓΌle anda.", + "transferTeamErrorMessage": "EttevΓ΅tte omandiΓ΅iguse ΓΌleandmisel tekkis viga. Palun proovi uuesti.", + "updateRoleErrorHeading": "Vabandust, ei saanud valitud tΓΆΓΆtaja rolli uuendada.", + "updateRoleErrorMessage": "TΓΆΓΆtaja rolli uuendamisel tekkis viga. Palun proovi uuesti.", + "searchInvitations": "Otsi kutseid", + "updateInvitation": "Uuenda kutset", + "removeInvitation": "Eemalda kutse", + "acceptInvitation": "VΓ΅ta kutse vastu", + "renewInvitation": "Uuenda kutset", + "resendInvitation": "Saada kutse uuesti", + "expiresAtLabel": "Aegub", + "expired": "Aegunud", + "active": "Aktiivne", + "inviteStatus": "Staatus", + "inviteNotFoundOrExpired": "Kutse ei leitud vΓ΅i on aegunud", + "inviteNotFoundOrExpiredDescription": "Kutse, mida otsid, on kas aegunud vΓ΅i ei eksisteeri. Palun vΓ΅ta ΓΌhendust ettevΓ΅tte administraatoriga, et kutset uuendada.", + "backToHome": "Tagasi avalehele", + "renewInvitationDialogDescription": "Oled uuendamas kutset aadressile {{ email }}. Kasutaja saab ettevΓ΅ttega liituda.", + "renewInvitationErrorTitle": "Vabandust, ei saanud kutset uuendada.", + "renewInvitationErrorDescription": "Kutset uuendades tekkis viga. Palun proovi uuesti.", + "signInWithDifferentAccount": "Logi sisse teise kontoga", + "signInWithDifferentAccountDescription": "Kui soovid kutse vastu vΓ΅tta teise kontoga, logi vΓ€lja ja tagasi sisse soovitud kontoga.", + "acceptInvitationHeading": "VΓ΅ta kutse vastu, et liituda ettevΓ΅ttega {{accountName}}", + "acceptInvitationDescription": "Sind on kutsutud liituma ettevΓ΅ttega {{accountName}}. Kui soovid kutse vastu vΓ΅tta, vajuta allolevat nuppu.", + "continueAs": "JΓ€tka kui {{email}}", + "joinTeamAccount": "Liitu ettevΓ΅ttega", + "joiningTeam": "EttevΓ΅ttega liitumine...", + "leaveTeamInputLabel": "Palun kirjuta LEAVE kinnituseks, et ettevΓ΅ttest lahkuda.", + "leaveTeamInputDescription": "Kui lahkud ettevΓ΅ttest, ei ole sul enam sellele ligipÀÀsu.", + "reservedNameError": "See nimi on reserveeritud. Palun vali mΓ΅ni teine.", + "specialCharactersError": "Nimi ei tohi sisaldada erimΓ€rke. Palun vali mΓ΅ni teine.", "personalCode": "Isikukood", "teamOwnerPersonalCodeLabel": "Omaniku isikukood" -} +} \ No newline at end of file From 5b52da0a6217e2f18b73aa3a59732804f491fa24 Mon Sep 17 00:00:00 2001 From: Karli Date: Wed, 3 Sep 2025 23:03:00 +0300 Subject: [PATCH 11/39] fix adding to cart loading --- app/home/(user)/_components/order-analyses-cards.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/home/(user)/_components/order-analyses-cards.tsx b/app/home/(user)/_components/order-analyses-cards.tsx index 3f2a72e..fa69d65 100644 --- a/app/home/(user)/_components/order-analyses-cards.tsx +++ b/app/home/(user)/_components/order-analyses-cards.tsx @@ -30,23 +30,23 @@ export default function OrderAnalysesCards({ analyses: OrderAnalysisCard[]; countryCode: string; }) { - const [isAddingToCart, setIsAddingToCart] = useState(false); + const [variantAddingToCart, setVariantAddingToCart] = useState(null); const handleSelect = async (variantId: string) => { - if (isAddingToCart) { + if (variantAddingToCart) { return null; } - setIsAddingToCart(true); + setVariantAddingToCart(variantId); try { await handleAddToCart({ selectedVariant: { id: variantId }, countryCode, }); toast.success(); - setIsAddingToCart(false); + setVariantAddingToCart(null); } catch (e) { toast.error(); - setIsAddingToCart(false); + setVariantAddingToCart(null); console.error(e); } } @@ -80,7 +80,7 @@ export default function OrderAnalysesCards({ className="px-2 text-black" onClick={() => handleSelect(variant.id)} > - {isAddingToCart ? : } + {variantAddingToCart ? : }
)} From 5c8f8b73d78b6329a344b23920208ebd1254df64 Mon Sep 17 00:00:00 2001 From: Karli Date: Wed, 3 Sep 2025 23:03:59 +0300 Subject: [PATCH 12/39] try to display price before adding to cart --- .../_components/order-analyses-cards.tsx | 23 ++++++++++++++++++- app/home/(user)/_lib/server/load-analyses.ts | 13 ++++++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/app/home/(user)/_components/order-analyses-cards.tsx b/app/home/(user)/_components/order-analyses-cards.tsx index fa69d65..5ef16ea 100644 --- a/app/home/(user)/_components/order-analyses-cards.tsx +++ b/app/home/(user)/_components/order-analyses-cards.tsx @@ -1,6 +1,7 @@ "use client"; import { HeartPulse, Loader2, ShoppingCart } from 'lucide-react'; +import { useTranslation } from 'react-i18next'; import { Button } from '@kit/ui/button'; import { @@ -15,12 +16,14 @@ import { handleAddToCart } from '~/lib/services/medusaCart.service'; import { InfoTooltip } from '@kit/shared/components/ui/info-tooltip'; import { Trans } from '@kit/ui/trans'; import { toast } from '@kit/ui/sonner'; +import { formatCurrency } from '@/packages/shared/src/utils'; export type OrderAnalysisCard = Pick< StoreProduct, 'title' | 'description' | 'subtitle' > & { isAvailable: boolean; variant: { id: string }; + price: number | null; }; export default function OrderAnalysesCards({ @@ -30,6 +33,9 @@ export default function OrderAnalysesCards({ analyses: OrderAnalysisCard[]; countryCode: string; }) { + + const { i18n: { language } } = useTranslation() + const [variantAddingToCart, setVariantAddingToCart] = useState(null); const handleSelect = async (variantId: string) => { if (variantAddingToCart) { @@ -59,7 +65,15 @@ export default function OrderAnalysesCards({ description, subtitle, isAvailable, + price, }) => { + const formattedPrice = typeof price === 'number' + ? formatCurrency({ + currencyCode: 'eur', + locale: language, + value: price, + }) + : null; return ( {' '} - + + {formattedPrice} + {description} +
+ } + /> )} diff --git a/app/home/(user)/_lib/server/load-analyses.ts b/app/home/(user)/_lib/server/load-analyses.ts index 12eebbf..1cc954c 100644 --- a/app/home/(user)/_lib/server/load-analyses.ts +++ b/app/home/(user)/_lib/server/load-analyses.ts @@ -1,11 +1,10 @@ import { cache } from 'react'; import { getProductCategories } from '@lib/data/categories'; -import { listProductTypes } from '@lib/data/products'; +import { listProducts, listProductTypes } from '@lib/data/products'; import { listRegions } from '@lib/data/regions'; import { OrderAnalysisCard } from '../../_components/order-analyses-cards'; -import { ServiceCategory } from '../../_components/service-categories'; async function countryCodesLoader() { const countryCodes = await listRegions().then((regions) => @@ -39,13 +38,20 @@ async function analysesLoader() { const category = productCategories.find( ({ metadata }) => metadata?.page === 'order-analysis', ); + const categoryProducts = category + ? await listProducts({ + countryCode, + queryParams: { limit: 100, category_id: category.id }, + }) + : null; + const serviceCategories = productCategories.filter( ({ parent_category }) => parent_category?.handle === 'tto-categories', ); return { analyses: - category?.products?.map( + categoryProducts?.response.products.map( ({ title, description, subtitle, variants, status, metadata }) => { const variant = variants![0]!; return { @@ -57,6 +63,7 @@ async function analysesLoader() { }, isAvailable: status === 'published' && !!metadata?.analysisIdOriginal, + price: variant.calculated_price?.calculated_amount ?? null, }; }, ) ?? [], From c07acb85a281cdc653524756899621d10bc6b9b7 Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 12:41:18 +0300 Subject: [PATCH 13/39] fix tooltip should wrap long text --- packages/shared/src/components/ui/info-tooltip.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/shared/src/components/ui/info-tooltip.tsx b/packages/shared/src/components/ui/info-tooltip.tsx index 0573e79..10a7ae3 100644 --- a/packages/shared/src/components/ui/info-tooltip.tsx +++ b/packages/shared/src/components/ui/info-tooltip.tsx @@ -13,7 +13,7 @@ export function InfoTooltip({ content, icon, }: { - content?: string | null; + content?: JSX.Element | string | null; icon?: JSX.Element; }) { if (!content) return null; @@ -23,7 +23,7 @@ export function InfoTooltip({ {icon || } - {content} + {content} ); From 3a062eaa9cc6ba0a76bdc3b468de31a97cab881e Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 12:57:18 +0300 Subject: [PATCH 14/39] hide dashboard recommendations block --- .../_components/dashboard-recommendations.tsx | 128 ++++++++++++++++++ app/home/(user)/_components/dashboard.tsx | 110 +-------------- 2 files changed, 131 insertions(+), 107 deletions(-) create mode 100644 app/home/(user)/_components/dashboard-recommendations.tsx diff --git a/app/home/(user)/_components/dashboard-recommendations.tsx b/app/home/(user)/_components/dashboard-recommendations.tsx new file mode 100644 index 0000000..f33aeaf --- /dev/null +++ b/app/home/(user)/_components/dashboard-recommendations.tsx @@ -0,0 +1,128 @@ +'use client'; + +import Link from 'next/link'; + +import { BlendingModeIcon } from '@radix-ui/react-icons'; +import { + Droplets, +} from 'lucide-react'; + +import { InfoTooltip } from '@kit/shared/components/ui/info-tooltip'; +import { Button } from '@kit/ui/button'; +import { + Card, + CardContent, + CardHeader, +} from '@kit/ui/card'; +import { Trans } from '@kit/ui/trans'; +import { cn } from '@kit/ui/utils'; + +const dummyRecommendations = [ + { + icon: , + color: 'bg-cyan/10 text-cyan', + title: 'Kolesterooli kontroll', + description: 'HDL-kolestrool', + tooltipContent: 'Selgitus', + price: '20,00 €', + buttonText: 'Telli', + href: '/home/booking', + }, + { + icon: , + color: 'bg-primary/10 text-primary', + title: 'Kolesterooli kontroll', + tooltipContent: 'Selgitus', + description: 'LDL-Kolesterool', + buttonText: 'Broneeri', + href: '/home/booking', + }, + { + icon: , + color: 'bg-destructive/10 text-destructive', + title: 'VererΓ΅hu kontroll', + tooltipContent: 'Selgitus', + description: 'Score-Risk 2', + price: '20,00 €', + buttonText: 'Telli', + href: '/home/booking', + }, +]; + +export default function DashboardRecommendations() { + return ( + + +

+ +

+
+ + {dummyRecommendations.map( + ( + { + icon, + color, + title, + description, + tooltipContent, + price, + buttonText, + href, + }, + index, + ) => { + return ( +
+
+
+ {icon} +
+
+
+ {title} + +
+

+ {description} +

+
+
+
+

{price}

+ {href ? ( + + + + ) : ( + + )} +
+
+ ); + }, + )} +
+
+ ); +} diff --git a/app/home/(user)/_components/dashboard.tsx b/app/home/(user)/_components/dashboard.tsx index 9c101dc..4d6d260 100644 --- a/app/home/(user)/_components/dashboard.tsx +++ b/app/home/(user)/_components/dashboard.tsx @@ -9,20 +9,17 @@ import { Activity, ChevronRight, Clock9, - Droplets, Pill, Scale, TrendingUp, User, } from 'lucide-react'; -import { InfoTooltip } from '@kit/shared/components/ui/info-tooltip'; import { pathsConfig } from '@kit/shared/config'; import { getPersonParameters } from '@kit/shared/utils'; import { Button } from '@kit/ui/button'; import { Card, - CardContent, CardDescription, CardFooter, CardHeader, @@ -38,6 +35,7 @@ import { getBmiBackgroundColor, getBmiStatus, } from '~/lib/utils'; +import DashboardRecommendations from './dashboard-recommendations'; const getCardVariant = (isSuccess: boolean | null): CardProps['variant'] => { if (isSuccess === null) return 'default'; @@ -135,37 +133,7 @@ const cards = ({ }, ]; -const dummyRecommendations = [ - { - icon: , - color: 'bg-cyan/10 text-cyan', - title: 'Kolesterooli kontroll', - description: 'HDL-kolestrool', - tooltipContent: 'Selgitus', - price: '20,00 €', - buttonText: 'Telli', - href: '/home/booking', - }, - { - icon: , - color: 'bg-primary/10 text-primary', - title: 'Kolesterooli kontroll', - tooltipContent: 'Selgitus', - description: 'LDL-Kolesterool', - buttonText: 'Broneeri', - href: '/home/booking', - }, - { - icon: , - color: 'bg-destructive/10 text-destructive', - title: 'VererΓ΅hu kontroll', - tooltipContent: 'Selgitus', - description: 'Score-Risk 2', - price: '20,00 €', - buttonText: 'Telli', - href: '/home/booking', - }, -]; +const IS_SHOWN_RECOMMENDATIONS = false as boolean; export default function Dashboard({ account, @@ -232,79 +200,7 @@ export default function Dashboard({ ), )}
- - -

- -

-
- - {dummyRecommendations.map( - ( - { - icon, - color, - title, - description, - tooltipContent, - price, - buttonText, - href, - }, - index, - ) => { - return ( -
-
-
- {icon} -
-
-
- {title} - -
-

- {description} -

-
-
-
-

{price}

- {href ? ( - - - - ) : ( - - )} -
-
- ); - }, - )} -
-
+ {IS_SHOWN_RECOMMENDATIONS && } ); } From 6e9cde6b95fc8269816fc2ef9a8a0dd52be19df5 Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 13:18:42 +0300 Subject: [PATCH 15/39] medusa product can have either analysiselement or analysis originalId --- app/api/job/medipost-retry-dispatch/route.ts | 4 +-- app/api/job/test-medipost-responses/route.ts | 8 +++--- app/api/order/medipost-test-response/route.ts | 13 +++++----- .../cart/montonio-callback/actions.ts | 4 +-- lib/services/analyses.service.ts | 14 +++++++--- lib/services/medipost.service.ts | 26 +++++++++++++------ lib/services/order.service.ts | 6 ++--- .../src/lib/data/products.ts | 4 +-- 8 files changed, 47 insertions(+), 32 deletions(-) diff --git a/app/api/job/medipost-retry-dispatch/route.ts b/app/api/job/medipost-retry-dispatch/route.ts index 2258e2b..1a97cef 100644 --- a/app/api/job/medipost-retry-dispatch/route.ts +++ b/app/api/job/medipost-retry-dispatch/route.ts @@ -1,7 +1,7 @@ import { NextRequest, NextResponse } from "next/server"; import loadEnv from "../handler/load-env"; import validateApiKey from "../handler/validate-api-key"; -import { getOrderedAnalysisElementsIds, sendOrderToMedipost } from "~/lib/services/medipost.service"; +import { getOrderedAnalysisIds, sendOrderToMedipost } from "~/lib/services/medipost.service"; import { retrieveOrder } from "@lib/data/orders"; import { getMedipostDispatchTries } from "~/lib/services/audit.service"; @@ -25,7 +25,7 @@ export const POST = async (request: NextRequest) => { try { const medusaOrder = await retrieveOrder(medusaOrderId); - const orderedAnalysisElements = await getOrderedAnalysisElementsIds({ medusaOrder }); + const orderedAnalysisElements = await getOrderedAnalysisIds({ medusaOrder }); await sendOrderToMedipost({ medusaOrderId, orderedAnalysisElements }); console.info("Successfully sent order to medipost"); return NextResponse.json({ diff --git a/app/api/job/test-medipost-responses/route.ts b/app/api/job/test-medipost-responses/route.ts index 3b32794..c745b98 100644 --- a/app/api/job/test-medipost-responses/route.ts +++ b/app/api/job/test-medipost-responses/route.ts @@ -3,7 +3,7 @@ import { getAnalysisOrdersAdmin } from "~/lib/services/order.service"; import { composeOrderTestResponseXML, sendPrivateMessageTestResponse } from "~/lib/services/medipostTest.service"; import { retrieveOrder } from "@lib/data"; import { getAccountAdmin } from "~/lib/services/account.service"; -import { getOrderedAnalysisElementsIds } from "~/lib/services/medipost.service"; +import { getOrderedAnalysisIds } from "~/lib/services/medipost.service"; import loadEnv from "../handler/load-env"; import validateApiKey from "../handler/validate-api-key"; @@ -24,7 +24,7 @@ export async function POST(request: NextRequest) { const medusaOrder = await retrieveOrder(medusaOrderId) const account = await getAccountAdmin({ primaryOwnerUserId: medreportOrder.user_id }); - const orderedAnalysisElementsIds = await getOrderedAnalysisElementsIds({ medusaOrder }); + const orderedAnalysisElementsIds = await getOrderedAnalysisIds({ medusaOrder }); console.info(`Sending test response for order=${medusaOrderId} with ${orderedAnalysisElementsIds.length} ordered analysis elements`); const idsToSend = orderedAnalysisElementsIds; @@ -35,8 +35,8 @@ export async function POST(request: NextRequest) { lastName: account.last_name ?? '', phone: account.phone ?? '', }, - orderedAnalysisElementsIds: idsToSend.map(({ analysisElementId }) => analysisElementId), - orderedAnalysesIds: [], + orderedAnalysisElementsIds: idsToSend.map(({ analysisElementId }) => analysisElementId).filter(Boolean) as number[], + orderedAnalysesIds: idsToSend.map(({ analysisId }) => analysisId).filter(Boolean) as number[], orderId: medusaOrderId, orderCreatedAt: new Date(medreportOrder.created_at), }); diff --git a/app/api/order/medipost-test-response/route.ts b/app/api/order/medipost-test-response/route.ts index a54e1fe..2302631 100644 --- a/app/api/order/medipost-test-response/route.ts +++ b/app/api/order/medipost-test-response/route.ts @@ -3,7 +3,7 @@ import { getOrder } from "~/lib/services/order.service"; import { composeOrderTestResponseXML, sendPrivateMessageTestResponse } from "~/lib/services/medipostTest.service"; import { retrieveOrder } from "@lib/data"; import { getAccountAdmin } from "~/lib/services/account.service"; -import { createMedipostActionLog, getOrderedAnalysisElementsIds } from "~/lib/services/medipost.service"; +import { createMedipostActionLog, getOrderedAnalysisIds } from "~/lib/services/medipost.service"; export async function POST(request: Request) { // const isDev = process.env.NODE_ENV === 'development'; @@ -11,16 +11,15 @@ export async function POST(request: Request) { // return NextResponse.json({ error: 'This endpoint is only available in development mode' }, { status: 403 }); // } - const { medusaOrderId, maxItems = null } = await request.json(); + const { medusaOrderId } = await request.json(); const medusaOrder = await retrieveOrder(medusaOrderId) const medreportOrder = await getOrder({ medusaOrderId }); const account = await getAccountAdmin({ primaryOwnerUserId: medreportOrder.user_id }); - const orderedAnalysisElementsIds = await getOrderedAnalysisElementsIds({ medusaOrder }); + const orderedAnalysisElementsIds = await getOrderedAnalysisIds({ medusaOrder }); - console.info(`Sending test response for order=${medusaOrderId} with ${orderedAnalysisElementsIds.length} (${maxItems ?? 'all'}) ordered analysis elements`); - const idsToSend = typeof maxItems === 'number' ? orderedAnalysisElementsIds.slice(0, maxItems) : orderedAnalysisElementsIds; + console.info(`Sending test response for order=${medusaOrderId} with ${orderedAnalysisElementsIds.length} ordered analysis elements`); const messageXml = await composeOrderTestResponseXML({ person: { idCode: account.personal_code!, @@ -28,8 +27,8 @@ export async function POST(request: Request) { lastName: account.last_name ?? '', phone: account.phone ?? '', }, - orderedAnalysisElementsIds: idsToSend.map(({ analysisElementId }) => analysisElementId), - orderedAnalysesIds: [], + orderedAnalysisElementsIds: orderedAnalysisElementsIds.map(({ analysisElementId }) => analysisElementId).filter(Boolean) as number[], + orderedAnalysesIds: orderedAnalysisElementsIds.map(({ analysisId }) => analysisId).filter(Boolean) as number[], orderId: medusaOrderId, orderCreatedAt: new Date(medreportOrder.created_at), }); diff --git a/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts b/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts index 787acd5..9ef4799 100644 --- a/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts +++ b/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts @@ -8,7 +8,7 @@ import { listProductTypes } from "@lib/data/products"; import { placeOrder, retrieveCart } from "@lib/data/cart"; import { createI18nServerInstance } from "~/lib/i18n/i18n.server"; import { createOrder } from '~/lib/services/order.service'; -import { getOrderedAnalysisElementsIds, sendOrderToMedipost } from '~/lib/services/medipost.service'; +import { getOrderedAnalysisIds, sendOrderToMedipost } from '~/lib/services/medipost.service'; import { createNotificationsApi } from '@kit/notifications/api'; import { getSupabaseServerAdminClient } from '@kit/supabase/server-admin-client'; import { AccountWithParams } from '@kit/accounts/api'; @@ -114,7 +114,7 @@ export async function processMontonioCallback(orderToken: string) { const medusaOrder = await placeOrder(cartId, { revalidateCacheTags: false }); - const orderedAnalysisElements = await getOrderedAnalysisElementsIds({ medusaOrder }); + const orderedAnalysisElements = await getOrderedAnalysisIds({ medusaOrder }); const orderId = await createOrder({ medusaOrder, orderedAnalysisElements }); const { productTypes } = await listProductTypes(); diff --git a/lib/services/analyses.service.ts b/lib/services/analyses.service.ts index 81eaa56..0127e09 100644 --- a/lib/services/analyses.service.ts +++ b/lib/services/analyses.service.ts @@ -105,12 +105,18 @@ export const createMedusaSyncSuccessEntry = async () => { }); } -export async function getAnalyses({ ids }: { ids: number[] }): Promise { - const { data } = await getSupabaseServerAdminClient() +export async function getAnalyses({ ids, originalIds }: { ids?: number[], originalIds?: string[] }): Promise { + const query = getSupabaseServerAdminClient() .schema('medreport') .from('analyses') - .select(`*, analysis_elements(*, analysis_groups(*))`) - .in('id', ids); + .select(`*, analysis_elements(*, analysis_groups(*))`); + if (Array.isArray(ids)) { + query.in('id', ids); + } + if (Array.isArray(originalIds)) { + query.in('analysis_id_original', originalIds); + } + const { data } = await query.throwOnError(); return data as unknown as AnalysesWithGroupsAndElements; } diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index 6f91e62..90bdce8 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -666,7 +666,7 @@ async function syncPrivateMessage({ unit: element.Mootyhik ?? null, original_response_element: element, analysis_name: element.UuringNimi || element.KNimetus, - comment: element.UuringuKommentaar + comment: element.UuringuKommentaar ?? '', })), ); } @@ -715,7 +715,7 @@ export async function sendOrderToMedipost({ orderedAnalysisElements, }: { medusaOrderId: string; - orderedAnalysisElements: { analysisElementId: number }[]; + orderedAnalysisElements: { analysisElementId?: number; analysisId?: number }[]; }) { const medreportOrder = await getOrder({ medusaOrderId }); const account = await getAccountAdmin({ primaryOwnerUserId: medreportOrder.user_id }); @@ -727,8 +727,8 @@ export async function sendOrderToMedipost({ lastName: account.last_name ?? '', phone: account.phone ?? '', }, - orderedAnalysisElementsIds: orderedAnalysisElements.map(({ analysisElementId }) => analysisElementId), - orderedAnalysesIds: [], + orderedAnalysisElementsIds: orderedAnalysisElements.map(({ analysisElementId }) => analysisElementId).filter(Boolean) as number[], + orderedAnalysesIds: orderedAnalysisElements.map(({ analysisId }) => analysisId).filter(Boolean) as number[], orderId: medusaOrderId, orderCreatedAt: new Date(medreportOrder.created_at), comment: '', @@ -784,12 +784,13 @@ export async function sendOrderToMedipost({ await updateOrderStatus({ medusaOrderId, orderStatus: 'PROCESSING' }); } -export async function getOrderedAnalysisElementsIds({ +export async function getOrderedAnalysisIds({ medusaOrder, }: { medusaOrder: StoreOrder; }): Promise<{ - analysisElementId: number; + analysisElementId?: number; + analysisId?: number; }[]> { const countryCodes = await listRegions(); const countryCode = countryCodes[0]!.countries![0]!.iso_2!; @@ -802,6 +803,14 @@ export async function getOrderedAnalysisElementsIds({ return analysisElements.map(({ id }) => ({ analysisElementId: id })); } + async function getOrderedAnalyses(medusaOrder: StoreOrder) { + const originalIds = (medusaOrder?.items ?? []) + .map((a) => a.product?.metadata?.analysisIdOriginal) + .filter((a) => typeof a === 'string') as string[]; + const analyses = await getAnalyses({ originalIds }); + return analyses.map(({ id }) => ({ analysisId: id })); + } + async function getOrderedAnalysisPackages(medusaOrder: StoreOrder) { const orderedPackages = (medusaOrder?.items ?? []).filter(({ product }) => product?.handle.startsWith(ANALYSIS_PACKAGE_HANDLE_PREFIX)); const orderedPackageIds = orderedPackages.map(({ product }) => product?.id).filter(Boolean) as string[]; @@ -841,12 +850,13 @@ export async function getOrderedAnalysisElementsIds({ return analysisElements.map(({ id }) => ({ analysisElementId: id })); } - const [analysisPackageElements, orderedAnalysisElements] = await Promise.all([ + const [analysisPackageElements, orderedAnalysisElements, orderedAnalyses] = await Promise.all([ getOrderedAnalysisPackages(medusaOrder), getOrderedAnalysisElements(medusaOrder), + getOrderedAnalyses(medusaOrder), ]); - return [...analysisPackageElements, ...orderedAnalysisElements]; + return [...analysisPackageElements, ...orderedAnalysisElements, ...orderedAnalyses]; } export async function createMedipostActionLog({ diff --git a/lib/services/order.service.ts b/lib/services/order.service.ts index e7ca441..487153a 100644 --- a/lib/services/order.service.ts +++ b/lib/services/order.service.ts @@ -10,7 +10,7 @@ export async function createOrder({ orderedAnalysisElements, }: { medusaOrder: StoreOrder; - orderedAnalysisElements: { analysisElementId: number }[]; + orderedAnalysisElements: { analysisElementId?: number; analysisId?: number }[]; }) { const supabase = getSupabaseServerClient(); @@ -21,8 +21,8 @@ export async function createOrder({ const orderResult = await supabase.schema('medreport') .from('analysis_orders') .insert({ - analysis_element_ids: orderedAnalysisElements.map(({ analysisElementId }) => analysisElementId), - analysis_ids: [], + analysis_element_ids: orderedAnalysisElements.map(({ analysisElementId }) => analysisElementId).filter(Boolean) as number[], + analysis_ids: orderedAnalysisElements.map(({ analysisId }) => analysisId).filter(Boolean) as number[], status: 'QUEUED', user_id: user.id, medusa_order_id: medusaOrder.id, diff --git a/packages/features/medusa-storefront/src/lib/data/products.ts b/packages/features/medusa-storefront/src/lib/data/products.ts index d242b3c..a8ea25d 100644 --- a/packages/features/medusa-storefront/src/lib/data/products.ts +++ b/packages/features/medusa-storefront/src/lib/data/products.ts @@ -14,7 +14,7 @@ export const listProducts = async ({ regionId, }: { pageParam?: number - queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductParams & { "type_id[0]"?: string; id?: string[] } + queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductParams & { "type_id[0]"?: string; id?: string[], category_id?: string } countryCode?: string regionId?: string }): Promise<{ @@ -63,7 +63,7 @@ export const listProducts = async ({ offset, region_id: region?.id, fields: - "*variants.calculated_price,+variants.inventory_quantity,+metadata,+tags", + "*variants.calculated_price,+variants.inventory_quantity,+metadata,+tags,+status", ...queryParams, }, headers, From 65eb6c780da26ce64bf4471c20e5d3af1e48e061 Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 13:19:09 +0300 Subject: [PATCH 16/39] allow transferCart to fail on login/register --- .../features/medusa-storefront/src/lib/data/customer.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/features/medusa-storefront/src/lib/data/customer.ts b/packages/features/medusa-storefront/src/lib/data/customer.ts index 42e0468..e77b5c4 100644 --- a/packages/features/medusa-storefront/src/lib/data/customer.ts +++ b/packages/features/medusa-storefront/src/lib/data/customer.ts @@ -272,7 +272,12 @@ export async function medusaLoginOrRegister(credentials: { password, }); await setAuthToken(token as string); - await transferCart(); + + try { + await transferCart(); + } catch (e) { + console.error("Failed to transfer cart", e); + } const customerCacheTag = await getCacheTag("customers"); revalidateTag(customerCacheTag); From e0940a16004b9db7e379ab0afc4d2f0ed47bcf74 Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 13:36:46 +0300 Subject: [PATCH 17/39] allow transferCart to fail on register --- .../features/medusa-storefront/src/lib/data/customer.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/features/medusa-storefront/src/lib/data/customer.ts b/packages/features/medusa-storefront/src/lib/data/customer.ts index e77b5c4..3b45071 100644 --- a/packages/features/medusa-storefront/src/lib/data/customer.ts +++ b/packages/features/medusa-storefront/src/lib/data/customer.ts @@ -312,7 +312,12 @@ export async function medusaLoginOrRegister(credentials: { const customerCacheTag = await getCacheTag("customers"); revalidateTag(customerCacheTag); - await transferCart(); + + try { + await transferCart(); + } catch (e) { + console.error("Failed to transfer cart", e); + } const customer = await retrieveCustomer(); if (!customer) { From e9497c3d52bc8ddec46e3482e77790d7e1579e7e Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Thu, 4 Sep 2025 14:26:21 +0300 Subject: [PATCH 18/39] update staging env --- .env.staging | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.staging b/.env.staging index bf811ee..8c2e346 100644 --- a/.env.staging +++ b/.env.staging @@ -6,8 +6,8 @@ ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. # SUPABASE -NEXT_PUBLIC_SUPABASE_URL=https://kaldvociniytdbbcxvqk.supabase.co -NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImthbGR2b2Npbml5dGRiYmN4dnFrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTYzNjQ5OTYsImV4cCI6MjA3MTk0MDk5Nn0.eixihH2KGkJZolY9FiQDicJOo2kxvXrSe6gGUCrkLo0 +NEXT_PUBLIC_SUPABASE_URL=https://klocrucggryikaxzvxgc.supabase.co +NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imtsb2NydWNnZ3J5aWtheHp2eGdjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY5ODQ2MjgsImV4cCI6MjA3MjU2MDYyOH0.2XOQngowcymiSUZO_XEEWAWzco2uRIjwG7TAeRRLIdU NEXT_PUBLIC_SITE_URL=https://test.medreport.ee From 771c28f8ef1a108fa973b7fd456fb74436e8951a Mon Sep 17 00:00:00 2001 From: Karli Date: Thu, 4 Sep 2025 17:07:52 +0300 Subject: [PATCH 19/39] rerun codepipeline From 354a0c04ee443197b72b5c6b70f71cb7ee61adec Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 01:44:05 +0300 Subject: [PATCH 20/39] prefer to use env from parameter store --- .env.production | 10 +++++----- .env.staging | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env.production b/.env.production index 90b9aaf..1301dfc 100644 --- a/.env.production +++ b/.env.production @@ -6,10 +6,10 @@ ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. # SUPABASE -NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co -NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0 +# NEXT_PUBLIC_SUPABASE_URL=https://oqsdacktkhmbylmzstjq.supabase.co +# NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9xc2RhY2t0a2htYnlsbXpzdGpxIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDY1MjgxMjMsImV4cCI6MjA2MjEwNDEyM30.LdHCTWxijFmhXdnT9KVuLRAVbtSwY7OO-oLtpd8GmO0 -NEXT_PUBLIC_SITE_URL=https://test.medreport.ee +# NEXT_PUBLIC_SITE_URL=https://test.medreport.ee -# MONTONIO -NEXT_PUBLIC_MONTONIO_ACCESS_KEY=7da5d7fa-3383-4997-9435-46aa818f4ead +# # MONTONIO +# NEXT_PUBLIC_MONTONIO_ACCESS_KEY=7da5d7fa-3383-4997-9435-46aa818f4ead diff --git a/.env.staging b/.env.staging index 8c2e346..7d7ee16 100644 --- a/.env.staging +++ b/.env.staging @@ -6,10 +6,10 @@ ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. # SUPABASE -NEXT_PUBLIC_SUPABASE_URL=https://klocrucggryikaxzvxgc.supabase.co -NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imtsb2NydWNnZ3J5aWtheHp2eGdjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY5ODQ2MjgsImV4cCI6MjA3MjU2MDYyOH0.2XOQngowcymiSUZO_XEEWAWzco2uRIjwG7TAeRRLIdU +# NEXT_PUBLIC_SUPABASE_URL=https://klocrucggryikaxzvxgc.supabase.co +# NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imtsb2NydWNnZ3J5aWtheHp2eGdjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY5ODQ2MjgsImV4cCI6MjA3MjU2MDYyOH0.2XOQngowcymiSUZO_XEEWAWzco2uRIjwG7TAeRRLIdU -NEXT_PUBLIC_SITE_URL=https://test.medreport.ee +# NEXT_PUBLIC_SITE_URL=https://test.medreport.ee -# MONTONIO -NEXT_PUBLIC_MONTONIO_ACCESS_KEY=7da5d7fa-3383-4997-9435-46aa818f4ead +# # MONTONIO +# NEXT_PUBLIC_MONTONIO_ACCESS_KEY=7da5d7fa-3383-4997-9435-46aa818f4ead From 42bebb6d93fed9bacfeb8fc7a7a29e99f5086962 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 11:39:12 +0300 Subject: [PATCH 21/39] all needed variables in buildtime --- Dockerfile | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 589d56d..50f3f3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,16 +3,42 @@ FROM node:20-alpine as builder WORKDIR /app -RUN npm install -g pnpm@9 +RUN npm install -g pnpm@10 RUN npm install -g dotenv-cli +ARG MEDUSA_BACKEND_URL +ARG NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY +ARG SUPABASE_SERVICE_ROLE_KEY +ARG NEXT_PUBLIC_SUPABASE_URL +ARG NEXT_PUBLIC_SUPABASE_ANON_KEY +ARG NEXT_PUBLIC_SITE_URL +ARG NEXT_PUBLIC_MONTONIO_ACCESS_KEY + COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages COPY tooling tooling COPY .env .env -COPY .env.production .env.production COPY .env.staging .env.staging +RUN cat > .env.local << EOF +# PRODUCTION BUILD ENVIRONMENT VARIABLES + +# MEDUSA +MEDUSA_BACKEND_URL=${MEDUSA_BACKEND_URL} +NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=${NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY} + +# SUPABASE +SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} +NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} +NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY} + +# SITE +NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL} + +# MONTONIO +NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY} +EOF + # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true RUN pnpm install --frozen-lockfile @@ -38,7 +64,8 @@ WORKDIR /app COPY --from=builder /app ./ -RUN cp ".env.${APP_ENV}" .env.local +COPY --from=builder /app/.env.local .env.local +COPY --from=builder /app/.env.${APP_ENV} .env.production RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile @@ -46,7 +73,8 @@ RUN npm install -g pnpm@9 \ ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug -RUN echo "πŸ“„ .env contents:" && cat .env.local \ +RUN echo "πŸ“„ .env.local contents:" && cat .env.local \ + && echo "πŸ“„ .env.production contents:" && cat .env.production \ && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true From f8765dce49558673814798f62fd3693d40d3a36d Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 11:44:25 +0300 Subject: [PATCH 22/39] update dockerfile --- Dockerfile | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 50f3f3d..d72c6bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,7 @@ ARG NEXT_PUBLIC_SUPABASE_URL ARG NEXT_PUBLIC_SUPABASE_ANON_KEY ARG NEXT_PUBLIC_SITE_URL ARG NEXT_PUBLIC_MONTONIO_ACCESS_KEY +ARG JOBS_API_TOKEN COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages @@ -20,24 +21,25 @@ COPY tooling tooling COPY .env .env COPY .env.staging .env.staging -RUN cat > .env.local << EOF -# PRODUCTION BUILD ENVIRONMENT VARIABLES - -# MEDUSA -MEDUSA_BACKEND_URL=${MEDUSA_BACKEND_URL} -NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=${NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY} - -# SUPABASE -SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} -NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} -NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY} - -# SITE -NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL} - -# MONTONIO -NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY} -EOF +RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ + echo "" >> .env.production && \ + echo "# MEDUSA" >> .env.production && \ + echo "MEDUSA_BACKEND_URL=${MEDUSA_BACKEND_URL}" >> .env.production && \ + echo "NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=${NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY}" >> .env.production && \ + echo "" >> .env.production && \ + echo "# SUPABASE" >> .env.production && \ + echo "SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}" >> .env.production && \ + echo "NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}" >> .env.production && \ + echo "NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY}" >> .env.production && \ + echo "" >> .env.production && \ + echo "# SITE" >> .env.production && \ + echo "NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL}" >> .env.production && \ + echo "" >> .env.production && \ + echo "# MONTONIO" >> .env.production && \ + echo "NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY}" >> .env.production && \ + echo "" >> .env.production && \ + echo "# JOBS" >> .env.production && \ + echo "JOBS_API_TOKEN=${JOBS_API_TOKEN}" >> .env.production # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true From cacd23be409f1d7cce147063866416ffb8697276 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 11:53:39 +0300 Subject: [PATCH 23/39] layer cache before envs --- Dockerfile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index d72c6bb..3582ca4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # --- Stage 1: Build --- -FROM node:20-alpine as builder +FROM node:24-alpine as builder WORKDIR /app @@ -18,8 +18,11 @@ ARG JOBS_API_TOKEN COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages COPY tooling tooling + +RUN pnpm install --frozen-lockfile + COPY .env .env -COPY .env.staging .env.staging +#COPY .env.staging .env.staging RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ echo "" >> .env.production && \ @@ -39,11 +42,10 @@ RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ echo "NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY}" >> .env.production && \ echo "" >> .env.production && \ echo "# JOBS" >> .env.production && \ - echo "JOBS_API_TOKEN=${JOBS_API_TOKEN}" >> .env.production + echo "JOBS_API_TOKEN=${JOBS_API_TOKEN}" >> .env.local # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true -RUN pnpm install --frozen-lockfile COPY . . @@ -59,15 +61,14 @@ RUN set -a \ # --- Stage 2: Runtime --- -FROM node:20-alpine +FROM node:24-alpine ARG APP_ENV=production WORKDIR /app COPY --from=builder /app ./ - -COPY --from=builder /app/.env.local .env.local COPY --from=builder /app/.env.${APP_ENV} .env.production +COPY --from=builder /app/.env.local .env.local RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile From c356f69656b4ee7d046291ce31336bd382a0b40f Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:03:26 +0300 Subject: [PATCH 24/39] retry --- Dockerfile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3582ca4..05e2913 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,14 +51,7 @@ COPY . . ENV NODE_ENV=production -RUN set -a \ - && . .env \ - && . .env.production \ - && . .env.staging \ - && set +a \ - && node check-env.js \ - && pnpm build - +RUN dotenv -e .env.local -- pnpm build # --- Stage 2: Runtime --- FROM node:24-alpine From 8485d2e9a321f8438d495d5d66936cc3de91993e Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:11:34 +0300 Subject: [PATCH 25/39] retry --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 05e2913..6441103 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,7 +51,7 @@ COPY . . ENV NODE_ENV=production -RUN dotenv -e .env.local -- pnpm build +RUN NODE_OPTIONS="--max-old-space-size=4096" dotenv -e .env.local -- pnpm build # --- Stage 2: Runtime --- FROM node:24-alpine From a705dea9cfd69d4490bb330cf82a0bd449711e27 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:19:00 +0300 Subject: [PATCH 26/39] retry --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6441103..1a6524c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ # --- Stage 1: Build --- -FROM node:24-alpine as builder +FROM node:20-alpine as builder WORKDIR /app -RUN npm install -g pnpm@10 +RUN npm install -g pnpm@9 RUN npm install -g dotenv-cli ARG MEDUSA_BACKEND_URL @@ -54,7 +54,7 @@ ENV NODE_ENV=production RUN NODE_OPTIONS="--max-old-space-size=4096" dotenv -e .env.local -- pnpm build # --- Stage 2: Runtime --- -FROM node:24-alpine +FROM node:20-alpine ARG APP_ENV=production WORKDIR /app From a6b246cdf38bf7c9b273e1c218eb6dcaf27d444c Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:52:06 +0300 Subject: [PATCH 27/39] improve dockerfile --- Dockerfile | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1a6524c..a0a26d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,8 +50,10 @@ RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ COPY . . ENV NODE_ENV=production +ENV NODE_OPTIONS="--max-old-space-size=4096" +ENV ENABLE_REACT_COMPILER=false -RUN NODE_OPTIONS="--max-old-space-size=4096" dotenv -e .env.local -- pnpm build +RUN dotenv -e .env.local -- pnpm build # --- Stage 2: Runtime --- FROM node:20-alpine @@ -59,13 +61,26 @@ ARG APP_ENV=production WORKDIR /app -COPY --from=builder /app ./ +RUN npm install -g pnpm@9 + +# Copy package files for dependency installation +COPY --from=builder /app/package.json ./ +COPY --from=builder /app/pnpm-lock.yaml ./ +COPY --from=builder /app/pnpm-workspace.yaml ./ +COPY --from=builder /app/packages ./packages +COPY --from=builder /app/tooling ./tooling + +# Install production dependencies +RUN pnpm install --prod --frozen-lockfile + +# Copy the built Next.js application +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/public ./public + +# Copy environment files COPY --from=builder /app/.env.${APP_ENV} .env.production COPY --from=builder /app/.env.local .env.local -RUN npm install -g pnpm@9 \ - && pnpm install --prod --frozen-lockfile - ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug From c6f56f6e11c405d0a669d071c4235d2cea8eb035 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:54:58 +0300 Subject: [PATCH 28/39] retry pipeline with updated parameters From c1746c6c20f93604c725e0889b3114a5da3e2af9 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 13:20:17 +0300 Subject: [PATCH 29/39] retry --- Dockerfile | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index a0a26d9..b4ed55e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,7 +53,7 @@ ENV NODE_ENV=production ENV NODE_OPTIONS="--max-old-space-size=4096" ENV ENABLE_REACT_COMPILER=false -RUN dotenv -e .env.local -- pnpm build +RUN pnpm build # --- Stage 2: Runtime --- FROM node:20-alpine @@ -61,26 +61,15 @@ ARG APP_ENV=production WORKDIR /app -RUN npm install -g pnpm@9 - -# Copy package files for dependency installation -COPY --from=builder /app/package.json ./ -COPY --from=builder /app/pnpm-lock.yaml ./ -COPY --from=builder /app/pnpm-workspace.yaml ./ -COPY --from=builder /app/packages ./packages -COPY --from=builder /app/tooling ./tooling - -# Install production dependencies -RUN pnpm install --prod --frozen-lockfile - -# Copy the built Next.js application -COPY --from=builder /app/.next ./.next -COPY --from=builder /app/public ./public - -# Copy environment files +COPY --from=builder /app ./ COPY --from=builder /app/.env.${APP_ENV} .env.production COPY --from=builder /app/.env.local .env.local +RUN cp ".env.${APP_ENV}" .env.local + +RUN npm install -g pnpm@9 \ + && pnpm install --prod --frozen-lockfile + ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug From f3a6fb627c2a663edde17b0d62e64fc491586366 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 13:39:04 +0300 Subject: [PATCH 30/39] react compiler uses too much memory --- next.config.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next.config.mjs b/next.config.mjs index 14c5b87..e6be14a 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -50,7 +50,7 @@ const config = { }, experimental: { mdxRs: true, - reactCompiler: ENABLE_REACT_COMPILER, + reactCompiler: false, optimizePackageImports: [ 'recharts', 'lucide-react', From 0de9dcf7e33b7ee48e7325e8ab60d7bfaa90c203 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 13:49:52 +0300 Subject: [PATCH 31/39] retry --- Dockerfile | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b4ed55e..11114e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,8 @@ COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages COPY tooling tooling +ENV SKIP_SUPABASE_CLI=true + RUN pnpm install --frozen-lockfile COPY .env .env @@ -53,7 +55,18 @@ ENV NODE_ENV=production ENV NODE_OPTIONS="--max-old-space-size=4096" ENV ENABLE_REACT_COMPILER=false -RUN pnpm build +RUN echo "πŸ” Checking environment files before build:" && \ + ls -la .env* && \ + echo "πŸ” Contents of .env.production:" && \ + cat .env.production > /tmp/env-debug.log && \ + cat /tmp/env-debug.log && \ + echo "πŸ” Contents of .env.local:" && \ + cat .env.local >> /tmp/env-debug.log && \ + cat .env.local && \ + echo "πŸ” Parameter Store variables received:" && \ + printenv | grep -E "MEDUSA_BACKEND_URL|NEXT_PUBLIC_SUPABASE_URL|NEXT_PUBLIC_SITE_URL|JOBS_API_TOKEN" | tee -a /tmp/env-debug.log && \ + echo "πŸ” Starting Next.js build:" && \ + pnpm build --debug # --- Stage 2: Runtime --- FROM node:20-alpine From 5c6280ec420718c3f309c6c5201d856bde1a5deb Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 14:01:22 +0300 Subject: [PATCH 32/39] retry updated dockerfile --- Dockerfile | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 11114e3..18598be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,13 +6,13 @@ WORKDIR /app RUN npm install -g pnpm@9 RUN npm install -g dotenv-cli -ARG MEDUSA_BACKEND_URL ARG NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY -ARG SUPABASE_SERVICE_ROLE_KEY ARG NEXT_PUBLIC_SUPABASE_URL ARG NEXT_PUBLIC_SUPABASE_ANON_KEY ARG NEXT_PUBLIC_SITE_URL ARG NEXT_PUBLIC_MONTONIO_ACCESS_KEY +ARG MEDUSA_BACKEND_URL +ARG SUPABASE_SERVICE_ROLE_KEY ARG JOBS_API_TOKEN COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ @@ -55,31 +55,21 @@ ENV NODE_ENV=production ENV NODE_OPTIONS="--max-old-space-size=4096" ENV ENABLE_REACT_COMPILER=false -RUN echo "πŸ” Checking environment files before build:" && \ - ls -la .env* && \ - echo "πŸ” Contents of .env.production:" && \ - cat .env.production > /tmp/env-debug.log && \ - cat /tmp/env-debug.log && \ - echo "πŸ” Contents of .env.local:" && \ - cat .env.local >> /tmp/env-debug.log && \ - cat .env.local && \ - echo "πŸ” Parameter Store variables received:" && \ - printenv | grep -E "MEDUSA_BACKEND_URL|NEXT_PUBLIC_SUPABASE_URL|NEXT_PUBLIC_SITE_URL|JOBS_API_TOKEN" | tee -a /tmp/env-debug.log && \ - echo "πŸ” Starting Next.js build:" && \ - pnpm build --debug +RUN set -a \ + && . .env.production \ + && set +a \ + && node check-env.js \ + && pnpm build # --- Stage 2: Runtime --- FROM node:20-alpine -ARG APP_ENV=production WORKDIR /app COPY --from=builder /app ./ -COPY --from=builder /app/.env.${APP_ENV} .env.production +COPY --from=builder /app/.env.production .env.production COPY --from=builder /app/.env.local .env.local -RUN cp ".env.${APP_ENV}" .env.local - RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile @@ -88,7 +78,7 @@ ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug RUN echo "πŸ“„ .env.local contents:" && cat .env.local \ && echo "πŸ“„ .env.production contents:" && cat .env.production \ - && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true + && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV|MEDUSA|JOBS' || true EXPOSE 3000 From 3d268b60611bf88a1647c092cef2f083b481968f Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 14:09:02 +0300 Subject: [PATCH 33/39] retry initial dockerfile --- Dockerfile | 61 ++++++++++++++---------------------------------------- 1 file changed, 15 insertions(+), 46 deletions(-) diff --git a/Dockerfile b/Dockerfile index 18598be..5eb2722 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,69 +6,39 @@ WORKDIR /app RUN npm install -g pnpm@9 RUN npm install -g dotenv-cli -ARG NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY -ARG NEXT_PUBLIC_SUPABASE_URL -ARG NEXT_PUBLIC_SUPABASE_ANON_KEY -ARG NEXT_PUBLIC_SITE_URL -ARG NEXT_PUBLIC_MONTONIO_ACCESS_KEY -ARG MEDUSA_BACKEND_URL -ARG SUPABASE_SERVICE_ROLE_KEY -ARG JOBS_API_TOKEN - COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages COPY tooling tooling - -ENV SKIP_SUPABASE_CLI=true - -RUN pnpm install --frozen-lockfile - COPY .env .env -#COPY .env.staging .env.staging - -RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ - echo "" >> .env.production && \ - echo "# MEDUSA" >> .env.production && \ - echo "MEDUSA_BACKEND_URL=${MEDUSA_BACKEND_URL}" >> .env.production && \ - echo "NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=${NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# SUPABASE" >> .env.production && \ - echo "SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}" >> .env.production && \ - echo "NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}" >> .env.production && \ - echo "NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# SITE" >> .env.production && \ - echo "NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# MONTONIO" >> .env.production && \ - echo "NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# JOBS" >> .env.production && \ - echo "JOBS_API_TOKEN=${JOBS_API_TOKEN}" >> .env.local +COPY .env.production .env.production +COPY .env.staging .env.staging # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true +RUN pnpm install --frozen-lockfile COPY . . ENV NODE_ENV=production -ENV NODE_OPTIONS="--max-old-space-size=4096" -ENV ENABLE_REACT_COMPILER=false RUN set -a \ - && . .env.production \ - && set +a \ - && node check-env.js \ - && pnpm build + && . .env \ + && . .env.production \ + && . .env.staging \ + && set +a \ + && node check-env.js \ + && pnpm build + # --- Stage 2: Runtime --- FROM node:20-alpine +ARG APP_ENV=production WORKDIR /app COPY --from=builder /app ./ -COPY --from=builder /app/.env.production .env.production -COPY --from=builder /app/.env.local .env.local + +RUN cp ".env.${APP_ENV}" .env.local RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile @@ -76,9 +46,8 @@ RUN npm install -g pnpm@9 \ ENV NODE_ENV=production # πŸ” Optional: Log key envs for debug -RUN echo "πŸ“„ .env.local contents:" && cat .env.local \ - && echo "πŸ“„ .env.production contents:" && cat .env.production \ - && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV|MEDUSA|JOBS' || true +RUN echo "πŸ“„ .env contents:" && cat .env.local \ + && echo "πŸ”§ Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true EXPOSE 3000 From 95e72bb3f861b8098c65aad747269676904b61f0 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 14:15:03 +0300 Subject: [PATCH 34/39] log out of medusa and reset cart on supabase logout --- .../features/medusa-storefront/src/lib/data/customer.ts | 6 ++++-- packages/supabase/src/hooks/use-sign-out.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/features/medusa-storefront/src/lib/data/customer.ts b/packages/features/medusa-storefront/src/lib/data/customer.ts index 3b45071..bf56d6e 100644 --- a/packages/features/medusa-storefront/src/lib/data/customer.ts +++ b/packages/features/medusa-storefront/src/lib/data/customer.ts @@ -127,7 +127,7 @@ export async function login(_currentState: unknown, formData: FormData) { } } -export async function signout(countryCode: string) { +export async function signout(countryCode?: string, shouldRedirect = true) { await sdk.auth.logout() await removeAuthToken() @@ -140,7 +140,9 @@ export async function signout(countryCode: string) { const cartCacheTag = await getCacheTag("carts") revalidateTag(cartCacheTag) - redirect(`/${countryCode}/account`) + if (shouldRedirect) { + redirect(`/${countryCode!}/account`) + } } export async function transferCart() { diff --git a/packages/supabase/src/hooks/use-sign-out.ts b/packages/supabase/src/hooks/use-sign-out.ts index c827713..fbe65ee 100644 --- a/packages/supabase/src/hooks/use-sign-out.ts +++ b/packages/supabase/src/hooks/use-sign-out.ts @@ -1,12 +1,14 @@ import { useMutation } from '@tanstack/react-query'; import { useSupabase } from './use-supabase'; +import { signout } from '../../../features/medusa-storefront/src/lib/data/customer'; export function useSignOut() { const client = useSupabase(); return useMutation({ - mutationFn: () => { + mutationFn: async () => { + await signout(undefined, false); return client.auth.signOut(); }, }); From 54856b0e45aa4efbbe34abebb572459b81a10753 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 15:09:11 +0300 Subject: [PATCH 35/39] update medipost order xml for live --- lib/services/medipost.service.ts | 8 +++- lib/services/medipostTest.service.ts | 4 +- lib/templates/medipost-order.ts | 60 +++++++++------------------- 3 files changed, 28 insertions(+), 44 deletions(-) diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index 90bdce8..35ee7d4 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -10,6 +10,7 @@ import { getClientInstitution, getClientPerson, getConfidentiality, + getOrderEnteredPerson, getPais, getPatient, getProviderInstitution, @@ -558,9 +559,12 @@ export async function composeOrderXML({ ${getProviderInstitution()} - ${getClientPerson(person)} + ${getClientPerson()} + + ${getOrderEnteredPerson()} ${comment ?? ''} - ${getPatient(person)} + + ${getPatient(person)} ${getConfidentiality()} ${specimenSection.join('')} ${analysisSection?.join('')} diff --git a/lib/services/medipostTest.service.ts b/lib/services/medipostTest.service.ts index 1a3b0d9..f4393f7 100644 --- a/lib/services/medipostTest.service.ts +++ b/lib/services/medipostTest.service.ts @@ -3,6 +3,7 @@ import { getClientInstitution, getClientPerson, + getOrderEnteredPerson, getPais, getPatient, getProviderInstitution, @@ -104,7 +105,8 @@ export async function composeOrderTestResponseXML({ ${orderId} ${getClientInstitution({ index: 1 })} ${getProviderInstitution({ index: 1 })} - ${getClientPerson(person)} + ${getClientPerson()} + ${getOrderEnteredPerson()} Siia tuleb tellija poolne mΓ€rkus ${getPatient(person)} diff --git a/lib/templates/medipost-order.ts b/lib/templates/medipost-order.ts index 6568c22..10ce573 100644 --- a/lib/templates/medipost-order.ts +++ b/lib/templates/medipost-order.ts @@ -21,70 +21,48 @@ export const getPais = ( ${recipient} ${format(createdAt, DATE_TIME_FORMAT)} ${orderId} - argo@medreport.ee + info@medreport.ee `; }; export const getClientInstitution = ({ index }: { index?: number } = {}) => { - if (isProd) { - // return correct data - } return ` 16381793 MedReport OÜ - TSU + MRP +37258871517 `; }; export const getProviderInstitution = ({ index }: { index?: number } = {}) => { - if (isProd) { - // return correct data - } return ` 11107913 - Synlab HTI Tallinn - SLA + Synlab Eesti OÜ + HTI Synlab HTI Tallinn - +3723417123 + +37217123 `; }; -export const getClientPerson = ({ - idCode, - firstName, - lastName, - phone, -}: { - idCode: string, - firstName: string, - lastName: string, - phone: string, -}) => { - if (isProd) { - // return correct data - } +export const getClientPerson = () => { return ` 1.3.6.1.4.1.28284.6.2.4.9 - ${idCode} - ${lastName} - ${firstName} - ${phone ? `${phone.startsWith('+372') ? phone : `+372${phone}`}` : ''} + D07907 + Eduard + Tsvetkov + +37258131202 `; }; -// export const getOrderEnteredPerson = () => { -// if (isProd) { -// // return correct data -// } -// return ` -// 1.3.6.1.4.1.28284.6.2.4.9 -// D07907 -// Eduard -// Tsvetkov -// +37258131202 -// `; -// }; +export const getOrderEnteredPerson = () => { + return ` + 1.3.6.1.4.1.28284.6.2.4.9 + D07907 + Eduard + Tsvetkov + +37258131202 + `; +}; export const getPatient = ({ idCode, From 2435e6f1134ef73b14e4dd36ff98c74c50106386 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 15:09:11 +0300 Subject: [PATCH 36/39] update medipost order xml for live --- lib/services/medipost.service.ts | 8 +++- lib/services/medipostTest.service.ts | 4 +- lib/templates/medipost-order.ts | 60 +++++++++------------------- 3 files changed, 28 insertions(+), 44 deletions(-) diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index 90bdce8..35ee7d4 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -10,6 +10,7 @@ import { getClientInstitution, getClientPerson, getConfidentiality, + getOrderEnteredPerson, getPais, getPatient, getProviderInstitution, @@ -558,9 +559,12 @@ export async function composeOrderXML({ ${getProviderInstitution()} - ${getClientPerson(person)} + ${getClientPerson()} + + ${getOrderEnteredPerson()} ${comment ?? ''} - ${getPatient(person)} + + ${getPatient(person)} ${getConfidentiality()} ${specimenSection.join('')} ${analysisSection?.join('')} diff --git a/lib/services/medipostTest.service.ts b/lib/services/medipostTest.service.ts index 1a3b0d9..f4393f7 100644 --- a/lib/services/medipostTest.service.ts +++ b/lib/services/medipostTest.service.ts @@ -3,6 +3,7 @@ import { getClientInstitution, getClientPerson, + getOrderEnteredPerson, getPais, getPatient, getProviderInstitution, @@ -104,7 +105,8 @@ export async function composeOrderTestResponseXML({ ${orderId} ${getClientInstitution({ index: 1 })} ${getProviderInstitution({ index: 1 })} - ${getClientPerson(person)} + ${getClientPerson()} + ${getOrderEnteredPerson()} Siia tuleb tellija poolne mΓ€rkus ${getPatient(person)} diff --git a/lib/templates/medipost-order.ts b/lib/templates/medipost-order.ts index 6568c22..10ce573 100644 --- a/lib/templates/medipost-order.ts +++ b/lib/templates/medipost-order.ts @@ -21,70 +21,48 @@ export const getPais = ( ${recipient} ${format(createdAt, DATE_TIME_FORMAT)} ${orderId} - argo@medreport.ee + info@medreport.ee `; }; export const getClientInstitution = ({ index }: { index?: number } = {}) => { - if (isProd) { - // return correct data - } return ` 16381793 MedReport OÜ - TSU + MRP +37258871517 `; }; export const getProviderInstitution = ({ index }: { index?: number } = {}) => { - if (isProd) { - // return correct data - } return ` 11107913 - Synlab HTI Tallinn - SLA + Synlab Eesti OÜ + HTI Synlab HTI Tallinn - +3723417123 + +37217123 `; }; -export const getClientPerson = ({ - idCode, - firstName, - lastName, - phone, -}: { - idCode: string, - firstName: string, - lastName: string, - phone: string, -}) => { - if (isProd) { - // return correct data - } +export const getClientPerson = () => { return ` 1.3.6.1.4.1.28284.6.2.4.9 - ${idCode} - ${lastName} - ${firstName} - ${phone ? `${phone.startsWith('+372') ? phone : `+372${phone}`}` : ''} + D07907 + Eduard + Tsvetkov + +37258131202 `; }; -// export const getOrderEnteredPerson = () => { -// if (isProd) { -// // return correct data -// } -// return ` -// 1.3.6.1.4.1.28284.6.2.4.9 -// D07907 -// Eduard -// Tsvetkov -// +37258131202 -// `; -// }; +export const getOrderEnteredPerson = () => { + return ` + 1.3.6.1.4.1.28284.6.2.4.9 + D07907 + Eduard + Tsvetkov + +37258131202 + `; +}; export const getPatient = ({ idCode, From d3202a2cb2be1a16bdf2f44cf12a01c4176f2804 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 15:12:58 +0300 Subject: [PATCH 37/39] remove comments from order xml --- lib/services/medipost.service.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index 35ee7d4..b6aec5d 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -554,16 +554,11 @@ export async function composeOrderXML({ ${getPais(USER, RECIPIENT, orderCreatedAt, orderId)} ${orderId} - ${getClientInstitution()} - ${getProviderInstitution()} - ${getClientPerson()} - ${getOrderEnteredPerson()} ${comment ?? ''} - ${getPatient(person)} ${getConfidentiality()} ${specimenSection.join('')} From c08fe26b365e786b5686b4ef8b8d43ba6b2ed005 Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 15:12:58 +0300 Subject: [PATCH 38/39] remove comments from order xml --- lib/services/medipost.service.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/services/medipost.service.ts b/lib/services/medipost.service.ts index 35ee7d4..b6aec5d 100644 --- a/lib/services/medipost.service.ts +++ b/lib/services/medipost.service.ts @@ -554,16 +554,11 @@ export async function composeOrderXML({ ${getPais(USER, RECIPIENT, orderCreatedAt, orderId)} ${orderId} - ${getClientInstitution()} - ${getProviderInstitution()} - ${getClientPerson()} - ${getOrderEnteredPerson()} ${comment ?? ''} - ${getPatient(person)} ${getConfidentiality()} ${specimenSection.join('')} From c83694222d8abca40d185b4d57287a27e2627817 Mon Sep 17 00:00:00 2001 From: Karli Date: Sat, 6 Sep 2025 22:56:54 +0300 Subject: [PATCH 39/39] allow adding discounts in cart --- .../(user)/_components/cart/discount-code.tsx | 49 ++++++++----- app/home/(user)/_components/cart/index.tsx | 72 ++++++++++++++----- .../medusa-storefront/src/lib/data/cart.ts | 25 +++++-- public/locales/en/cart.json | 6 +- public/locales/et/cart.json | 9 ++- 5 files changed, 119 insertions(+), 42 deletions(-) diff --git a/app/home/(user)/_components/cart/discount-code.tsx b/app/home/(user)/_components/cart/discount-code.tsx index 0a5cbaf..eea8ef4 100644 --- a/app/home/(user)/_components/cart/discount-code.tsx +++ b/app/home/(user)/_components/cart/discount-code.tsx @@ -1,6 +1,7 @@ "use client" -import { Badge, Heading, Text } from "@medusajs/ui" +import { Badge, Text } from "@medusajs/ui" +import { toast } from '@kit/ui/sonner'; import React, { useActionState } from "react"; import { applyPromotions, submitPromotionForm } from "@lib/data/cart" @@ -31,11 +32,19 @@ export default function DiscountCode({ cart }: { const removePromotionCode = async (code: string) => { const validPromotions = promotions.filter( - (promotion) => promotion.code !== code + (promotion) => promotion.code !== code, ) await applyPromotions( - validPromotions.filter((p) => p.code === undefined).map((p) => p.code!) + validPromotions.filter((p) => p.code === undefined).map((p) => p.code!), + { + onSuccess: () => { + toast.success(t('cart:discountCode.removeSuccess')); + }, + onError: () => { + toast.error(t('cart:discountCode.removeError')); + }, + } ) } @@ -45,7 +54,14 @@ export default function DiscountCode({ cart }: { .map((p) => p.code!) codes.push(code.toString()) - await applyPromotions(codes) + await applyPromotions(codes, { + onSuccess: () => { + toast.success(t('cart:discountCode.addSuccess')); + }, + onError: () => { + toast.error(t('cart:discountCode.addError')); + }, + }); form.reset() } @@ -64,7 +80,7 @@ export default function DiscountCode({ cart }: {
addPromotionCode(data.code))} - className="w-full mb-2 flex gap-x-2" + className="w-full mb-2 flex gap-x-2 sm:flex-row flex-col gap-y-2" > -

- -

- - {promotions.length > 0 && ( -
-
- - Promotion(s) applied: - + {promotions.length > 0 ? ( +
+
+

+ +

{promotions.map((promotion) => { return ( @@ -110,6 +122,7 @@ export default function DiscountCode({ cart }: { {promotion.code} {" "} @@ -151,7 +164,7 @@ export default function DiscountCode({ cart }: { > - Remove discount code from order + )} @@ -160,6 +173,10 @@ export default function DiscountCode({ cart }: { })}
+ ) : ( +

+ +

)}
) diff --git a/app/home/(user)/_components/cart/index.tsx b/app/home/(user)/_components/cart/index.tsx index 9f2b0fd..4ab083e 100644 --- a/app/home/(user)/_components/cart/index.tsx +++ b/app/home/(user)/_components/cart/index.tsx @@ -18,7 +18,7 @@ import { useTranslation } from "react-i18next"; import { handleNavigateToPayment } from "@/lib/services/medusaCart.service"; import AnalysisLocation from "./analysis-location"; -const IS_DISCOUNT_SHOWN = false as boolean; +const IS_DISCOUNT_SHOWN = true as boolean; export default function Cart({ cart, @@ -69,7 +69,7 @@ export default function Cart({ const hasCartItems = Array.isArray(cart.items) && cart.items.length > 0; const isLocationsShown = synlabAnalyses.length > 0; - + return (
@@ -77,28 +77,62 @@ export default function Cart({
{hasCartItems && ( -
-
-

- -

+ <> +
+
+

+ +

+
+
+

+ {formatCurrency({ + value: cart.subtotal, + currencyCode: cart.currency_code, + locale: language, + })} +

+
-
-

- {formatCurrency({ - value: cart.total, - currencyCode: cart.currency_code, - locale: language, - })} -

+
+
+

+ +

+
+
+

+ {formatCurrency({ + value: cart.discount_total, + currencyCode: cart.currency_code, + locale: language, + })} +

+
-
+
+
+

+ +

+
+
+

+ {formatCurrency({ + value: cart.total, + currencyCode: cart.currency_code, + locale: language, + })} +

+
+
+ )} -
+
{IS_DISCOUNT_SHOWN && (
@@ -113,7 +147,7 @@ export default function Cart({ {isLocationsShown && (
diff --git a/packages/features/medusa-storefront/src/lib/data/cart.ts b/packages/features/medusa-storefront/src/lib/data/cart.ts index 42b3700..0bb1cfd 100644 --- a/packages/features/medusa-storefront/src/lib/data/cart.ts +++ b/packages/features/medusa-storefront/src/lib/data/cart.ts @@ -87,7 +87,10 @@ export async function getOrSetCart(countryCode: string) { return cart; } -export async function updateCart({ id, ...data }: HttpTypes.StoreUpdateCart & { id?: string }) { +export async function updateCart( + { id, ...data }: HttpTypes.StoreUpdateCart & { id?: string }, + { onSuccess, onError }: { onSuccess: () => void, onError: () => void } = { onSuccess: () => {}, onError: () => {} }, +) { const cartId = id || (await getCartId()); if (!cartId) { @@ -109,9 +112,13 @@ export async function updateCart({ id, ...data }: HttpTypes.StoreUpdateCart & { const fulfillmentCacheTag = await getCacheTag("fulfillment"); revalidateTag(fulfillmentCacheTag); + onSuccess(); return cart; }) - .catch(medusaError); + .catch((e) => { + onError(); + return medusaError(e); + }); } export async function addToCart({ @@ -259,7 +266,10 @@ export async function initiatePaymentSession( .catch(medusaError); } -export async function applyPromotions(codes: string[]) { +export async function applyPromotions( + codes: string[], + { onSuccess, onError }: { onSuccess: () => void, onError: () => void } = { onSuccess: () => {}, onError: () => {} }, +) { const cartId = await getCartId(); if (!cartId) { @@ -278,8 +288,13 @@ export async function applyPromotions(codes: string[]) { const fulfillmentCacheTag = await getCacheTag("fulfillment"); revalidateTag(fulfillmentCacheTag); + + onSuccess(); }) - .catch(medusaError); + .catch((e) => { + onError(); + return medusaError(e); + }); } export async function applyGiftCard(code: string) { @@ -427,7 +442,7 @@ export async function placeOrder(cartId?: string, options: { revalidateCacheTags } else { throw new Error("Cart is not an order"); } - + return retrieveOrder(cartRes.order.id); } diff --git a/public/locales/en/cart.json b/public/locales/en/cart.json index 1580536..84221a4 100644 --- a/public/locales/en/cart.json +++ b/public/locales/en/cart.json @@ -5,6 +5,7 @@ "emptyCartMessageDescription": "Add items to your cart to continue.", "subtotal": "Subtotal", "total": "Total", + "promotionsTotal": "Promotions total", "table": { "item": "Item", "quantity": "Quantity", @@ -24,10 +25,13 @@ "timeoutAction": "Continue" }, "discountCode": { + "title": "Gift card or promotion code", "label": "Add Promotion Code(s)", "apply": "Apply", "subtitle": "If you wish, you can add a promotion code", - "placeholder": "Enter promotion code" + "placeholder": "Enter promotion code", + "remove": "Remove promotion code", + "appliedCodes": "Promotion(s) applied:" }, "items": { "synlabAnalyses": { diff --git a/public/locales/et/cart.json b/public/locales/et/cart.json index efb1423..a7bcb19 100644 --- a/public/locales/et/cart.json +++ b/public/locales/et/cart.json @@ -4,6 +4,7 @@ "emptyCartMessage": "Sinu ostukorv on tΓΌhi", "emptyCartMessageDescription": "Lisa tooteid ostukorvi, et jΓ€tkata.", "subtotal": "Vahesumma", + "promotionsTotal": "Soodustuse summa", "total": "Summa", "table": { "item": "Toode", @@ -28,7 +29,13 @@ "label": "Lisa promo kood", "apply": "Rakenda", "subtitle": "Kui soovid, vΓ΅id lisada promo koodi", - "placeholder": "Sisesta promo kood" + "placeholder": "Sisesta promo kood", + "remove": "Eemalda promo kood", + "appliedCodes": "Rakendatud sooduskoodid:", + "removeError": "Sooduskoodi eemaldamine ebaΓ΅nnestus", + "removeSuccess": "Sooduskood eemaldatud", + "addError": "Sooduskoodi rakendamine ebaΓ΅nnestus", + "addSuccess": "Sooduskood rakendatud" }, "items": { "synlabAnalyses": {