From e99b61364181f5b03462b89595f35fc67cef407f Mon Sep 17 00:00:00 2001 From: Sameer Pashikanti Date: Wed, 23 Jul 2025 15:19:02 +0200 Subject: [PATCH] finalize refactor for query.ts, refactor hooks, bump frontend dependencies and add conversation link --- .../source_conversation_id.json | 2 +- .../target_conversation_id.json | 2 +- .../source_conversation_id.json | 2 +- echo/frontend/package.json | 52 +- echo/frontend/pnpm-lock.yaml | 2207 ++++++++++++----- echo/frontend/pnpm-workspace.yaml | 2 + echo/frontend/src/Router.tsx | 15 +- .../announcement/AnnouncementIcon.tsx | 4 +- .../components/announcement/Announcements.tsx | 4 +- .../announcement/TopAnnouncementBar.tsx | 4 +- .../components/announcement/hooks/index.ts | 28 + .../hooks/useProcessedAnnouncements.ts | 1 + .../aspect}/hooks/useCopyAspect.tsx | 0 .../aspect}/hooks/useCopyQuote.ts | 0 .../src/components/auth/hooks/index.ts | 35 + .../src/components/common/Protected.tsx | 2 +- .../src/components/layout/AuthLayout.tsx | 2 +- .../frontend/src/components/layout/Header.tsx | 2 +- .../src/components/layout/ProjectLayout.tsx | 2 +- .../layout}/hooks/useSidebar.tsx | 0 .../participant/ParticipantBody.tsx | 6 +- .../src/components/participant/hooks/index.ts | 77 +- .../hooks/useChunkedAudioRecorder.ts | 0 .../hooks/useConversationIssueBanner.ts | 0 .../hooks/useConversationsHealthStream.ts | 0 echo/frontend/src/components/quote/Quote.tsx | 2 +- .../src/components/resource/hooks/index.ts | 46 - echo/frontend/src/components/view/View.tsx | 2 +- .../view}/hooks/useCopyView.tsx | 0 .../src/hooks/useAnnouncementDrawer.tsx | 28 - echo/frontend/src/hooks/useAuthenticated.tsx | 37 - echo/frontend/src/lib/api.ts | 1 + echo/frontend/src/lib/directus.ts | 9 +- echo/frontend/src/lib/participantQuery.ts | 78 - .../participant/ParticipantConversation.tsx | 4 +- .../ParticipantPostConversation.tsx | 2 +- .../routes/participant/ParticipantStart.tsx | 2 +- .../ProjectConversationOverview.tsx | 29 +- .../project/library/ProjectLibraryAspect.tsx | 2 +- .../project/library/ProjectLibraryView.tsx | 2 +- .../resource/ProjectResourceAnalysis.tsx | 11 - .../resource/ProjectResourceOverview.tsx | 203 -- 42 files changed, 1731 insertions(+), 1176 deletions(-) create mode 100644 echo/frontend/pnpm-workspace.yaml rename echo/frontend/src/{ => components/announcement}/hooks/useProcessedAnnouncements.ts (91%) rename echo/frontend/src/{ => components/aspect}/hooks/useCopyAspect.tsx (100%) rename echo/frontend/src/{ => components/aspect}/hooks/useCopyQuote.ts (100%) rename echo/frontend/src/{ => components/layout}/hooks/useSidebar.tsx (100%) rename echo/frontend/src/{ => components/participant}/hooks/useChunkedAudioRecorder.ts (100%) rename echo/frontend/src/{ => components/participant}/hooks/useConversationIssueBanner.ts (100%) rename echo/frontend/src/{ => components/participant}/hooks/useConversationsHealthStream.ts (100%) delete mode 100644 echo/frontend/src/components/resource/hooks/index.ts rename echo/frontend/src/{ => components/view}/hooks/useCopyView.tsx (100%) delete mode 100644 echo/frontend/src/hooks/useAnnouncementDrawer.tsx delete mode 100644 echo/frontend/src/hooks/useAuthenticated.tsx delete mode 100644 echo/frontend/src/lib/participantQuery.ts delete mode 100644 echo/frontend/src/routes/project/resource/ProjectResourceAnalysis.tsx delete mode 100644 echo/frontend/src/routes/project/resource/ProjectResourceOverview.tsx diff --git a/echo/directus/sync/snapshot/fields/conversation_link/source_conversation_id.json b/echo/directus/sync/snapshot/fields/conversation_link/source_conversation_id.json index 071d99b6..1a05eec5 100644 --- a/echo/directus/sync/snapshot/fields/conversation_link/source_conversation_id.json +++ b/echo/directus/sync/snapshot/fields/conversation_link/source_conversation_id.json @@ -36,7 +36,7 @@ "max_length": null, "numeric_precision": null, "numeric_scale": null, - "is_nullable": false, + "is_nullable": true, "is_unique": false, "is_indexed": true, "is_primary_key": false, diff --git a/echo/directus/sync/snapshot/fields/conversation_link/target_conversation_id.json b/echo/directus/sync/snapshot/fields/conversation_link/target_conversation_id.json index d32d90b7..5e5364f1 100644 --- a/echo/directus/sync/snapshot/fields/conversation_link/target_conversation_id.json +++ b/echo/directus/sync/snapshot/fields/conversation_link/target_conversation_id.json @@ -38,7 +38,7 @@ "numeric_scale": null, "is_nullable": true, "is_unique": false, - "is_indexed": false, + "is_indexed": true, "is_primary_key": false, "is_generated": false, "generation_expression": null, diff --git a/echo/directus/sync/snapshot/relations/conversation_link/source_conversation_id.json b/echo/directus/sync/snapshot/relations/conversation_link/source_conversation_id.json index c2ebc341..b0a4317b 100644 --- a/echo/directus/sync/snapshot/relations/conversation_link/source_conversation_id.json +++ b/echo/directus/sync/snapshot/relations/conversation_link/source_conversation_id.json @@ -20,6 +20,6 @@ "foreign_key_column": "id", "constraint_name": "conversation_link_source_conversation_id_foreign", "on_update": "NO ACTION", - "on_delete": "SET DEFAULT" + "on_delete": "SET NULL" } } diff --git a/echo/frontend/package.json b/echo/frontend/package.json index ff1c7f6f..e408eef7 100644 --- a/echo/frontend/package.json +++ b/echo/frontend/package.json @@ -15,35 +15,35 @@ "preview": "vite preview" }, "dependencies": { - "@ai-sdk/react": "^1.2.2", + "@ai-sdk/react": "^1.2.12", "@directus/sdk": "^18.0.3", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@fontsource-variable/space-grotesk": "^5.2.6", + "@fontsource-variable/space-grotesk": "^5.2.8", "@formkit/auto-animate": "^0.8.2", "@hookform/resolvers": "^3.10.0", - "@lingui/conf": "^5.3.0", - "@lingui/core": "^5.3.0", - "@lingui/macro": "^5.3.0", - "@lingui/react": "^5.3.0", - "@mantine/charts": "^7.17.3", - "@mantine/colors-generator": "^7.17.3", - "@mantine/core": "^7.17.3", - "@mantine/dropzone": "^7.17.3", - "@mantine/hooks": "^7.17.3", - "@mantine/modals": "^7.17.3", - "@mantine/notifications": "^7.17.3", - "@mdxeditor/editor": "^3.29.1", + "@lingui/conf": "^5.3.3", + "@lingui/core": "^5.3.3", + "@lingui/macro": "^5.3.3", + "@lingui/react": "^5.3.3", + "@mantine/charts": "^7.17.8", + "@mantine/colors-generator": "^7.17.8", + "@mantine/core": "^7.17.8", + "@mantine/dropzone": "^7.17.8", + "@mantine/hooks": "^7.17.8", + "@mantine/modals": "^7.17.8", + "@mantine/notifications": "^7.17.8", + "@mdxeditor/editor": "^3.40.0", "@react-pdf/renderer": "^4.3.0", "@sentry/react": "^8.55.0", - "@tabler/icons-react": "^3.31.0", - "@tanstack/react-query": "^5.69.2", + "@tabler/icons-react": "^3.34.1", + "@tanstack/react-query": "^5.83.0", "@tanstack/react-table": "^8.21.3", - "@types/lodash": "^4.17.16", - "@vitejs/plugin-react-swc": "^3.8.1", - "ai": "^4.2.7", - "axios": "^1.8.4", + "@types/lodash": "^4.17.20", + "@vitejs/plugin-react-swc": "^3.11.0", + "ai": "^4.3.19", + "axios": "^1.11.0", "babel-plugin-macros": "^3.1.0", "chroma-js": "^3.1.2", "class-variance-authority": "^0.7.1", @@ -51,12 +51,12 @@ "date-fns": "^4.1.0", "lodash": "^4.17.21", "lucide-react": "^0.468.0", - "match-sorter": "^8.0.0", + "match-sorter": "^8.0.3", "motion": "^11.18.2", "next-themes": "^0.4.6", "notifications\n": "link:@mantine/notifications\n", "plausible-tracker": "^0.3.9", - "prettier-plugin-tailwindcss": "^0.6.11", + "prettier-plugin-tailwindcss": "^0.6.14", "re-resizable": "^6.11.2", "react": "^19.0.0", "react-dom": "^19.0.0", @@ -79,14 +79,14 @@ "unified": "^11.0.5", "use-session-storage-state": "^19.0.1", "usehooks-ts": "^3.1.1", - "vite-plugin-babel": "^1.3.0", + "vite-plugin-babel": "^1.3.2", "zod": "^3.24.2" }, "devDependencies": { "@lingui/babel-plugin-lingui-macro": "^5.3.0", "@lingui/cli": "^5.3.0", "@lingui/swc-plugin": "^5.5.1", - "@lingui/vite-plugin": "^5.3.0", + "@lingui/vite-plugin": "^5.3.3", "@tailwindcss/typography": "^0.5.16", "@types/node": "^22.13.14", "@types/react": "^19.0.12", @@ -94,7 +94,7 @@ "@types/showdown": "^2.0.6", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", - "@vitejs/plugin-react": "^4.3.4", + "@vitejs/plugin-react": "^4.7.0", "autoprefixer": "^10.4.21", "babel-plugin-react-compiler": "19.0.0-beta-37ed2a7-20241206", "debug": "^4.4.0", @@ -108,6 +108,6 @@ "prettier": "^3.5.3", "tailwindcss": "^3.4.17", "typescript": "^5.8.2", - "vite": "^6.2.7" + "vite": "^6.3.5" } } \ No newline at end of file diff --git a/echo/frontend/pnpm-lock.yaml b/echo/frontend/pnpm-lock.yaml index 208c0605..7137e1c0 100644 --- a/echo/frontend/pnpm-lock.yaml +++ b/echo/frontend/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@ai-sdk/react': - specifier: ^1.2.2 - version: 1.2.2(react@19.0.0)(zod@3.24.2) + specifier: ^1.2.12 + version: 1.2.12(react@19.0.0)(zod@3.24.2) '@directus/sdk': specifier: ^18.0.3 version: 18.0.3 @@ -24,8 +24,8 @@ importers: specifier: ^3.2.2 version: 3.2.2(react@19.0.0) '@fontsource-variable/space-grotesk': - specifier: ^5.2.6 - version: 5.2.6 + specifier: ^5.2.8 + version: 5.2.8 '@formkit/auto-animate': specifier: ^0.8.2 version: 0.8.2 @@ -33,41 +33,41 @@ importers: specifier: ^3.10.0 version: 3.10.0(react-hook-form@7.54.2(react@19.0.0)) '@lingui/conf': - specifier: ^5.3.0 - version: 5.3.0(typescript@5.8.2) + specifier: ^5.3.3 + version: 5.3.3(typescript@5.8.2) '@lingui/core': - specifier: ^5.3.0 - version: 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + specifier: ^5.3.3 + version: 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) '@lingui/macro': - specifier: ^5.3.0 - version: 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) + specifier: ^5.3.3 + version: 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) '@lingui/react': - specifier: ^5.3.0 - version: 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) + specifier: ^5.3.3 + version: 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) '@mantine/charts': - specifier: ^7.17.3 - version: 7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(recharts@2.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + specifier: ^7.17.8 + version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(recharts@2.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) '@mantine/colors-generator': - specifier: ^7.17.3 - version: 7.17.3(chroma-js@3.1.2) + specifier: ^7.17.8 + version: 7.17.8(chroma-js@3.1.2) '@mantine/core': - specifier: ^7.17.3 - version: 7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^7.17.8 + version: 7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/dropzone': - specifier: ^7.17.3 - version: 7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^7.17.8 + version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.17.3 - version: 7.17.3(react@19.0.0) + specifier: ^7.17.8 + version: 7.17.8(react@19.0.0) '@mantine/modals': - specifier: ^7.17.3 - version: 7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^7.17.8 + version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/notifications': - specifier: ^7.17.3 - version: 7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^7.17.8 + version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mdxeditor/editor': - specifier: ^3.29.1 - version: 3.29.1(@codemirror/language@6.11.0)(@lezer/highlight@1.2.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22) + specifier: ^3.40.0 + version: 3.40.0(@codemirror/language@6.11.2)(@lezer/highlight@1.2.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22) '@react-pdf/renderer': specifier: ^4.3.0 version: 4.3.0(react@19.0.0) @@ -75,26 +75,26 @@ importers: specifier: ^8.55.0 version: 8.55.0(react@19.0.0) '@tabler/icons-react': - specifier: ^3.31.0 - version: 3.31.0(react@19.0.0) + specifier: ^3.34.1 + version: 3.34.1(react@19.0.0) '@tanstack/react-query': - specifier: ^5.69.2 - version: 5.69.2(react@19.0.0) + specifier: ^5.83.0 + version: 5.83.0(react@19.0.0) '@tanstack/react-table': specifier: ^8.21.3 version: 8.21.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/lodash': - specifier: ^4.17.16 - version: 4.17.16 + specifier: ^4.17.20 + version: 4.17.20 '@vitejs/plugin-react-swc': - specifier: ^3.8.1 - version: 3.8.1(@swc/helpers@0.5.15)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) + specifier: ^3.11.0 + version: 3.11.0(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) ai: - specifier: ^4.2.7 - version: 4.2.7(react@19.0.0)(zod@3.24.2) + specifier: ^4.3.19 + version: 4.3.19(react@19.0.0)(zod@3.24.2) axios: - specifier: ^1.8.4 - version: 1.8.4(debug@4.4.0) + specifier: ^1.11.0 + version: 1.11.0(debug@4.4.0) babel-plugin-macros: specifier: ^3.1.0 version: 3.1.0 @@ -117,8 +117,8 @@ importers: specifier: ^0.468.0 version: 0.468.0(react@19.0.0) match-sorter: - specifier: ^8.0.0 - version: 8.0.0 + specifier: ^8.0.3 + version: 8.0.3 motion: specifier: ^11.18.2 version: 11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -134,8 +134,8 @@ importers: specifier: ^0.3.9 version: 0.3.9 prettier-plugin-tailwindcss: - specifier: ^0.6.11 - version: 0.6.11(prettier@3.5.3) + specifier: ^0.6.14 + version: 0.6.14(prettier@3.5.3) re-resizable: specifier: ^6.11.2 version: 6.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -203,8 +203,8 @@ importers: specifier: ^3.1.1 version: 3.1.1(react@19.0.0) vite-plugin-babel: - specifier: ^1.3.0 - version: 1.3.0(@babel/core@7.26.10)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) + specifier: ^1.3.2 + version: 1.3.2(@babel/core@7.26.10)(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) zod: specifier: ^3.24.2 version: 3.24.2 @@ -217,10 +217,10 @@ importers: version: 5.3.0(typescript@5.8.2) '@lingui/swc-plugin': specifier: ^5.5.1 - version: 5.5.1(@lingui/core@5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)) + version: 5.5.1(@lingui/core@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)) '@lingui/vite-plugin': - specifier: ^5.3.0 - version: 5.3.0(typescript@5.8.2)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) + specifier: ^5.3.3 + version: 5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) '@tailwindcss/typography': specifier: ^0.5.16 version: 0.5.16(tailwindcss@3.4.17) @@ -243,8 +243,8 @@ importers: specifier: ^8.28.0 version: 8.28.0(eslint@9.16.0(jiti@1.21.7))(typescript@5.8.2) '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.3.4(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) + specifier: ^4.7.0 + version: 4.7.0(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)) autoprefixer: specifier: ^10.4.21 version: 10.4.21(postcss@8.5.3) @@ -285,23 +285,23 @@ importers: specifier: ^5.8.2 version: 5.8.2 vite: - specifier: ^6.2.7 - version: 6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) + specifier: ^6.3.5 + version: 6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) packages: - '@ai-sdk/provider-utils@2.2.1': - resolution: {integrity: sha512-BuExLp+NcpwsAVj1F4bgJuQkSqO/+roV9wM7RdIO+NVrcT8RBUTdXzf5arHt5T58VpK7bZyB2V9qigjaPHE+Dg==} + '@ai-sdk/provider-utils@2.2.8': + resolution: {integrity: sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==} engines: {node: '>=18'} peerDependencies: zod: ^3.23.8 - '@ai-sdk/provider@1.1.0': - resolution: {integrity: sha512-0M+qjp+clUD0R1E5eWQFhxEvWLNaOtGQRUaBn8CUABnSKredagq92hUS9VjOzGsTm37xLfpaxl97AVtbeOsHew==} + '@ai-sdk/provider@1.1.3': + resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==} engines: {node: '>=18'} - '@ai-sdk/react@1.2.2': - resolution: {integrity: sha512-rxyNTFjUd3IilVOJFuUJV5ytZBYAIyRi50kFS2gNmSEiG4NHMBBm31ddrxI/i86VpY8gzZVp1/igtljnWBihUA==} + '@ai-sdk/react@1.2.12': + resolution: {integrity: sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -310,8 +310,8 @@ packages: zod: optional: true - '@ai-sdk/ui-utils@1.2.1': - resolution: {integrity: sha512-BzvMbYm7LHBlbWuLlcG1jQh4eu14MGpz7L+wrGO1+F4oQ+O0fAjgUSNwPWGlZpKmg4NrcVq/QLmxiVJrx2R4Ew==} + '@ai-sdk/ui-utils@1.2.11': + resolution: {integrity: sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==} engines: {node: '>=18'} peerDependencies: zod: ^3.23.8 @@ -328,18 +328,34 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.8': resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.28.0': + resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + engines: {node: '>=6.9.0'} + '@babel/core@7.26.10': resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} + '@babel/core@7.28.0': + resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.27.0': resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.0': + resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} @@ -348,12 +364,20 @@ packages: resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.27.0': resolution: {integrity: sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.25.9': resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} engines: {node: '>=6.9.0'} @@ -362,12 +386,22 @@ packages: resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} 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.26.0': resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.25.9': resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} @@ -376,6 +410,10 @@ packages: resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + '@babel/helper-replace-supers@7.26.5': resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} engines: {node: '>=6.9.0'} @@ -390,23 +428,44 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.27.0': resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.27.0': resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.0': + resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-proposal-private-methods@7.18.6': resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} @@ -414,14 +473,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.25.9': - resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.25.9': - resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -430,23 +489,39 @@ packages: resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.0': resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.27.0': resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.0': + resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + engines: {node: '>=6.9.0'} + '@babel/types@7.27.0': resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + '@codemirror/autocomplete@6.18.6': resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} - '@codemirror/commands@6.8.0': - resolution: {integrity: sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ==} + '@codemirror/commands@6.8.1': + resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} '@codemirror/lang-angular@0.1.3': resolution: {integrity: sha512-xgeWGJQQl1LyStvndWtruUvb4SnBZDAu/gvFH/ZU+c0W25tQR8e5hq7WTwiIY2dNxnf+49mRiGI/9yxIwB6f5w==} @@ -514,6 +589,9 @@ packages: '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} + '@codemirror/language@6.11.2': + resolution: {integrity: sha512-p44TsNArL4IVXDTbapUmEkAlvWs2CFQbcfc0ymDsis1kH2wh0gcY96AS29c/vp2d0y2Tquk1EDSaawpzilUiAw==} + '@codemirror/legacy-modes@6.5.0': resolution: {integrity: sha512-dNw5pwTqtR1giYjaJyEajunLqxGavZqV0XRtVZyMJnNOD2HmK9DMUmuCAr6RMFGRJ4l8OeQDjpI/us+R09mQsw==} @@ -582,6 +660,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.8': + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -594,6 +678,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.8': + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -606,6 +696,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.8': + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -618,6 +714,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.8': + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -630,6 +732,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.8': + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -642,6 +750,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.8': + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -654,6 +768,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.8': + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -666,6 +786,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.8': + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -678,6 +804,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.8': + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -690,6 +822,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.8': + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -702,6 +840,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.8': + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -714,6 +858,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.8': + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -726,6 +876,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.8': + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -738,6 +894,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.8': + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -750,6 +912,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.8': + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -762,6 +930,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.8': + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -774,12 +948,24 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.8': + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.3': resolution: {integrity: sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.8': + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -792,12 +978,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.8': + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.3': resolution: {integrity: sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.8': + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -810,6 +1008,18 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.8': + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.8': + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -822,6 +1032,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.8': + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -834,6 +1050,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.8': + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -846,6 +1068,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.8': + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -858,6 +1086,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.8': + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.5.1': resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -899,26 +1133,47 @@ packages: '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + '@floating-ui/core@1.7.2': + resolution: {integrity: sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==} + '@floating-ui/dom@1.6.13': resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + '@floating-ui/dom@1.7.2': + resolution: {integrity: sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==} + '@floating-ui/react-dom@2.1.2': resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' + '@floating-ui/react-dom@2.1.4': + resolution: {integrity: sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + '@floating-ui/react@0.26.28': resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' + '@floating-ui/react@0.27.13': + resolution: {integrity: sha512-Qmj6t9TjgWAvbygNEu1hj4dbHI9CY0ziCMIJrmYoDIn9TUAH5lRmiIeZmRd4c6QEZkzdoH7jNnoNyoY1AIESiA==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@floating-ui/utils@0.2.9': resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - '@fontsource-variable/space-grotesk@5.2.6': - resolution: {integrity: sha512-caoLd9SfhtOGYNIis8ek+sOGxO0NNJ5xGcTtlhCG3UA9N4xPa1AkeCDNOABocH0djVKHYl23CYtsmuDFqh3tiQ==} + '@fontsource-variable/space-grotesk@5.2.8': + resolution: {integrity: sha512-ei9jNXzZVgBGEBVfHZqPe6F9ZxpPUG8kJYrtlLsivlWJZLCfrfSxcayjnMYAmslEGvvfjth7qybl7PNNqE8ZHw==} '@formkit/auto-animate@0.8.2': resolution: {integrity: sha512-SwPWfeRa5veb1hOIBMdzI+73te5puUBHmqqaF1Bu7FjvxlYSz/kJcZKSa9Cg60zL0uRNeJL2SbRxV6Jp6Q1nFQ==} @@ -948,6 +1203,14 @@ packages: resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -960,6 +1223,9 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.12': + resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -975,77 +1241,83 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.4': + resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@lexical/clipboard@0.27.2': - resolution: {integrity: sha512-rfnFYf8P0081IvPOJjE7fWJE+d/dz0Xdsw83uizY5X6HaLXFB/Qy1MrzEqWZnYnOpgi1snAuolZ5Rbg83SIlYA==} + '@jridgewell/trace-mapping@0.3.29': + resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + + '@lexical/clipboard@0.32.1': + resolution: {integrity: sha512-oO7CuMVh3EFEqtE6+7Ccf7jMD5RNUmSdTnFm/X4kYNGqs9lgGt8j5PgSk7oP9OuAjxKNdBTbltSlh54CX3AUIg==} - '@lexical/code@0.27.2': - resolution: {integrity: sha512-GoTy57CYoXvP1N+E9ptCJ47LQCAu67K/HQsjg0NmmtNbWlInk6Sa2V4pM1KePp6JAQapGpIlCoEyC3/KkrQ55g==} + '@lexical/code@0.32.1': + resolution: {integrity: sha512-2rXj8s/CG32XKQ2EpORpACfpzyAxB+/SrQW2cjwczarLs5Fxnx6u6HwahZnxaF0z5UHIPUy90qDiOiRExc74Yg==} - '@lexical/devtools-core@0.27.2': - resolution: {integrity: sha512-LAI7j9roS2i/lV/6Z4AAx2+EVOEnMVzLZFB6aQfSjRbZ9lzA8S17743OJUHRXyTvBWc5520ihhBybO0EfjTagw==} + '@lexical/devtools-core@0.32.1': + resolution: {integrity: sha512-3WnZQo6Qig7ccjDu2b8s1Kb5CCXowxnK0i8CCRG9mHAw7i6XpZUYAbk4rmcK/qbhLHrc7LwUrAMFzGtfLEH3XA==} peerDependencies: react: '>=17.x' react-dom: '>=17.x' - '@lexical/dragon@0.27.2': - resolution: {integrity: sha512-0xI98esvgtJpVLJUADtvJ/yKk4kFFrn2h7GgzvihLXeVe+O149DONFSarB9yguDyvHUblKtfjB2BcJaeOIpouQ==} + '@lexical/dragon@0.32.1': + resolution: {integrity: sha512-Dlx8P2b/O7gZLmXnoanmDkFL5RgA8Vvix4ZuSvT0apblqySzgi8l3NHHwwqXy1g2nfSupvpr7Dsf10Lu3l0Hlw==} - '@lexical/hashtag@0.27.2': - resolution: {integrity: sha512-BBwMT3rz/TlZZ6ZjkP5+Yj86ffufiktOBwry7kPDUqOMyTuTFEE58cmd4SXiYEs7yifrC6TenRmFZgBui7xpmQ==} + '@lexical/hashtag@0.32.1': + resolution: {integrity: sha512-S63bb7uIB4hO2V0UmzUiKlwAGegQlyFKqrOw9NJwOb8O96gHRxr27FUsEb8ToWLM8TSm2aw1WsZXs7CJQqGtCg==} - '@lexical/history@0.27.2': - resolution: {integrity: sha512-5CihqjvlmXuiLZYpKZMfYISpVSSpUrs3jpC5XK0kAv0etUWyf2/JzY0BLfD2kb7x/tOrU7O+WptNNyl5WL3N5A==} + '@lexical/history@0.32.1': + resolution: {integrity: sha512-IRsKllumYEWxmzR2evN30MFY+JBM723lSyzm2PAQcgHCeBxi8t0Vc3EdyJRay+YdN65JgrohQi1WbktbK923uQ==} - '@lexical/html@0.27.2': - resolution: {integrity: sha512-6kPvrTxAE39jUhnbYMCenHVHXTlew9sBprniQu5iZSszMfcn/SDkqmHWi8//fhiLlcAa/p0vRDxaBYoQQf0r9A==} + '@lexical/html@0.32.1': + resolution: {integrity: sha512-uctCdC9gVzx/Sw9CimT4C2IDfSbfEGYunyIrJBpsfcdqp0rroGNizjIoZNBH3xcgkk9UDboSADo+wimbzEoy8A==} - '@lexical/link@0.27.2': - resolution: {integrity: sha512-t+tMr1aEwy67D4+GU6XX78Dxllyu3xebYAlB5ANpnv0oV8PSxT8h6aHHVwj0a55a89NnSPTzpBhqtX0QO374+A==} + '@lexical/link@0.32.1': + resolution: {integrity: sha512-atdwNpWjZ0U2/kgS0ATTkZ8lJLHiv3TsJgqJL33BuV9Gn7advJokd4faM79Y8XxkhiPi1lVTBSHgI8V4hs+c+Q==} - '@lexical/list@0.27.2': - resolution: {integrity: sha512-jE7e95ttO26Xtt322dnUwWSG7QgeAfBg3Ghyjd8ByGI5O5wmMgMgb3NCiSSRPBWOpt6PEeD5s5KjQKfMUCCuHQ==} + '@lexical/list@0.32.1': + resolution: {integrity: sha512-3zShCfEdAvodR6mQ5CNN1gcEwfV341LXJzWCIkZzG1cPwaiBHUlT7TynQtKTPn1sATCEMmxoDG0/T+itsRNZgA==} - '@lexical/mark@0.27.2': - resolution: {integrity: sha512-6rTwfVuuFeiTy6MU8yY3nyBOe2KtcB1lL0zg8ygIRjSYsV2+HAVAUesDFnaCUHJ1qimj9pJB8fW+GU2ur8uGvQ==} + '@lexical/mark@0.32.1': + resolution: {integrity: sha512-AXF2wmUvvSI45y+sgZKnU0pnUdttd9v75DDQgdplqtCkyDqHVGxVCNCrLE+PJtzIrwJxtA2UyC8yFZMBM92HpA==} - '@lexical/markdown@0.27.2': - resolution: {integrity: sha512-XbM/G0CPoH2BUAuKSRS5L2pAU1kreZDOH0Eh4DR2sLzosM48ZyRktgKAUwHItQPQ/in5hkH3Xd5D4RAtYWhKUA==} + '@lexical/markdown@0.32.1': + resolution: {integrity: sha512-AmUTRRx6Je0AOiQqp48Xn92/71AzhFgi4nO1EtPW5eae1CihrtiEh5UQr48mV6EyjvH9D3OlOLU8XrzS+J9a+w==} - '@lexical/offset@0.27.2': - resolution: {integrity: sha512-li+NxLeU2IW7JKOr8pheS/7aGlU8sKThPEKDtM20d0drvMAo03ebu5X/wxmy1e4zWKbpH3dll/ocE+gGV9DcLA==} + '@lexical/offset@0.32.1': + resolution: {integrity: sha512-zfHqoLlQ0lq1akFHy81xnDaRRE5KkqFa7OovOxKPBpALQCiJIAb2ykqj/Woc2oUeYaEcnkaFU9+kEWMK9yY0fQ==} - '@lexical/overflow@0.27.2': - resolution: {integrity: sha512-vkKrZyes4/r73wH/t+X0HEsol4A9yxzALAnx8vyXCnw2s8zklQFi5ccf3fkwPG6cSKDl+zAO0elmSjhxOp5JfQ==} + '@lexical/overflow@0.32.1': + resolution: {integrity: sha512-wjcFGjzkbugds2Q5Wag59WrcxJwMUACEXms1FtFdu1/YcBPqNAKJSyfo8Z/5LGfstQEb2nPtSuEQZUb7v+XYyA==} - '@lexical/plain-text@0.27.2': - resolution: {integrity: sha512-/EygmUMFsH9WVkXl1/IwKJfJJAQy2pnxPx+bYz97hTXqh9CHkzn0N81gxjquRAPZkemoE7UoZsAbaw07BH+8hA==} + '@lexical/plain-text@0.32.1': + resolution: {integrity: sha512-uFS3xoETB3phnYHZXfMKvl8gh6YRW7rpokuJmQVMHNNBklORmMpN00rRQ/zsc/jt/nPzaPpE5cLwSHXeJdqJUg==} - '@lexical/react@0.27.2': - resolution: {integrity: sha512-azfF9kQ/LM47Gn0vV5xMkD2viEiAxmgRQQsDv8gOZcZY4CWtRth/uehW8nchmD4xIgK63LLjGRjYhShTufy0XA==} + '@lexical/react@0.32.1': + resolution: {integrity: sha512-PCiAiwGIGfkYb2o9Kx+gGGqXwxqb7/W4cGSnw1nzmNtCerJ3S64WZs87Lgcow0RlDSwqzpH534+eCyIddueSqw==} peerDependencies: react: '>=17.x' react-dom: '>=17.x' - '@lexical/rich-text@0.27.2': - resolution: {integrity: sha512-naWwPNbEJAue/R0pmZwqnTVkv3V2rzgzz+C6/J5tMOvN1Osth8OL3UD6K8NQX8rjdnXe4soVoH8XsNhU0Jv10w==} + '@lexical/rich-text@0.32.1': + resolution: {integrity: sha512-SnmpZ7boTLxeYfNezNLvchDiJOAALA2nD0Uq/SpkIOJ6R01R7m1aPdLv55LGKoBT9UxCRdo0HWXytwiVZI+ehQ==} - '@lexical/selection@0.27.2': - resolution: {integrity: sha512-9AJOfw1zMQ3PqGpovEuy6NjfWck/9KzxNPzXoGRZlJRvPexgZirentPWRhLHF3DMtnOML1+GCpj+5LOAYN2XbQ==} + '@lexical/selection@0.32.1': + resolution: {integrity: sha512-X1aXJdq/5EOuSuMOqK3t+rEVmpqLf+vc2Kl5YuP8+gGWUbXuxR6iryrQuy1mAViZpF/5qw4HO/Sb+9JjubaZEg==} - '@lexical/table@0.27.2': - resolution: {integrity: sha512-6G3jj7EyweviX3/AEZOr/XBTIQN5QCkJcg1Zw3I9Ga0F+CCDM5aeJWRv4hultP1nOz1xtYCDnezhaPV1Gef9dA==} + '@lexical/table@0.32.1': + resolution: {integrity: sha512-sGk2jUbQHj5hatpxRyl6IE2oWsjRnYhmaP94THzn95/uK69o8eSizcnd148WzYsX8Zz+L9PTLS1xjvCbfLTP+A==} - '@lexical/text@0.27.2': - resolution: {integrity: sha512-Rx61l/Cbz2GGwZvtp56PMGB35X+VnZYhRlLJdZhQ+XTYbRmCTAh50mBcS3FzZrziq8vn07yEN/9FVb8HGTyN1A==} + '@lexical/text@0.32.1': + resolution: {integrity: sha512-0Ek8F3KC4d16b2YaTHdyYFqDSBZ5KRtGrqU3GBog+VOGxucGaEbXEK1/ypX5CTe/wwkQDrH0FKWPQbd3l5t5YQ==} - '@lexical/utils@0.27.2': - resolution: {integrity: sha512-tCEuKL5IXiJ12ZN/Ej37Q7PhcBntekLeQbGiYO4sgIAnR9qI6yYgVH7b1CC+Tf06UapUXjIDG0Uh5/u0W1+kOQ==} + '@lexical/utils@0.32.1': + resolution: {integrity: sha512-ZaqZZksNIHJd+g8GXc11D1ESi8JzsdLVQZ+9odXVaNxtwDIaGIqMSccFyuZ9VSoJDde4JXZkgp/0PShbAZDkyw==} - '@lexical/yjs@0.27.2': - resolution: {integrity: sha512-+twxPJNwN9VOe20dMKDbBfdZWCiTVM7RrezNZ984o8bJVx6dW80yM96zEyyQp1pmgi60lOYunKWD1B5/74Dq/w==} + '@lexical/yjs@0.32.1': + resolution: {integrity: sha512-VHGTg5z4wcDkPe8NnhzA5+CoOKJ5tVmTmMvoiZ91rtNUFQPxWRky88Gjt1e3yXldYp4pImNEgtAjlWqvaJBYGA==} peerDependencies: yjs: '>=13.5.22' @@ -1104,6 +1376,10 @@ packages: resolution: {integrity: sha512-cusecMVMT6oLUYiiw9lUtyna+v+B7u3HtbPDZTjGJXWGPSBtIUASL4c9dhvf5u6/BQyyiwZTsnC9vNMso+iRLQ==} engines: {node: '>=20.0.0'} + '@lingui/babel-plugin-extract-messages@5.3.3': + resolution: {integrity: sha512-Cgac9D9ZrTrNdQPxRc5gmZXVUnofBoSUC7CHSEuua5tPolr20oP4snYEnpOvs2D/sM6AWTbM199i7F2e5m4HYA==} + engines: {node: '>=20.0.0'} + '@lingui/babel-plugin-lingui-macro@5.3.0': resolution: {integrity: sha512-vU8mGvZR4ope5l9Fq5gChFs+XyuscKmgVVVavkuns/w7K5ITNbFMjITTGNE6wUoOwYGabjIsc/eK/7clmK/KeA==} engines: {node: '>=20.0.0'} @@ -1113,15 +1389,33 @@ packages: babel-plugin-macros: optional: true + '@lingui/babel-plugin-lingui-macro@5.3.3': + resolution: {integrity: sha512-LSdJVBchjHPtFemQJiykDlpSksN9jusKcLbkuhdpgMETNMS5EyFwLTud7YUo5qkOIhtpYIf9mj94t1vGRVeSYQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + babel-plugin-macros: 2 || 3 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + '@lingui/cli@5.3.0': resolution: {integrity: sha512-HRyD6B7gzabVnMmrIogmFgtY9PbzhZwRE+5ZtXPWKFRNkY4ooaTu6UsR/anhM+bOvPuC4hqFxKkyuSTVVzup/A==} engines: {node: '>=20.0.0'} hasBin: true + '@lingui/cli@5.3.3': + resolution: {integrity: sha512-db3aI637XO7z5QeZkrj9pEI3diTuXp0FVHn8TdFgKzQqmKLcv0CgJNftMoQ+DiibifOApyl01ZX81UVXtnQNdA==} + engines: {node: '>=20.0.0'} + hasBin: true + '@lingui/conf@5.3.0': resolution: {integrity: sha512-MmLRc9sOq3o6JOnivLhaDkADrskFL2KM7j3xftm000QFcqv8thS6BrFHdvDvF1qcAH5XQ2DV8xZj+b1u4XvNkg==} engines: {node: '>=20.0.0'} + '@lingui/conf@5.3.3': + resolution: {integrity: sha512-YVjGeGQg4BrHrC+/s7kHYYjcBzAPFoGWl/ujdp05J6+PjV7yXnwUaMa3A7XhKFdRqpJReXf9FOWZUsIIBcPSEQ==} + engines: {node: '>=20.0.0'} + '@lingui/core@5.3.0': resolution: {integrity: sha512-Y0anQ4a/E7nqwnrOLGlrVanWufx8xy6+WDT18U3GavJ2LRNv44NYzjw85jd6SJOsxgfcSFnTf4xh/Bq44AgRpQ==} engines: {node: '>=20.0.0'} @@ -1134,15 +1428,31 @@ packages: babel-plugin-macros: optional: true + '@lingui/core@5.3.3': + resolution: {integrity: sha512-H2PAJrbcPBjJg2q3JqMS9OndPkx0kUV+zDLSguONNFGYbe/G7vcNpgEfyYfcCoJBrWaZzJ0iy3Se6LdFbvn6nA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@lingui/babel-plugin-lingui-macro': 5.3.3 + babel-plugin-macros: 2 || 3 + peerDependenciesMeta: + '@lingui/babel-plugin-lingui-macro': + optional: true + babel-plugin-macros: + optional: true + '@lingui/format-po@5.3.0': resolution: {integrity: sha512-ekMpkM9oscsPirxBGHLjV+lKCb3ZIXlcVzfybUfQc4k2uqrIova9WuBiraS5K7BFpHiRsshphPPd0mztFWGUyg==} engines: {node: '>=20.0.0'} - '@lingui/macro@5.3.0': - resolution: {integrity: sha512-bw/ic7Cjk98z8KDWWAjpb7Dcw2bEuORfnRhmjbLgZucKaw2Chbv4JQulfFAVB4ObTxLcmMJoc+HKbMSMumhFUg==} + '@lingui/format-po@5.3.3': + resolution: {integrity: sha512-sKGJqsIJLPMKwtSP1js7cfFzEXsNSppzYxDPVO06i71Xd0jn8a+KXLMaSAQj9jY/dpxN8wKsCt26gOnHYi5c5g==} + engines: {node: '>=20.0.0'} + + '@lingui/macro@5.3.3': + resolution: {integrity: sha512-682DGZWQmK0u9sDgESpSoZjx1uHRroecOq844SOr+24cnunGFG6Z7f4LXjbDphPwKAsjoKPW6tEHnd+eysTP7Q==} engines: {node: '>=20.0.0'} peerDependencies: - '@lingui/babel-plugin-lingui-macro': 5.3.0 + '@lingui/babel-plugin-lingui-macro': 5.3.3 babel-plugin-macros: 2 || 3 peerDependenciesMeta: '@lingui/babel-plugin-lingui-macro': @@ -1156,11 +1466,17 @@ packages: bundledDependencies: - '@messageformat/date-skeleton' - '@lingui/react@5.3.0': - resolution: {integrity: sha512-nKtG3PobEWovEO46RLlYWL8xvqxeI+Joa81mahdRWG6fKd177p8TROECmdFeong18w17AwDik/gfWk3+jYt9yQ==} + '@lingui/message-utils@5.3.3': + resolution: {integrity: sha512-Xn1jFX9pworCEKvPwyEo/YJEp8qjELoRkFMUQ+D9AMi8jpaBUbcJpKdJ/TcIt7SKfk8koR/TMxoayMVsh++KCw==} + engines: {node: '>=20.0.0'} + bundledDependencies: + - '@messageformat/date-skeleton' + + '@lingui/react@5.3.3': + resolution: {integrity: sha512-DEFmI24pDdy/wsIDYtmYg5qwAPmgZIjoy9q10GVGmjq952D0sQJoGBGz+ucGQFSNmT7SnktauJHH+xEUdO/Cgg==} engines: {node: '>=20.0.0'} peerDependencies: - '@lingui/babel-plugin-lingui-macro': 5.3.0 + '@lingui/babel-plugin-lingui-macro': 5.3.3 babel-plugin-macros: 2 || 3 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: @@ -1181,72 +1497,72 @@ packages: next: optional: true - '@lingui/vite-plugin@5.3.0': - resolution: {integrity: sha512-ByWnoRNtHQ2rxhP/pD/DwnSlb8GacMQYxAhOiR+SMY7Uf6UJhlpJpky13aejQBORAn2Itp/+vUxEgTbrT1lCjw==} + '@lingui/vite-plugin@5.3.3': + resolution: {integrity: sha512-CHn/8+2SdLxDVYdtUrUQ0DUVhdG0e+U83bqr8OG6JMmlLxLccWGu9JLLloDN34bsGAZqJ1vkEaZ59UHfbtWUaw==} engines: {node: '>=20.0.0'} peerDependencies: - vite: ^3 || ^4 || ^5.0.9 || ^6 + vite: ^3 || ^4 || ^5.0.9 || ^6 || ^7 - '@mantine/charts@7.17.3': - resolution: {integrity: sha512-YGx8hLi4E3yyiRx9fNAoPPF+YrFkLWM+fnzqKIVvRbWqMbUw920AU+K5XSDjPmNB7cuYWSVwxxA/hIstQ8x3VA==} + '@mantine/charts@7.17.8': + resolution: {integrity: sha512-lzDa2JM0uD2X32vnUPtERJc4V5nYkrbpOpnC/G3p0Kkwcxh9v59p5uMDxHXoHcv/OsMPALKYWBkY9aGWvD/E4g==} peerDependencies: - '@mantine/core': 7.17.3 - '@mantine/hooks': 7.17.3 + '@mantine/core': 7.17.8 + '@mantine/hooks': 7.17.8 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x recharts: ^2.13.3 - '@mantine/colors-generator@7.17.3': - resolution: {integrity: sha512-d/noQeEyeiuuQyl1dPdEdOihMgUDwPSnYGz60eJOCc4HfOY8zNZLgfsfZf7d+1cIlySNbqK9GARUunZyfSiu3g==} + '@mantine/colors-generator@7.17.8': + resolution: {integrity: sha512-uLUYkmdwv2kQtoNTizBDyOeVLMuCIQfR7UdZDKAPJP921RUu+B8sbW7TAY6jAScDswqZNDZNLKdo5icYYBF/2g==} peerDependencies: chroma-js: '>=2.4.2' - '@mantine/core@7.17.3': - resolution: {integrity: sha512-N/AfV5eMnfEMx9WzI7AU5pNFBEzAfT/KtE2XDKS+0ht6RifUmolIxyIvoGMYz2yUEsCBMJZqmBq33Rabf5W7Ug==} + '@mantine/core@7.17.8': + resolution: {integrity: sha512-42sfdLZSCpsCYmLCjSuntuPcDg3PLbakSmmYfz5Auea8gZYLr+8SS5k647doVu0BRAecqYOytkX2QC5/u/8VHw==} peerDependencies: - '@mantine/hooks': 7.17.3 + '@mantine/hooks': 7.17.8 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dropzone@7.17.3': - resolution: {integrity: sha512-dwqmSgBS+fn57h2V2Ko4VN9g3nn/4DYr5poCElYhfYKzGqsDxqe9ZW3rYIg+VtmIAqBpWxX5YuWl4ea5h9xRZA==} + '@mantine/dropzone@7.17.8': + resolution: {integrity: sha512-c9WEArpP23E9tbRWqoznEY3bGPVntMuBKr3F2LQijgdpdALIzt6DYmwXu7gUajGX9Qg9NrCHenhvWLTYqKnRlA==} peerDependencies: - '@mantine/core': 7.17.3 - '@mantine/hooks': 7.17.3 + '@mantine/core': 7.17.8 + '@mantine/hooks': 7.17.8 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/hooks@7.17.3': - resolution: {integrity: sha512-6o65Rbfl8jd1C1nF9icvungqL0qZViEOmrZgkyKXxBYkC3x91fz4zftwQgNjt1tZHWDNO6Bo4GpRjJyAdwl48g==} + '@mantine/hooks@7.17.8': + resolution: {integrity: sha512-96qygbkTjRhdkzd5HDU8fMziemN/h758/EwrFu7TlWrEP10Vw076u+Ap/sG6OT4RGPZYYoHrTlT+mkCZblWHuw==} peerDependencies: react: ^18.x || ^19.x - '@mantine/modals@7.17.3': - resolution: {integrity: sha512-ZwNDTmfqyVRPUNl+vtBDbgZ9aVeQw6H+KLDSZxEsIYjc8p6u7FgCQ/FaBpsJOf//Oc7gHTLF0al27AqvW8jmOA==} + '@mantine/modals@7.17.8': + resolution: {integrity: sha512-7Eylnopjh8b0xIrtXnle8DsNsLghq82uUYMalm54nMaCSD9N/qAuCPGfAE0k2tsWj5cGDC2/uMbU0RSBjGanbA==} peerDependencies: - '@mantine/core': 7.17.3 - '@mantine/hooks': 7.17.3 + '@mantine/core': 7.17.8 + '@mantine/hooks': 7.17.8 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/notifications@7.17.3': - resolution: {integrity: sha512-MqakDqu/CZzO4arZGpXs3TmGTajqL4xm28vtqW4qWFSU5HZWQ4EosqipqvIJ+swC6YbxNiWvFcfnxxPlHdYk9g==} + '@mantine/notifications@7.17.8': + resolution: {integrity: sha512-/YK16IZ198W6ru/IVecCtHcVveL08u2c8TbQTu/2p26LSIM9AbJhUkrU6H+AO0dgVVvmdmNdvPxcJnfq3S9TMg==} peerDependencies: - '@mantine/core': 7.17.3 - '@mantine/hooks': 7.17.3 + '@mantine/core': 7.17.8 + '@mantine/hooks': 7.17.8 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/store@7.17.3': - resolution: {integrity: sha512-wXQXe/Ljv2N6TDRsoVwOHmTGZey7Nt/SS6VeeMujKeNnAybPPXaP1jIbN50MKJoDS4qVPCHJNaHwVKIgMur2aQ==} + '@mantine/store@7.17.8': + resolution: {integrity: sha512-/FrB6PAVH4NEjQ1dsc9qOB+VvVlSuyjf4oOOlM9gscPuapDP/79Ryq7JkhHYfS55VWQ/YUlY24hDI2VV+VptXg==} peerDependencies: react: ^18.x || ^19.x '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} - '@mdxeditor/editor@3.29.1': - resolution: {integrity: sha512-Pv4J9JveVcvswcyaYs+irsrFmm+NKSuNdF3V0NPx9mWRzb8rzNtqDSK0+H4TeiPp9wroDM66DQCSnrdEM8U5Lw==} + '@mdxeditor/editor@3.40.0': + resolution: {integrity: sha512-yNwnXEhhIvk0ElhAHuaksnk8WxBkKDGxm+SsKAf6aI2OmDfz4lxY4/zqElvb89XtwyyqHuqi8wCCDGANWIQR1Q==} engines: {node: '>=16'} peerDependencies: react: '>= 18 || >= 19' @@ -1288,14 +1604,14 @@ packages: '@radix-ui/colors@3.0.0': resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==} - '@radix-ui/number@1.1.0': - resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} + '@radix-ui/number@1.1.1': + resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} - '@radix-ui/primitive@1.1.1': - resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} + '@radix-ui/primitive@1.1.2': + resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} - '@radix-ui/react-arrow@1.1.2': - resolution: {integrity: sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==} + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1307,8 +1623,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collection@1.1.2': - resolution: {integrity: sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==} + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1320,8 +1636,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.1.1': - resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1329,8 +1645,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-context@1.1.1': - resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1338,8 +1654,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.1.6': - resolution: {integrity: sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==} + '@radix-ui/react-dialog@1.1.14': + resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1351,8 +1667,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-direction@1.1.0': - resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1360,8 +1676,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.1.5': - resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==} + '@radix-ui/react-dismissable-layer@1.1.10': + resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1373,8 +1689,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.1.1': - resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} + '@radix-ui/react-focus-guards@1.1.2': + resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1382,8 +1698,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.1.2': - resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==} + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1400,8 +1716,8 @@ packages: peerDependencies: react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc - '@radix-ui/react-id@1.1.0': - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1409,8 +1725,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-popover@1.1.6': - resolution: {integrity: sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==} + '@radix-ui/react-popover@1.1.14': + resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1422,8 +1738,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popper@1.2.2': - resolution: {integrity: sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==} + '@radix-ui/react-popper@1.2.7': + resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1435,8 +1751,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.1.4': - resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==} + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1448,8 +1764,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.2': - resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} + '@radix-ui/react-presence@1.1.4': + resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1461,8 +1777,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.0.2': - resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==} + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1474,8 +1790,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.2': - resolution: {integrity: sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==} + '@radix-ui/react-roving-focus@1.1.10': + resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1487,8 +1803,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-select@2.1.6': - resolution: {integrity: sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==} + '@radix-ui/react-select@2.2.5': + resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1500,8 +1816,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-separator@1.1.2': - resolution: {integrity: sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==} + '@radix-ui/react-separator@1.1.7': + resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1513,8 +1829,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.1.2': - resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1522,8 +1838,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-toggle-group@1.1.2': - resolution: {integrity: sha512-JBm6s6aVG/nwuY5eadhU2zDi/IwYS0sDM5ZWb4nymv/hn3hZdkw+gENn0LP4iY1yCd7+bgJaCwueMYJIU3vk4A==} + '@radix-ui/react-toggle-group@1.1.10': + resolution: {integrity: sha512-kiU694Km3WFLTC75DdqgM/3Jauf3rD9wxeS9XtyWFKsBUeZA337lC+6uUazT7I1DhanZ5gyD5Stf8uf2dbQxOQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1535,8 +1851,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toggle@1.1.2': - resolution: {integrity: sha512-lntKchNWx3aCHuWKiDY+8WudiegQvBpDRAYL8dKLRvKEH8VOpl0XX6SSU/bUBqIRJbcTy4+MW06Wv8vgp10rzQ==} + '@radix-ui/react-toggle@1.1.9': + resolution: {integrity: sha512-ZoFkBBz9zv9GWer7wIjvdRxmh2wyc2oKWw6C6CseWd6/yq1DK/l5lJ+wnsmFwJZbBYqr02mrf8A2q/CVCuM3ZA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1548,8 +1864,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toolbar@1.1.2': - resolution: {integrity: sha512-wT20eQ7ScFk+kBMDmHp+lMk18cgxhu35b2Bn5deUcPxiVwfn5vuZgi7NGcHu8ocdkinahmp4FaSZysKDyRVPWQ==} + '@radix-ui/react-toolbar@1.1.10': + resolution: {integrity: sha512-jiwQsduEL++M4YBIurjSa+voD86OIytCod0/dbIxFZDLD8NfO1//keXYMfsW8BPcfqwoNjt+y06XcJqAb4KR7A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1561,8 +1877,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-tooltip@1.1.8': - resolution: {integrity: sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==} + '@radix-ui/react-tooltip@1.2.7': + resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1574,8 +1890,17 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-use-callback-ref@1.1.0': - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1583,8 +1908,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-controllable-state@1.1.0': - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1592,8 +1917,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-escape-keydown@1.1.0': - resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1601,8 +1926,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-layout-effect@1.1.0': - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1610,8 +1935,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-previous@1.1.0': - resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1619,8 +1944,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-rect@1.1.0': - resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1628,8 +1953,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-size@1.1.0': - resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1637,8 +1962,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.1.2': - resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==} + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1650,8 +1975,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/rect@1.1.0': - resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} '@react-hook/intersection-observer@3.1.2': resolution: {integrity: sha512-mWU3BMkmmzyYMSuhO9wu3eJVP21N8TcgYm9bZnTrMwuM818bEk+0NRM3hP+c/TqA9Ln5C7qE53p1H0QMtzYdvQ==} @@ -1706,6 +2031,9 @@ packages: '@react-pdf/types@2.9.0': resolution: {integrity: sha512-ckj80vZLlvl9oYrQ4tovEaqKWP3O06Eb1D48/jQWbdwz1Yh7Y9v1cEmwlP8ET+a1Whp8xfdM0xduMexkuPANCQ==} + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + '@rollup/rollup-android-arm-eabi@4.40.1': resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} cpu: [arm] @@ -1842,71 +2170,71 @@ packages: '@stitches/core@1.2.8': resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==} - '@swc/core-darwin-arm64@1.11.13': - resolution: {integrity: sha512-loSERhLaQ9XDS+5Kdx8cLe2tM1G0HLit8MfehipAcsdctpo79zrRlkW34elOf3tQoVPKUItV0b/rTuhjj8NtHg==} + '@swc/core-darwin-arm64@1.13.2': + resolution: {integrity: sha512-44p7ivuLSGFJ15Vly4ivLJjg3ARo4879LtEBAabcHhSZygpmkP8eyjyWxrH3OxkY1eRZSIJe8yRZPFw4kPXFPw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.11.13': - resolution: {integrity: sha512-uSA4UwgsDCIysUPfPS8OrQTH2h9spO7IYFd+1NB6dJlVGUuR6jLKuMBOP1IeLeax4cGHayvkcwSJ3OvxHwgcZQ==} + '@swc/core-darwin-x64@1.13.2': + resolution: {integrity: sha512-Lb9EZi7X2XDAVmuUlBm2UvVAgSCbD3qKqDCxSI4jEOddzVOpNCnyZ/xEampdngUIyDDhhJLYU9duC+Mcsv5Y+A==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.11.13': - resolution: {integrity: sha512-boVtyJzS8g30iQfe8Q46W5QE/cmhKRln/7NMz/5sBP/am2Lce9NL0d05NnFwEWJp1e2AMGHFOdRr3Xg1cDiPKw==} + '@swc/core-linux-arm-gnueabihf@1.13.2': + resolution: {integrity: sha512-9TDe/92ee1x57x+0OqL1huG4BeljVx0nWW4QOOxp8CCK67Rpc/HHl2wciJ0Kl9Dxf2NvpNtkPvqj9+BUmM9WVA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.11.13': - resolution: {integrity: sha512-+IK0jZ84zHUaKtwpV+T+wT0qIUBnK9v2xXD03vARubKF+eUqCsIvcVHXmLpFuap62dClMrhCiwW10X3RbXNlHw==} + '@swc/core-linux-arm64-gnu@1.13.2': + resolution: {integrity: sha512-KJUSl56DBk7AWMAIEcU83zl5mg3vlQYhLELhjwRFkGFMvghQvdqQ3zFOYa4TexKA7noBZa3C8fb24rI5sw9Exg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.11.13': - resolution: {integrity: sha512-+ukuB8RHD5BHPCUjQwuLP98z+VRfu+NkKQVBcLJGgp0/+w7y0IkaxLY/aKmrAS5ofCNEGqKL+AOVyRpX1aw+XA==} + '@swc/core-linux-arm64-musl@1.13.2': + resolution: {integrity: sha512-teU27iG1oyWpNh9CzcGQ48ClDRt/RCem7mYO7ehd2FY102UeTws2+OzLESS1TS1tEZipq/5xwx3FzbVgiolCiQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.11.13': - resolution: {integrity: sha512-q9H3WI3U3dfJ34tdv60zc8oTuWvSd5fOxytyAO9Pc5M82Hic3jjWaf2xBekUg07ubnMZpyfnv+MlD+EbUI3Llw==} + '@swc/core-linux-x64-gnu@1.13.2': + resolution: {integrity: sha512-dRPsyPyqpLD0HMRCRpYALIh4kdOir8pPg4AhNQZLehKowigRd30RcLXGNVZcc31Ua8CiPI4QSgjOIxK+EQe4LQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.11.13': - resolution: {integrity: sha512-9aaZnnq2pLdTbAzTSzy/q8dr7Woy3aYIcQISmw1+Q2/xHJg5y80ZzbWSWKYca/hKonDMjIbGR6dp299I5J0aeA==} + '@swc/core-linux-x64-musl@1.13.2': + resolution: {integrity: sha512-CCxETW+KkYEQDqz1SYC15YIWYheqFC+PJVOW76Maa/8yu8Biw+HTAcblKf2isrlUtK8RvrQN94v3UXkC2NzCEw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.11.13': - resolution: {integrity: sha512-n3QZmDewkHANcoHvtwvA6yJbmS4XJf0MBMmwLZoKDZ2dOnC9D/jHiXw7JOohEuzYcpLoL5tgbqmjxa3XNo9Oow==} + '@swc/core-win32-arm64-msvc@1.13.2': + resolution: {integrity: sha512-Wv/QTA6PjyRLlmKcN6AmSI4jwSMRl0VTLGs57PHTqYRwwfwd7y4s2fIPJVBNbAlXd795dOEP6d/bGSQSyhOX3A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.11.13': - resolution: {integrity: sha512-wM+Nt4lc6YSJFthCx3W2dz0EwFNf++j0/2TQ0Js9QLJuIxUQAgukhNDVCDdq8TNcT0zuA399ALYbvj5lfIqG6g==} + '@swc/core-win32-ia32-msvc@1.13.2': + resolution: {integrity: sha512-PuCdtNynEkUNbUXX/wsyUC+t4mamIU5y00lT5vJcAvco3/r16Iaxl5UCzhXYaWZSNVZMzPp9qN8NlSL8M5pPxw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.11.13': - resolution: {integrity: sha512-+X5/uW3s1L5gK7wAo0E27YaAoidJDo51dnfKSfU7gF3mlEUuWH8H1bAy5OTt2mU4eXtfsdUMEVXSwhDlLtQkuA==} + '@swc/core-win32-x64-msvc@1.13.2': + resolution: {integrity: sha512-qlmMkFZJus8cYuBURx1a3YAG2G7IW44i+FEYV5/32ylKkzGNAr9tDJSA53XNnNXkAB5EXSPsOz7bn5C3JlEtdQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.11.13': - resolution: {integrity: sha512-9BXdYz12Wl0zWmZ80PvtjBWeg2ncwJ9L5WJzjhN6yUTZWEV/AwAdVdJnIEp4pro3WyKmAaMxcVOSbhuuOZco5g==} + '@swc/core@1.13.2': + resolution: {integrity: sha512-YWqn+0IKXDhqVLKoac4v2tV6hJqB/wOh8/Br8zjqeqBkKa77Qb0Kw2i7LOFzjFNZbZaPH6AlMGlBwNrxaauaAg==} engines: {node: '>=10'} peerDependencies: - '@swc/helpers': '*' + '@swc/helpers': '>=0.5.17' peerDependenciesMeta: '@swc/helpers': optional: true @@ -1917,27 +2245,27 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.20': - resolution: {integrity: sha512-/rlIpxwKrhz4BIplXf6nsEHtqlhzuNN34/k3kMAXH4/lvVoA3cdq+60aqVNnyvw2uITEaCi0WV3pxBe4dQqoXQ==} + '@swc/types@0.1.23': + resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} - '@tabler/icons-react@3.31.0': - resolution: {integrity: sha512-2rrCM5y/VnaVKnORpDdAua9SEGuJKVqPtWxeQ/vUVsgaUx30LDgBZph7/lterXxDY1IKR6NO//HDhWiifXTi3w==} + '@tabler/icons-react@3.34.1': + resolution: {integrity: sha512-Ld6g0NqOO05kyyHsfU8h787PdHBm7cFmOycQSIrGp45XcXYDuOK2Bs0VC4T2FWSKZ6bx5g04imfzazf/nqtk1A==} peerDependencies: react: '>= 16' - '@tabler/icons@3.31.0': - resolution: {integrity: sha512-dblAdeKY3+GA1U+Q9eziZ0ooVlZMHsE8dqP0RkwvRtEsAULoKOYaCUOcJ4oW1DjWegdxk++UAt2SlQVnmeHv+g==} + '@tabler/icons@3.34.1': + resolution: {integrity: sha512-9gTnUvd7Fd/DmQgr3MKY+oJLa1RfNsQo8c/ir3TJAWghOuZXodbtbVp0QBY2DxWuuvrSZFys0HEbv1CoiI5y6A==} '@tailwindcss/typography@0.5.16': resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' - '@tanstack/query-core@5.69.2': - resolution: {integrity: sha512-+spKBqGMSxVMhYPMHr4L7efc4CDdb0Y8nE4UxP/FjV4V3ajP3uhBsh0T7pSuObBgYkU+nY1PRkJhKNmwlHmkUg==} + '@tanstack/query-core@5.83.0': + resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==} - '@tanstack/react-query@5.69.2': - resolution: {integrity: sha512-m5clVHliwYK1ZAhS7m6A/PfEU/ibzZjhLszw/YuNFw5rHoKcX6Y6JO4eRV4ugpZFIn0sZ5lSrbcz/jwzAGI2pw==} + '@tanstack/react-query@5.83.0': + resolution: {integrity: sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ==} peerDependencies: react: ^18 || ^19 @@ -2021,8 +2349,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/lodash@4.17.16': - resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + '@types/lodash@4.17.20': + resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2109,16 +2437,16 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vitejs/plugin-react-swc@3.8.1': - resolution: {integrity: sha512-aEUPCckHDcFyxpwFm0AIkbtv6PpUp3xTb9wYGFjtABynXjCYKkWoxX0AOK9NT9XCrdk6mBBUOeHQS+RKdcNO1A==} + '@vitejs/plugin-react-swc@3.11.0': + resolution: {integrity: sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==} peerDependencies: - vite: ^4 || ^5 || ^6 + vite: ^4 || ^5 || ^6 || ^7 - '@vitejs/plugin-react@4.3.4': - resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 abs-svg-path@0.1.1: resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==} @@ -2133,8 +2461,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ai@4.2.7: - resolution: {integrity: sha512-wFQG6jDxh+uG37EHj/QzZIWMj8r6hKeSowo7gyZNFLTjLFS61VSYHGqdUO/lepm5bGzF94W/MXgYyZ00IIsseQ==} + ai@4.3.19: + resolution: {integrity: sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -2186,8 +2514,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-hidden@1.2.4: - resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} asynckit@0.4.0: @@ -2200,8 +2528,8 @@ packages: peerDependencies: postcss: ^8.1.0 - axios@1.8.4: - resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==} + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} @@ -2254,6 +2582,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.25.1: + resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -2279,6 +2612,9 @@ packages: caniuse-lite@1.0.30001707: resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==} + caniuse-lite@1.0.30001727: + resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + canvas@3.1.0: resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==} engines: {node: ^18.12.0 || >= 20.9.0} @@ -2583,6 +2919,9 @@ packages: electron-to-chromium@1.5.128: resolution: {integrity: sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==} + electron-to-chromium@1.5.190: + resolution: {integrity: sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -2635,6 +2974,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2770,6 +3114,14 @@ packages: fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -2813,8 +3165,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} format@0.2.2: @@ -2885,6 +3237,11 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + engines: {node: 20 || >=22} + hasBin: true + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -3058,6 +3415,10 @@ packages: resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} engines: {node: 20 || >=22} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} + jay-peg@1.1.1: resolution: {integrity: sha512-D62KEuBxz/ip2gQKOEhk/mx14o7eiFRaU+VNNSP4MOiIkwb/D6B3G1Mfas7C/Fit8EsSV2/IWjZElx/Gs6A4ww==} @@ -3124,11 +3485,11 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lexical@0.27.2: - resolution: {integrity: sha512-R255V+4VBqZmSMWeuMrCNHJZd3L+qBkYYFrxkiO3FLg/36HatZLUdZLRYx+fOMWeSddo0DP9EVl0GTZzNb7v0w==} + lexical@0.32.1: + resolution: {integrity: sha512-Rvr9p00zUwzjXIqElIjMDyl/24QHw68yaqmXUWIT3lSdSAr8OpjSJK3iWBLZwVZwwpVhwShZRckomc+3vSb/zw==} - lib0@0.2.105: - resolution: {integrity: sha512-5vtbuBi2P43ZYOfVMV+TZYkWEa0J9kijXirzEgrPA+nJDQCtMx805/rqW4G1nXbM9IRIhwW+OyNNgcQdbhKfSw==} + lib0@0.2.114: + resolution: {integrity: sha512-gcxmNFzA4hv8UYi8j43uPlQ7CGcyMJ2KQb5kZASw6SnAKAf10hK12i2fjrS3Cl/ugZa5Ui6WwIu1/6MIXiHttQ==} engines: {node: '>=16'} hasBin: true @@ -3215,8 +3576,8 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - match-sorter@8.0.0: - resolution: {integrity: sha512-bGJ6Zb+OhzXe+ptP5d80OLVx7AkqfRbtGEh30vNSfjNwllu+hHI+tcbMIT/fbkx/FKN1PmKuDb65+Oofg+XUxw==} + match-sorter@8.0.3: + resolution: {integrity: sha512-BnR/YBS1iO94R3EcseKkb7kJ2w2su5CWmywHvFYv70HQ2syqca79JefoGocMK+G1NOdpV2kt0G3uQb5hcdFtIA==} math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} @@ -3430,6 +3791,10 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3642,6 +4007,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -3732,11 +4101,13 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.6.11: - resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} + 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': '*' @@ -3756,6 +4127,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': @@ -3866,6 +4241,12 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 + react-hook-form@7.60.0: + resolution: {integrity: sha512-SBrYOvMbDB7cV8ZfNpaiLcgjH/a1c7aK0lK+aNigpf4xWLO8q+o4tcvVurv3c4EOyzn/3dCsYt4GKD42VvJ/+A==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + react-intersection-observer@9.16.0: resolution: {integrity: sha512-w9nJSEp+DrW9KmQmeWHQyfaP6b03v+TdXynaoA964Wxt7mdR3An11z4NNCQgL4gKSK7y1ver2Fq+JKH6CWEzUA==} peerDependencies: @@ -3912,8 +4293,8 @@ packages: react: '>=18.0.0' react-dom: '>=18.0.0' - react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} react-remove-scroll-bar@2.3.8: @@ -3936,6 +4317,16 @@ packages: '@types/react': optional: true + react-remove-scroll@2.7.1: + resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + react-router-dom@7.4.0: resolution: {integrity: sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA==} engines: {node: '>=20.0.0'} @@ -3969,8 +4360,8 @@ packages: '@types/react': optional: true - react-textarea-autosize@8.5.6: - resolution: {integrity: sha512-aT3ioKXMa8f6zHYGebhbdMD2L00tKeRX1zuVuDx9YQK/JLLRSaSxq3ugECEmUB9z2kvk6bFSIoRHLkkUv0RJiw==} + react-textarea-autosize@8.5.9: + resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4095,6 +4486,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + set-cookie-parser@2.7.1: resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} @@ -4257,6 +4653,10 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -4379,8 +4779,8 @@ packages: '@types/react': optional: true - use-isomorphic-layout-effect@1.2.0: - resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==} + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} peerDependencies: '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4441,14 +4841,14 @@ packages: resolution: {integrity: sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==} engines: {node: '>= 6'} - vite-plugin-babel@1.3.0: - resolution: {integrity: sha512-C5WKX0UwvQKH8WD2GiyWUjI62UBfLbfUhiLexnIm4asLdENX5ymrRipFlBnGeVxoOaYgTL5dh5KW6YDGpWsR8A==} + vite-plugin-babel@1.3.2: + resolution: {integrity: sha512-mEld4OVyuNs5+ISN+U5XyTnNcDwln/s2oER2m0PQ32YYPqPR25E3mfnhAA/RkZJxPuwFkprKWV405aZArE6kzA==} peerDependencies: '@babel/core': ^7.0.0 - vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - vite@6.2.7: - resolution: {integrity: sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4545,8 +4945,8 @@ packages: yoga-layout@3.2.1: resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: zod: ^3.24.1 @@ -4564,33 +4964,33 @@ packages: snapshots: - '@ai-sdk/provider-utils@2.2.1(zod@3.24.2)': + '@ai-sdk/provider-utils@2.2.8(zod@3.24.2)': dependencies: - '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider': 1.1.3 nanoid: 3.3.11 secure-json-parse: 2.7.0 zod: 3.24.2 - '@ai-sdk/provider@1.1.0': + '@ai-sdk/provider@1.1.3': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@1.2.2(react@19.0.0)(zod@3.24.2)': + '@ai-sdk/react@1.2.12(react@19.0.0)(zod@3.24.2)': dependencies: - '@ai-sdk/provider-utils': 2.2.1(zod@3.24.2) - '@ai-sdk/ui-utils': 1.2.1(zod@3.24.2) + '@ai-sdk/provider-utils': 2.2.8(zod@3.24.2) + '@ai-sdk/ui-utils': 1.2.11(zod@3.24.2) react: 19.0.0 swr: 2.3.3(react@19.0.0) throttleit: 2.1.0 optionalDependencies: zod: 3.24.2 - '@ai-sdk/ui-utils@1.2.1(zod@3.24.2)': + '@ai-sdk/ui-utils@1.2.11(zod@3.24.2)': dependencies: - '@ai-sdk/provider': 1.1.0 - '@ai-sdk/provider-utils': 2.2.1(zod@3.24.2) + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.8(zod@3.24.2) zod: 3.24.2 - zod-to-json-schema: 3.24.5(zod@3.24.2) + zod-to-json-schema: 3.24.6(zod@3.24.2) '@alloc/quick-lru@5.2.0': {} @@ -4605,8 +5005,16 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.28.0': {} + '@babel/core@7.26.10': dependencies: '@ampproject/remapping': 2.3.0 @@ -4627,6 +5035,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.28.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.27.0': dependencies: '@babel/parser': 7.27.0 @@ -4635,9 +5063,17 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/generator@7.28.0': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.28.1 '@babel/helper-compilation-targets@7.27.0': dependencies: @@ -4647,6 +5083,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.1 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.27.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4660,10 +5104,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-globals@7.28.0': {} + '@babel/helper-member-expression-to-functions@7.25.9': dependencies: '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color @@ -4674,6 +5120,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4683,12 +5136,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.28.1 '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4701,25 +5165,40 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/types': 7.28.1 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} + '@babel/helpers@7.27.0': dependencies: '@babel/template': 7.27.0 '@babel/types': 7.27.0 + '@babel/helpers@7.27.6': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + '@babel/parser@7.27.0': dependencies: '@babel/types': 7.27.0 + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.1 + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4728,26 +5207,34 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 '@babel/runtime@7.27.0': dependencies: regenerator-runtime: 0.14.1 + '@babel/runtime@7.27.6': {} + '@babel/template@7.27.0': dependencies: '@babel/code-frame': 7.26.2 '@babel/parser': 7.27.0 '@babel/types': 7.27.0 + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.1 + '@babel/traverse@7.27.0': dependencies: '@babel/code-frame': 7.26.2 @@ -4760,11 +5247,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.0': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/types': 7.28.1 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.27.0': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@codemirror/autocomplete@6.18.6': dependencies: '@codemirror/language': 6.11.0 @@ -4772,9 +5276,9 @@ snapshots: '@codemirror/view': 6.36.4 '@lezer/common': 1.2.3 - '@codemirror/commands@6.8.0': + '@codemirror/commands@6.8.1': dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.2 '@codemirror/state': 6.5.2 '@codemirror/view': 6.36.4 '@lezer/common': 1.2.3 @@ -4977,6 +5481,15 @@ snapshots: '@lezer/lr': 1.4.2 style-mod: 4.1.2 + '@codemirror/language@6.11.2': + dependencies: + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.4 + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + style-mod: 4.1.2 + '@codemirror/legacy-modes@6.5.0': dependencies: '@codemirror/language': 6.11.0 @@ -5028,7 +5541,7 @@ snapshots: '@codesandbox/sandpack-react@2.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@codemirror/autocomplete': 6.18.6 - '@codemirror/commands': 6.8.0 + '@codemirror/commands': 6.8.1 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-html': 6.4.9 '@codemirror/lang-javascript': 6.2.3 @@ -5082,144 +5595,222 @@ snapshots: '@esbuild/aix-ppc64@0.25.3': optional: true + '@esbuild/aix-ppc64@0.25.8': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.25.3': optional: true + '@esbuild/android-arm64@0.25.8': + optional: true + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.25.3': optional: true + '@esbuild/android-arm@0.25.8': + optional: true + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.25.3': optional: true + '@esbuild/android-x64@0.25.8': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.25.3': optional: true + '@esbuild/darwin-arm64@0.25.8': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.25.3': optional: true + '@esbuild/darwin-x64@0.25.8': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.25.3': optional: true + '@esbuild/freebsd-arm64@0.25.8': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/freebsd-x64@0.25.3': optional: true + '@esbuild/freebsd-x64@0.25.8': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm64@0.25.3': optional: true + '@esbuild/linux-arm64@0.25.8': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-arm@0.25.3': optional: true + '@esbuild/linux-arm@0.25.8': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-ia32@0.25.3': optional: true + '@esbuild/linux-ia32@0.25.8': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-loong64@0.25.3': optional: true + '@esbuild/linux-loong64@0.25.8': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-mips64el@0.25.3': optional: true + '@esbuild/linux-mips64el@0.25.8': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-ppc64@0.25.3': optional: true + '@esbuild/linux-ppc64@0.25.8': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-riscv64@0.25.3': optional: true + '@esbuild/linux-riscv64@0.25.8': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-s390x@0.25.3': optional: true + '@esbuild/linux-s390x@0.25.8': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/linux-x64@0.25.3': optional: true + '@esbuild/linux-x64@0.25.8': + optional: true + '@esbuild/netbsd-arm64@0.25.3': optional: true + '@esbuild/netbsd-arm64@0.25.8': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.25.3': optional: true + '@esbuild/netbsd-x64@0.25.8': + optional: true + '@esbuild/openbsd-arm64@0.25.3': optional: true + '@esbuild/openbsd-arm64@0.25.8': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.25.3': optional: true + '@esbuild/openbsd-x64@0.25.8': + optional: true + + '@esbuild/openharmony-arm64@0.25.8': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.25.3': optional: true + '@esbuild/sunos-x64@0.25.8': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.25.3': optional: true + '@esbuild/win32-arm64@0.25.8': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.25.3': optional: true + '@esbuild/win32-ia32@0.25.8': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true '@esbuild/win32-x64@0.25.3': optional: true + '@esbuild/win32-x64@0.25.8': + optional: true + '@eslint-community/eslint-utils@4.5.1(eslint@9.16.0(jiti@1.21.7))': dependencies: eslint: 9.16.0(jiti@1.21.7) @@ -5270,17 +5861,32 @@ snapshots: dependencies: '@floating-ui/utils': 0.2.9 + '@floating-ui/core@1.7.2': + dependencies: + '@floating-ui/utils': 0.2.10 + '@floating-ui/dom@1.6.13': dependencies: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 + '@floating-ui/dom@1.7.2': + dependencies: + '@floating-ui/core': 1.7.2 + '@floating-ui/utils': 0.2.10 + '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/dom': 1.6.13 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) + '@floating-ui/react-dom@2.1.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@floating-ui/dom': 1.7.2 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + '@floating-ui/react@0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -5289,9 +5895,19 @@ snapshots: react-dom: 19.0.0(react@19.0.0) tabbable: 6.2.0 + '@floating-ui/react@0.27.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@floating-ui/react-dom': 2.1.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@floating-ui/utils': 0.2.10 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + tabbable: 6.2.0 + + '@floating-ui/utils@0.2.10': {} + '@floating-ui/utils@0.2.9': {} - '@fontsource-variable/space-grotesk@5.2.6': {} + '@fontsource-variable/space-grotesk@5.2.8': {} '@formkit/auto-animate@0.8.2': {} @@ -5312,6 +5928,12 @@ snapshots: '@humanwhocodes/retry@0.4.2': {} + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5334,6 +5956,11 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.12': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -5346,156 +5973,162 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.4': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@lexical/clipboard@0.27.2': + '@jridgewell/trace-mapping@0.3.29': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.4 + + '@lexical/clipboard@0.32.1': dependencies: - '@lexical/html': 0.27.2 - '@lexical/list': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/html': 0.32.1 + '@lexical/list': 0.32.1 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/code@0.27.2': + '@lexical/code@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 prismjs: 1.30.0 - '@lexical/devtools-core@0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@lexical/devtools-core@0.32.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@lexical/html': 0.27.2 - '@lexical/link': 0.27.2 - '@lexical/mark': 0.27.2 - '@lexical/table': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/html': 0.32.1 + '@lexical/link': 0.32.1 + '@lexical/mark': 0.32.1 + '@lexical/table': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@lexical/dragon@0.27.2': + '@lexical/dragon@0.32.1': dependencies: - lexical: 0.27.2 + lexical: 0.32.1 - '@lexical/hashtag@0.27.2': + '@lexical/hashtag@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/history@0.27.2': + '@lexical/history@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/html@0.27.2': + '@lexical/html@0.32.1': dependencies: - '@lexical/selection': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/link@0.27.2': + '@lexical/link@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/list@0.27.2': + '@lexical/list@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/mark@0.27.2': + '@lexical/mark@0.32.1': dependencies: - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/markdown@0.27.2': + '@lexical/markdown@0.32.1': dependencies: - '@lexical/code': 0.27.2 - '@lexical/link': 0.27.2 - '@lexical/list': 0.27.2 - '@lexical/rich-text': 0.27.2 - '@lexical/text': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/code': 0.32.1 + '@lexical/link': 0.32.1 + '@lexical/list': 0.32.1 + '@lexical/rich-text': 0.32.1 + '@lexical/text': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/offset@0.27.2': + '@lexical/offset@0.32.1': dependencies: - lexical: 0.27.2 + lexical: 0.32.1 - '@lexical/overflow@0.27.2': + '@lexical/overflow@0.32.1': dependencies: - lexical: 0.27.2 + lexical: 0.32.1 - '@lexical/plain-text@0.27.2': + '@lexical/plain-text@0.32.1': dependencies: - '@lexical/clipboard': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/clipboard': 0.32.1 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/react@0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22)': + '@lexical/react@0.32.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22)': dependencies: - '@lexical/clipboard': 0.27.2 - '@lexical/code': 0.27.2 - '@lexical/devtools-core': 0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@lexical/dragon': 0.27.2 - '@lexical/hashtag': 0.27.2 - '@lexical/history': 0.27.2 - '@lexical/link': 0.27.2 - '@lexical/list': 0.27.2 - '@lexical/mark': 0.27.2 - '@lexical/markdown': 0.27.2 - '@lexical/overflow': 0.27.2 - '@lexical/plain-text': 0.27.2 - '@lexical/rich-text': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/table': 0.27.2 - '@lexical/text': 0.27.2 - '@lexical/utils': 0.27.2 - '@lexical/yjs': 0.27.2(yjs@13.6.22) - lexical: 0.27.2 + '@floating-ui/react': 0.27.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@lexical/devtools-core': 0.32.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@lexical/dragon': 0.32.1 + '@lexical/hashtag': 0.32.1 + '@lexical/history': 0.32.1 + '@lexical/link': 0.32.1 + '@lexical/list': 0.32.1 + '@lexical/mark': 0.32.1 + '@lexical/markdown': 0.32.1 + '@lexical/overflow': 0.32.1 + '@lexical/plain-text': 0.32.1 + '@lexical/rich-text': 0.32.1 + '@lexical/table': 0.32.1 + '@lexical/text': 0.32.1 + '@lexical/utils': 0.32.1 + '@lexical/yjs': 0.32.1(yjs@13.6.22) + lexical: 0.32.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-error-boundary: 3.1.4(react@19.0.0) transitivePeerDependencies: - yjs - '@lexical/rich-text@0.27.2': + '@lexical/rich-text@0.32.1': dependencies: - '@lexical/clipboard': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/clipboard': 0.32.1 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/selection@0.27.2': + '@lexical/selection@0.32.1': dependencies: - lexical: 0.27.2 + lexical: 0.32.1 - '@lexical/table@0.27.2': + '@lexical/table@0.32.1': dependencies: - '@lexical/clipboard': 0.27.2 - '@lexical/utils': 0.27.2 - lexical: 0.27.2 + '@lexical/clipboard': 0.32.1 + '@lexical/utils': 0.32.1 + lexical: 0.32.1 - '@lexical/text@0.27.2': + '@lexical/text@0.32.1': dependencies: - lexical: 0.27.2 + lexical: 0.32.1 - '@lexical/utils@0.27.2': + '@lexical/utils@0.32.1': dependencies: - '@lexical/list': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/table': 0.27.2 - lexical: 0.27.2 + '@lexical/list': 0.32.1 + '@lexical/selection': 0.32.1 + '@lexical/table': 0.32.1 + lexical: 0.32.1 - '@lexical/yjs@0.27.2(yjs@13.6.22)': + '@lexical/yjs@0.32.1(yjs@13.6.22)': dependencies: - '@lexical/offset': 0.27.2 - '@lexical/selection': 0.27.2 - lexical: 0.27.2 + '@lexical/offset': 0.32.1 + '@lexical/selection': 0.32.1 + lexical: 0.32.1 yjs: 13.6.22 '@lezer/common@1.2.3': {} @@ -5593,6 +6226,8 @@ snapshots: '@lingui/babel-plugin-extract-messages@5.3.0': {} + '@lingui/babel-plugin-extract-messages@5.3.3': {} + '@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2)': dependencies: '@babel/core': 7.26.10 @@ -5607,6 +6242,20 @@ snapshots: - supports-color - typescript + '@lingui/babel-plugin-lingui-macro@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2)': + dependencies: + '@babel/core': 7.28.0 + '@babel/runtime': 7.27.6 + '@babel/types': 7.28.1 + '@lingui/conf': 5.3.3(typescript@5.8.2) + '@lingui/core': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + '@lingui/message-utils': 5.3.3 + optionalDependencies: + babel-plugin-macros: 3.1.0 + transitivePeerDependencies: + - supports-color + - typescript + '@lingui/cli@5.3.0(typescript@5.8.2)': dependencies: '@babel/core': 7.26.10 @@ -5642,6 +6291,38 @@ snapshots: - supports-color - typescript + '@lingui/cli@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2)': + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/runtime': 7.27.6 + '@babel/types': 7.28.1 + '@lingui/babel-plugin-extract-messages': 5.3.3 + '@lingui/babel-plugin-lingui-macro': 5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2) + '@lingui/conf': 5.3.3(typescript@5.8.2) + '@lingui/core': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + '@lingui/format-po': 5.3.3(typescript@5.8.2) + '@lingui/message-utils': 5.3.3 + chokidar: 3.5.1 + cli-table: 0.3.11 + commander: 10.0.1 + convert-source-map: 2.0.0 + date-fns: 3.6.0 + esbuild: 0.25.8 + glob: 11.0.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + ora: 5.4.1 + picocolors: 1.1.1 + pofile: 1.1.4 + pseudolocale: 2.1.0 + source-map: 0.8.0-beta.0 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - typescript + '@lingui/conf@5.3.0(typescript@5.8.2)': dependencies: '@babel/runtime': 7.27.0 @@ -5653,6 +6334,16 @@ snapshots: transitivePeerDependencies: - typescript + '@lingui/conf@5.3.3(typescript@5.8.2)': + dependencies: + '@babel/runtime': 7.27.0 + cosmiconfig: 8.3.6(typescript@5.8.2) + jest-validate: 29.7.0 + jiti: 1.21.7 + picocolors: 1.1.1 + transitivePeerDependencies: + - typescript + '@lingui/core@5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -5662,6 +6353,22 @@ snapshots: '@lingui/babel-plugin-lingui-macro': 5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2) babel-plugin-macros: 3.1.0 + '@lingui/core@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)': + dependencies: + '@babel/runtime': 7.27.0 + '@lingui/message-utils': 5.3.3 + optionalDependencies: + '@lingui/babel-plugin-lingui-macro': 5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2) + babel-plugin-macros: 3.1.0 + + '@lingui/core@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)': + dependencies: + '@babel/runtime': 7.27.0 + '@lingui/message-utils': 5.3.3 + optionalDependencies: + '@lingui/babel-plugin-lingui-macro': 5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2) + babel-plugin-macros: 3.1.0 + '@lingui/format-po@5.3.0(typescript@5.8.2)': dependencies: '@lingui/conf': 5.3.0(typescript@5.8.2) @@ -5671,10 +6378,19 @@ snapshots: transitivePeerDependencies: - typescript - '@lingui/macro@5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0)': + '@lingui/format-po@5.3.3(typescript@5.8.2)': dependencies: - '@lingui/core': 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) - '@lingui/react': 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) + '@lingui/conf': 5.3.3(typescript@5.8.2) + '@lingui/message-utils': 5.3.3 + date-fns: 3.6.0 + pofile: 1.1.4 + transitivePeerDependencies: + - typescript + + '@lingui/macro@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0)': + dependencies: + '@lingui/core': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + '@lingui/react': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0) optionalDependencies: '@lingui/babel-plugin-lingui-macro': 5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2) babel-plugin-macros: 3.1.0 @@ -5686,120 +6402,128 @@ snapshots: '@messageformat/parser': 5.1.1 js-sha256: 0.10.1 - '@lingui/react@5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0)': + '@lingui/message-utils@5.3.3': + dependencies: + '@messageformat/parser': 5.1.1 + js-sha256: 0.10.1 + + '@lingui/react@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0)(react@19.0.0)': dependencies: '@babel/runtime': 7.27.0 - '@lingui/core': 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + '@lingui/core': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) react: 19.0.0 optionalDependencies: '@lingui/babel-plugin-lingui-macro': 5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2) babel-plugin-macros: 3.1.0 - '@lingui/swc-plugin@5.5.1(@lingui/core@5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0))': + '@lingui/swc-plugin@5.5.1(@lingui/core@5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0))': dependencies: - '@lingui/core': 5.3.0(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) + '@lingui/core': 5.3.3(@lingui/babel-plugin-lingui-macro@5.3.0(babel-plugin-macros@3.1.0)(typescript@5.8.2))(babel-plugin-macros@3.1.0) - '@lingui/vite-plugin@5.3.0(typescript@5.8.2)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': + '@lingui/vite-plugin@5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': dependencies: - '@lingui/cli': 5.3.0(typescript@5.8.2) - '@lingui/conf': 5.3.0(typescript@5.8.2) - vite: 6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) + '@lingui/cli': 5.3.3(babel-plugin-macros@3.1.0)(typescript@5.8.2) + '@lingui/conf': 5.3.3(typescript@5.8.2) + vite: 6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) transitivePeerDependencies: + - babel-plugin-macros - supports-color - typescript - '@mantine/charts@7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(recharts@2.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))': + '@mantine/charts@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(recharts@2.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))': dependencies: - '@mantine/core': 7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/hooks': 7.17.3(react@19.0.0) + '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.17.8(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) recharts: 2.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/colors-generator@7.17.3(chroma-js@3.1.2)': + '@mantine/colors-generator@7.17.8(chroma-js@3.1.2)': dependencies: chroma-js: 3.1.2 - '@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/hooks': 7.17.3(react@19.0.0) + '@mantine/hooks': 7.17.8(react@19.0.0) clsx: 2.1.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-number-format: 5.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-remove-scroll: 2.6.3(@types/react@19.0.12)(react@19.0.0) - react-textarea-autosize: 8.5.6(@types/react@19.0.12)(react@19.0.0) + react-textarea-autosize: 8.5.9(@types/react@19.0.12)(react@19.0.0) type-fest: 4.38.0 transitivePeerDependencies: - '@types/react' - '@mantine/dropzone@7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/dropzone@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/hooks': 7.17.3(react@19.0.0) + '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.17.8(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-dropzone-esm: 15.2.0(react@19.0.0) - '@mantine/hooks@7.17.3(react@19.0.0)': + '@mantine/hooks@7.17.8(react@19.0.0)': dependencies: react: 19.0.0 - '@mantine/modals@7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/modals@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/hooks': 7.17.3(react@19.0.0) + '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.17.8(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@mantine/notifications@7.17.3(@mantine/core@7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.3(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/notifications@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.17.8(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.17.3(@mantine/hooks@7.17.3(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/hooks': 7.17.3(react@19.0.0) - '@mantine/store': 7.17.3(react@19.0.0) + '@mantine/core': 7.17.8(@mantine/hooks@7.17.8(react@19.0.0))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.17.8(react@19.0.0) + '@mantine/store': 7.17.8(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-transition-group: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/store@7.17.3(react@19.0.0)': + '@mantine/store@7.17.8(react@19.0.0)': dependencies: react: 19.0.0 '@marijn/find-cluster-break@1.0.2': {} - '@mdxeditor/editor@3.29.1(@codemirror/language@6.11.0)(@lezer/highlight@1.2.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22)': + '@mdxeditor/editor@3.40.0(@codemirror/language@6.11.2)(@lezer/highlight@1.2.1)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22)': dependencies: + '@codemirror/commands': 6.8.1 '@codemirror/lang-markdown': 6.3.2 '@codemirror/language-data': 6.5.1 '@codemirror/merge': 6.10.0 '@codemirror/state': 6.5.2 '@codemirror/view': 6.36.4 '@codesandbox/sandpack-react': 2.20.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@lexical/clipboard': 0.27.2 - '@lexical/link': 0.27.2 - '@lexical/list': 0.27.2 - '@lexical/markdown': 0.27.2 - '@lexical/plain-text': 0.27.2 - '@lexical/react': 0.27.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22) - '@lexical/rich-text': 0.27.2 - '@lexical/selection': 0.27.2 - '@lexical/utils': 0.27.2 + '@lexical/clipboard': 0.32.1 + '@lexical/link': 0.32.1 + '@lexical/list': 0.32.1 + '@lexical/markdown': 0.32.1 + '@lexical/plain-text': 0.32.1 + '@lexical/react': 0.32.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(yjs@13.6.22) + '@lexical/rich-text': 0.32.1 + '@lexical/selection': 0.32.1 + '@lexical/utils': 0.32.1 '@mdxeditor/gurx': 1.2.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/colors': 3.0.0 - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-icons': 1.3.2(react@19.0.0) - '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-select': 2.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-toggle-group': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-toolbar': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-popover': 1.1.14(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-select': 2.2.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toggle-group': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toolbar': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-tooltip': 1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) classnames: 2.5.1 - cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/highlight@1.2.1) + cm6-theme-basic-light: 0.2.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/highlight@1.2.1) codemirror: 6.0.1 downshift: 7.6.2(react@19.0.0) js-yaml: 4.1.0 - lexical: 0.27.2 + lexical: 0.32.1 mdast-util-directive: 3.1.0 mdast-util-from-markdown: 2.0.2 mdast-util-frontmatter: 2.0.1 @@ -5822,7 +6546,7 @@ snapshots: micromark-util-symbol: 2.0.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-hook-form: 7.54.2(react@19.0.0) + react-hook-form: 7.60.0(react@19.0.0) unidiff: 1.0.4 transitivePeerDependencies: - '@codemirror/language' @@ -5862,95 +6586,95 @@ snapshots: '@radix-ui/colors@3.0.0': {} - '@radix-ui/number@1.1.0': {} + '@radix-ui/number@1.1.1': {} - '@radix-ui/primitive@1.1.1': {} + '@radix-ui/primitive@1.1.2': {} - '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-collection@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-context@1.1.1(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-dialog@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) - aria-hidden: 1.2.4 + '@radix-ui/react-dialog@1.1.14(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) + aria-hidden: 1.2.6 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.3(@types/react@19.0.12)(react@19.0.0) + react-remove-scroll: 2.7.1(@types/react@19.0.12)(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-direction@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: @@ -5961,262 +6685,270 @@ snapshots: dependencies: react: 19.0.0 - '@radix-ui/react-id@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-popover@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) - aria-hidden: 1.2.4 + '@radix-ui/react-popover@1.1.14(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) + aria-hidden: 1.2.6 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.3(@types/react@19.0.12)(react@19.0.0) + react-remove-scroll: 2.7.1(@types/react@19.0.12)(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-popper@1.2.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/rect': 1.1.0 + '@radix-ui/react-popper@1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@floating-ui/react-dom': 2.1.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/rect': 1.1.1 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-presence@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-select@2.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/number': 1.1.0 - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - aria-hidden: 1.2.4 + '@radix-ui/react-select@2.2.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + aria-hidden: 1.2.6 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.3(@types/react@19.0.12)(react@19.0.0) + react-remove-scroll: 2.7.1(@types/react@19.0.12)(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-separator@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-separator@1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-slot@1.1.2(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-toggle-group@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-toggle-group@1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-toggle': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toggle': 1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-toggle@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-toggle@1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-toolbar@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-toolbar@1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-separator': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-toggle-group': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-toggle-group': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-tooltip@1.1.8(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-tooltip@1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.0.12)(react@19.0.0)': dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/rect': 1.1.0 + '@radix-ui/rect': 1.1.1 react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-use-size@1.1.0(@types/react@19.0.12)(react@19.0.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.0.12)(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.0.12)(react@19.0.0) react: 19.0.0 optionalDependencies: '@types/react': 19.0.12 - '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 '@types/react-dom': 19.0.4(@types/react@19.0.12) - '@radix-ui/rect@1.1.0': {} + '@radix-ui/rect@1.1.1': {} '@react-hook/intersection-observer@3.1.2(react@19.0.0)': dependencies: @@ -6329,6 +7061,8 @@ snapshots: '@react-pdf/primitives': 4.1.1 '@react-pdf/stylesheet': 6.1.0 + '@rolldown/pluginutils@1.0.0-beta.27': {} + '@rollup/rollup-android-arm-eabi@4.40.1': optional: true @@ -6428,52 +7162,51 @@ snapshots: '@stitches/core@1.2.8': {} - '@swc/core-darwin-arm64@1.11.13': + '@swc/core-darwin-arm64@1.13.2': optional: true - '@swc/core-darwin-x64@1.11.13': + '@swc/core-darwin-x64@1.13.2': optional: true - '@swc/core-linux-arm-gnueabihf@1.11.13': + '@swc/core-linux-arm-gnueabihf@1.13.2': optional: true - '@swc/core-linux-arm64-gnu@1.11.13': + '@swc/core-linux-arm64-gnu@1.13.2': optional: true - '@swc/core-linux-arm64-musl@1.11.13': + '@swc/core-linux-arm64-musl@1.13.2': optional: true - '@swc/core-linux-x64-gnu@1.11.13': + '@swc/core-linux-x64-gnu@1.13.2': optional: true - '@swc/core-linux-x64-musl@1.11.13': + '@swc/core-linux-x64-musl@1.13.2': optional: true - '@swc/core-win32-arm64-msvc@1.11.13': + '@swc/core-win32-arm64-msvc@1.13.2': optional: true - '@swc/core-win32-ia32-msvc@1.11.13': + '@swc/core-win32-ia32-msvc@1.13.2': optional: true - '@swc/core-win32-x64-msvc@1.11.13': + '@swc/core-win32-x64-msvc@1.13.2': optional: true - '@swc/core@1.11.13(@swc/helpers@0.5.15)': + '@swc/core@1.13.2': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.20 + '@swc/types': 0.1.23 optionalDependencies: - '@swc/core-darwin-arm64': 1.11.13 - '@swc/core-darwin-x64': 1.11.13 - '@swc/core-linux-arm-gnueabihf': 1.11.13 - '@swc/core-linux-arm64-gnu': 1.11.13 - '@swc/core-linux-arm64-musl': 1.11.13 - '@swc/core-linux-x64-gnu': 1.11.13 - '@swc/core-linux-x64-musl': 1.11.13 - '@swc/core-win32-arm64-msvc': 1.11.13 - '@swc/core-win32-ia32-msvc': 1.11.13 - '@swc/core-win32-x64-msvc': 1.11.13 - '@swc/helpers': 0.5.15 + '@swc/core-darwin-arm64': 1.13.2 + '@swc/core-darwin-x64': 1.13.2 + '@swc/core-linux-arm-gnueabihf': 1.13.2 + '@swc/core-linux-arm64-gnu': 1.13.2 + '@swc/core-linux-arm64-musl': 1.13.2 + '@swc/core-linux-x64-gnu': 1.13.2 + '@swc/core-linux-x64-musl': 1.13.2 + '@swc/core-win32-arm64-msvc': 1.13.2 + '@swc/core-win32-ia32-msvc': 1.13.2 + '@swc/core-win32-x64-msvc': 1.13.2 '@swc/counter@0.1.3': {} @@ -6481,16 +7214,16 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/types@0.1.20': + '@swc/types@0.1.23': dependencies: '@swc/counter': 0.1.3 - '@tabler/icons-react@3.31.0(react@19.0.0)': + '@tabler/icons-react@3.34.1(react@19.0.0)': dependencies: - '@tabler/icons': 3.31.0 + '@tabler/icons': 3.34.1 react: 19.0.0 - '@tabler/icons@3.31.0': {} + '@tabler/icons@3.34.1': {} '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': dependencies: @@ -6500,11 +7233,11 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.17 - '@tanstack/query-core@5.69.2': {} + '@tanstack/query-core@5.83.0': {} - '@tanstack/react-query@5.69.2(react@19.0.0)': + '@tanstack/react-query@5.83.0(react@19.0.0)': dependencies: - '@tanstack/query-core': 5.69.2 + '@tanstack/query-core': 5.83.0 react: 19.0.0 '@tanstack/react-table@8.21.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': @@ -6590,7 +7323,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/lodash@4.17.16': {} + '@types/lodash@4.17.20': {} '@types/mdast@4.0.4': dependencies: @@ -6703,21 +7436,23 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-react-swc@3.8.1(@swc/helpers@0.5.15)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': + '@vitejs/plugin-react-swc@3.11.0(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': dependencies: - '@swc/core': 1.11.13(@swc/helpers@0.5.15) - vite: 6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@swc/core': 1.13.2 + vite: 6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.4(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': + '@vitejs/plugin-react@4.7.0(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0))': dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) + '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) + react-refresh: 0.17.0 + vite: 6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -6729,12 +7464,12 @@ snapshots: acorn@8.14.1: {} - ai@4.2.7(react@19.0.0)(zod@3.24.2): + ai@4.3.19(react@19.0.0)(zod@3.24.2): dependencies: - '@ai-sdk/provider': 1.1.0 - '@ai-sdk/provider-utils': 2.2.1(zod@3.24.2) - '@ai-sdk/react': 1.2.2(react@19.0.0)(zod@3.24.2) - '@ai-sdk/ui-utils': 1.2.1(zod@3.24.2) + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.8(zod@3.24.2) + '@ai-sdk/react': 1.2.12(react@19.0.0)(zod@3.24.2) + '@ai-sdk/ui-utils': 1.2.11(zod@3.24.2) '@opentelemetry/api': 1.9.0 jsondiffpatch: 0.6.0 zod: 3.24.2 @@ -6777,7 +7512,7 @@ snapshots: argparse@2.0.1: {} - aria-hidden@1.2.4: + aria-hidden@1.2.6: dependencies: tslib: 2.8.1 @@ -6793,10 +7528,10 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - axios@1.8.4(debug@4.4.0): + axios@1.11.0(debug@4.4.0): dependencies: follow-redirects: 1.15.9(debug@4.4.0) - form-data: 4.0.2 + form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -6859,6 +7594,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.4) + browserslist@4.25.1: + dependencies: + caniuse-lite: 1.0.30001727 + electron-to-chromium: 1.5.190 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.1) + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -6882,6 +7624,8 @@ snapshots: caniuse-lite@1.0.30001707: {} + caniuse-lite@1.0.30001727: {} + canvas@3.1.0: dependencies: node-addon-api: 7.1.1 @@ -6962,9 +7706,9 @@ snapshots: clsx@2.1.1: {} - cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/highlight@1.2.1): + cm6-theme-basic-light@0.2.0(@codemirror/language@6.11.2)(@codemirror/state@6.5.2)(@codemirror/view@6.36.4)(@lezer/highlight@1.2.1): dependencies: - '@codemirror/language': 6.11.0 + '@codemirror/language': 6.11.2 '@codemirror/state': 6.5.2 '@codemirror/view': 6.36.4 '@lezer/highlight': 1.2.1 @@ -6972,7 +7716,7 @@ snapshots: codemirror@6.0.1: dependencies: '@codemirror/autocomplete': 6.18.6 - '@codemirror/commands': 6.8.0 + '@codemirror/commands': 6.8.1 '@codemirror/language': 6.11.0 '@codemirror/lint': 6.8.5 '@codemirror/search': 6.5.10 @@ -7144,7 +7888,7 @@ snapshots: downshift@7.6.2(react@19.0.0): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 compute-scroll-into-view: 2.0.4 prop-types: 15.8.1 react: 19.0.0 @@ -7161,6 +7905,8 @@ snapshots: electron-to-chromium@1.5.128: {} + electron-to-chromium@1.5.190: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -7263,6 +8009,35 @@ snapshots: '@esbuild/win32-ia32': 0.25.3 '@esbuild/win32-x64': 0.25.3 + esbuild@0.25.8: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + escalade@3.2.0: {} escape-carriage@1.3.1: {} @@ -7423,6 +8198,10 @@ snapshots: dependencies: format: 0.2.2 + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -7472,11 +8251,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.2: + form-data@4.0.4: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 format@0.2.2: {} @@ -7551,6 +8331,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@11.0.3: + dependencies: + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + globals@11.12.0: {} globals@14.0.0: {} @@ -7728,6 +8517,10 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + jay-peg@1.1.1: dependencies: restructure: 3.0.2 @@ -7784,9 +8577,9 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lexical@0.27.2: {} + lexical@0.32.1: {} - lib0@0.2.105: + lib0@0.2.114: dependencies: isomorphic.js: 0.2.5 @@ -7855,7 +8648,7 @@ snapshots: markdown-table@3.0.4: {} - match-sorter@8.0.0: + match-sorter@8.0.3: dependencies: '@babel/runtime': 7.27.0 remove-accents: 0.5.0 @@ -8361,6 +9154,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@10.0.3: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -8419,7 +9216,7 @@ snapshots: node-abi@3.74.0: dependencies: - semver: 7.7.1 + semver: 7.7.2 optional: true node-addon-api@7.1.1: @@ -8515,7 +9312,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8556,6 +9353,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@2.3.0: {} pirates@4.0.7: {} @@ -8646,7 +9445,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.11(prettier@3.5.3): + prettier-plugin-tailwindcss@0.6.14(prettier@3.5.3): dependencies: prettier: 3.5.3 @@ -8719,13 +9518,17 @@ snapshots: react-error-boundary@3.1.4(react@19.0.0): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 react: 19.0.0 react-hook-form@7.54.2(react@19.0.0): dependencies: react: 19.0.0 + react-hook-form@7.60.0(react@19.0.0): + dependencies: + react: 19.0.0 + react-intersection-observer@9.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 @@ -8783,7 +9586,7 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-refresh@0.14.2: {} + react-refresh@0.17.0: {} react-remove-scroll-bar@2.3.8(@types/react@19.0.12)(react@19.0.0): dependencies: @@ -8804,6 +9607,17 @@ snapshots: optionalDependencies: '@types/react': 19.0.12 + react-remove-scroll@2.7.1(@types/react@19.0.12)(react@19.0.0): + dependencies: + react: 19.0.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.12)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.12)(react@19.0.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.0.12)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.12)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + react-router-dom@7.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 @@ -8836,9 +9650,9 @@ snapshots: optionalDependencies: '@types/react': 19.0.12 - react-textarea-autosize@8.5.6(@types/react@19.0.12)(react@19.0.0): + react-textarea-autosize@8.5.9(@types/react@19.0.12)(react@19.0.0): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 react: 19.0.0 use-composed-ref: 1.4.0(@types/react@19.0.12)(react@19.0.0) use-latest: 1.3.0(@types/react@19.0.12)(react@19.0.0) @@ -9004,6 +9818,9 @@ snapshots: semver@7.7.1: {} + semver@7.7.2: + optional: true + set-cookie-parser@2.7.1: {} shebang-command@2.0.0: @@ -9196,6 +10013,11 @@ snapshots: tiny-invariant@1.3.3: {} + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -9302,6 +10124,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.25.1): + dependencies: + browserslist: 4.25.1 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -9319,7 +10147,7 @@ snapshots: optionalDependencies: '@types/react': 19.0.12 - use-isomorphic-layout-effect@1.2.0(@types/react@19.0.12)(react@19.0.0): + use-isomorphic-layout-effect@1.2.1(@types/react@19.0.12)(react@19.0.0): dependencies: react: 19.0.0 optionalDependencies: @@ -9328,7 +10156,7 @@ snapshots: use-latest@1.3.0(@types/react@19.0.12)(react@19.0.0): dependencies: react: 19.0.0 - use-isomorphic-layout-effect: 1.2.0(@types/react@19.0.12)(react@19.0.0) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.0.12)(react@19.0.0) optionalDependencies: '@types/react': 19.0.12 @@ -9389,16 +10217,19 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - vite-plugin-babel@1.3.0(@babel/core@7.26.10)(vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)): + vite-plugin-babel@1.3.2(@babel/core@7.26.10)(vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0)): dependencies: '@babel/core': 7.26.10 - vite: 6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0) - vite@6.2.7(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0): + vite@6.3.5(@types/node@22.13.14)(jiti@1.21.7)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.7.0): dependencies: esbuild: 0.25.3 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.3 rollup: 4.40.1 + tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.13.14 fsevents: 2.3.3 @@ -9453,13 +10284,13 @@ snapshots: yjs@13.6.22: dependencies: - lib0: 0.2.105 + lib0: 0.2.114 yocto-queue@0.1.0: {} yoga-layout@3.2.1: {} - zod-to-json-schema@3.24.5(zod@3.24.2): + zod-to-json-schema@3.24.6(zod@3.24.2): dependencies: zod: 3.24.2 diff --git a/echo/frontend/pnpm-workspace.yaml b/echo/frontend/pnpm-workspace.yaml new file mode 100644 index 00000000..4216cb8c --- /dev/null +++ b/echo/frontend/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +onlyBuiltDependencies: + - '@swc/core' diff --git a/echo/frontend/src/Router.tsx b/echo/frontend/src/Router.tsx index 235c5587..a3d14b92 100644 --- a/echo/frontend/src/Router.tsx +++ b/echo/frontend/src/Router.tsx @@ -36,16 +36,6 @@ const ProjectsHomeRoute = createLazyNamedRoute( "ProjectsHomeRoute", ); -// Regular lazy-loaded routes -const ProjectResourceOverviewRoute = createLazyNamedRoute( - () => import("./routes/project/resource/ProjectResourceOverview"), - "ProjectResourceOverviewRoute", -); -const ProjectResourceAnalysisRoute = createLazyNamedRoute( - () => import("./routes/project/resource/ProjectResourceAnalysis"), - "ProjectResourceAnalysisRoute", -); - const ProjectLibraryRoute = createLazyNamedRoute( () => import("./routes/project/library/ProjectLibrary"), "ProjectLibraryRoute", @@ -195,10 +185,7 @@ export const mainRouter = createBrowserRouter([ path: "portal-editor", element: , }, - // { - // path: "transcript-settings", - // element: , - // }, + ], }, { diff --git a/echo/frontend/src/components/announcement/AnnouncementIcon.tsx b/echo/frontend/src/components/announcement/AnnouncementIcon.tsx index 3b0f0dc7..c70e8b6f 100644 --- a/echo/frontend/src/components/announcement/AnnouncementIcon.tsx +++ b/echo/frontend/src/components/announcement/AnnouncementIcon.tsx @@ -2,8 +2,8 @@ import { ActionIcon, Box, Group, Indicator, Loader, Text } from "@mantine/core"; import { IconSpeakerphone } from "@tabler/icons-react"; import { useLatestAnnouncement, useUnreadAnnouncements } from "./hooks"; import { useLanguage } from "@/hooks/useLanguage"; -import { useAnnouncementDrawer } from "@/hooks/useAnnouncementDrawer"; -import { getTranslatedContent } from "@/hooks/useProcessedAnnouncements"; +import { useAnnouncementDrawer } from "@/components/announcement/hooks"; +import { getTranslatedContent } from "@/components/announcement/hooks/useProcessedAnnouncements"; import { Markdown } from "@/components/common/Markdown"; export const AnnouncementIcon = () => { diff --git a/echo/frontend/src/components/announcement/Announcements.tsx b/echo/frontend/src/components/announcement/Announcements.tsx index ff94a281..25e9dd85 100644 --- a/echo/frontend/src/components/announcement/Announcements.tsx +++ b/echo/frontend/src/components/announcement/Announcements.tsx @@ -21,8 +21,8 @@ import { import { useLanguage } from "@/hooks/useLanguage"; import { AnnouncementSkeleton } from "./AnnouncementSkeleton"; import { AnnouncementDrawerHeader } from "./AnnouncementDrawerHeader"; -import { useProcessedAnnouncements } from "@/hooks/useProcessedAnnouncements"; -import { useAnnouncementDrawer } from "@/hooks/useAnnouncementDrawer"; +import { useProcessedAnnouncements } from "@/components/announcement/hooks/useProcessedAnnouncements"; +import { useAnnouncementDrawer } from "@/components/announcement/hooks"; import { IconAlertCircle, IconRefresh } from "@tabler/icons-react"; export const Announcements = () => { diff --git a/echo/frontend/src/components/announcement/TopAnnouncementBar.tsx b/echo/frontend/src/components/announcement/TopAnnouncementBar.tsx index a58aa3fd..15fd4236 100644 --- a/echo/frontend/src/components/announcement/TopAnnouncementBar.tsx +++ b/echo/frontend/src/components/announcement/TopAnnouncementBar.tsx @@ -10,10 +10,10 @@ import { IconAlertTriangle, IconX } from "@tabler/icons-react"; import { useLatestAnnouncement, useMarkAsReadMutation } from "./hooks"; import { theme } from "@/theme"; import { useState, useEffect } from "react"; -import { useAnnouncementDrawer } from "@/hooks/useAnnouncementDrawer"; +import { useAnnouncementDrawer } from "@/components/announcement/hooks"; import { useLanguage } from "@/hooks/useLanguage"; import { Markdown } from "@/components/common/Markdown"; -import { getTranslatedContent } from "@/hooks/useProcessedAnnouncements"; +import { getTranslatedContent } from "@/components/announcement/hooks/useProcessedAnnouncements"; import { toast } from "@/components/common/Toaster"; import { t } from "@lingui/core/macro"; diff --git a/echo/frontend/src/components/announcement/hooks/index.ts b/echo/frontend/src/components/announcement/hooks/index.ts index 098ea851..31bf3b1f 100644 --- a/echo/frontend/src/components/announcement/hooks/index.ts +++ b/echo/frontend/src/components/announcement/hooks/index.ts @@ -10,6 +10,8 @@ import { directus } from "@/lib/directus"; import { toast } from "@/components/common/Toaster"; import { t } from "@lingui/core/macro"; import { useCurrentUser } from "@/components/auth/hooks"; +import { useEffect } from "react"; +import useSessionStorageState from "use-session-storage-state"; export const useLatestAnnouncement = () => { const { data: currentUser } = useCurrentUser(); @@ -477,3 +479,29 @@ export const useUnreadAnnouncements = () => { staleTime: 1000 * 60 * 5, // 5 minutes }); }; + +export const useAnnouncementDrawer = () => { + const [isOpen, setIsOpen] = useSessionStorageState( + "announcement-drawer-open", + { + defaultValue: false, + }, + ); + + // Reset drawer state on page reload + useEffect(() => { + setIsOpen(false); + }, []); + + const open = () => setIsOpen(true); + const close = () => setIsOpen(false); + const toggle = () => setIsOpen(!isOpen); + + return { + isOpen, + setIsOpen, + open, + close, + toggle, + }; +}; \ No newline at end of file diff --git a/echo/frontend/src/hooks/useProcessedAnnouncements.ts b/echo/frontend/src/components/announcement/hooks/useProcessedAnnouncements.ts similarity index 91% rename from echo/frontend/src/hooks/useProcessedAnnouncements.ts rename to echo/frontend/src/components/announcement/hooks/useProcessedAnnouncements.ts index a90f3417..0aaa8fa4 100644 --- a/echo/frontend/src/hooks/useProcessedAnnouncements.ts +++ b/echo/frontend/src/components/announcement/hooks/useProcessedAnnouncements.ts @@ -13,6 +13,7 @@ export const getTranslatedContent = (announcement: Announcement, language: strin }; }; +// @FIXME: this doesn't need to be a hook, it can be a simple function, memo for a .find is overkill export function useProcessedAnnouncements( announcements: Announcement[], language: string, diff --git a/echo/frontend/src/hooks/useCopyAspect.tsx b/echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx similarity index 100% rename from echo/frontend/src/hooks/useCopyAspect.tsx rename to echo/frontend/src/components/aspect/hooks/useCopyAspect.tsx diff --git a/echo/frontend/src/hooks/useCopyQuote.ts b/echo/frontend/src/components/aspect/hooks/useCopyQuote.ts similarity index 100% rename from echo/frontend/src/hooks/useCopyQuote.ts rename to echo/frontend/src/components/aspect/hooks/useCopyQuote.ts diff --git a/echo/frontend/src/components/auth/hooks/index.ts b/echo/frontend/src/components/auth/hooks/index.ts index e21a8b48..22db3673 100644 --- a/echo/frontend/src/components/auth/hooks/index.ts +++ b/echo/frontend/src/components/auth/hooks/index.ts @@ -11,6 +11,8 @@ import { } from "@directus/sdk"; import { ADMIN_BASE_URL } from "@/config"; import { throwWithMessage } from "../utils/errorUtils"; +import { useEffect, useState } from "react"; +import { useLocation, useSearchParams } from "react-router-dom"; export const useCurrentUser = () => useQuery({ @@ -180,3 +182,36 @@ export const useLogoutMutation = () => { }, }); }; + +export const useAuthenticated = (doRedirect = false) => { + const logoutMutation = useLogoutMutation(); + const [loading, setLoading] = useState(false); + const [isAuthenticated, setIsAuthenticated] = useState(false); + const location = useLocation(); + const [searchParams] = useSearchParams(); + + const checkAuth = async () => { + try { + await directus.refresh(); + setIsAuthenticated(true); + } catch (e) { + setIsAuthenticated(false); + await logoutMutation.mutateAsync({ + next: location.pathname, + reason: searchParams.get("reason") ?? "", + doRedirect, + }); + } + }; + + useEffect(() => { + setLoading(true); + checkAuth() + .catch((_e) => {}) + .finally(() => { + setLoading(false); + }); + }, []); + + return { loading, isAuthenticated }; +}; diff --git a/echo/frontend/src/components/common/Protected.tsx b/echo/frontend/src/components/common/Protected.tsx index 81a4dc03..b65696ab 100644 --- a/echo/frontend/src/components/common/Protected.tsx +++ b/echo/frontend/src/components/common/Protected.tsx @@ -1,4 +1,4 @@ -import { useAuthenticated } from "@/hooks/useAuthenticated"; +import { useAuthenticated } from "@/components/auth/hooks"; import { Box, Container, LoadingOverlay } from "@mantine/core"; import { PropsWithChildren } from "react"; diff --git a/echo/frontend/src/components/layout/AuthLayout.tsx b/echo/frontend/src/components/layout/AuthLayout.tsx index 4b704ec9..688f23e3 100644 --- a/echo/frontend/src/components/layout/AuthLayout.tsx +++ b/echo/frontend/src/components/layout/AuthLayout.tsx @@ -4,7 +4,7 @@ import { Header } from "./Header"; import { Outlet, useNavigate, useSearchParams } from "react-router-dom"; import { PropsWithChildren, useEffect } from "react"; import { Toaster } from "../common/Toaster"; -import { useAuthenticated } from "@/hooks/useAuthenticated"; +import { useAuthenticated } from "@/components/auth/hooks"; import { useI18nNavigate } from "@/hooks/useI18nNavigate"; export const AuthLayout = (props: PropsWithChildren) => { diff --git a/echo/frontend/src/components/layout/Header.tsx b/echo/frontend/src/components/layout/Header.tsx index f0770364..818bed01 100644 --- a/echo/frontend/src/components/layout/Header.tsx +++ b/echo/frontend/src/components/layout/Header.tsx @@ -18,7 +18,7 @@ import { IconSettings, } from "@tabler/icons-react"; import { useCurrentUser, useLogoutMutation } from "@/components/auth/hooks"; -import { useAuthenticated } from "@/hooks/useAuthenticated"; +import { useAuthenticated } from "@/components/auth/hooks"; import { I18nLink } from "@/components/common/i18nLink"; import { LanguagePicker } from "../language/LanguagePicker"; import { useState, useEffect } from "react"; diff --git a/echo/frontend/src/components/layout/ProjectLayout.tsx b/echo/frontend/src/components/layout/ProjectLayout.tsx index ae9900ac..2901cd72 100644 --- a/echo/frontend/src/components/layout/ProjectLayout.tsx +++ b/echo/frontend/src/components/layout/ProjectLayout.tsx @@ -2,7 +2,7 @@ import { ActionIcon, Box } from "@mantine/core"; import { Outlet } from "react-router-dom"; import { ProjectSidebar } from "../project/ProjectSidebar"; import { Resizable } from "re-resizable"; -import { useSidebar } from "@/hooks/useSidebar"; +import { useSidebar } from "@/components/layout/hooks/useSidebar"; import { Icons } from "@/icons"; import { useMediaQuery } from "@mantine/hooks"; import { cn } from "@/lib/utils"; diff --git a/echo/frontend/src/hooks/useSidebar.tsx b/echo/frontend/src/components/layout/hooks/useSidebar.tsx similarity index 100% rename from echo/frontend/src/hooks/useSidebar.tsx rename to echo/frontend/src/components/layout/hooks/useSidebar.tsx diff --git a/echo/frontend/src/components/participant/ParticipantBody.tsx b/echo/frontend/src/components/participant/ParticipantBody.tsx index d1ee9e2f..3eace5c8 100644 --- a/echo/frontend/src/components/participant/ParticipantBody.tsx +++ b/echo/frontend/src/components/participant/ParticipantBody.tsx @@ -4,7 +4,7 @@ import { useConversationChunksQuery, useConversationRepliesQuery, useParticipantProjectById, -} from "@/lib/participantQuery"; +} from "@/components/participant/hooks"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PropsWithChildren, useEffect, useMemo, useRef } from "react"; @@ -18,11 +18,11 @@ import UserChunkMessage from "./UserChunkMessage"; import SpikeMessage from "./SpikeMessage"; import { ConnectionHealthStatus } from "../common/ConnectionHealthStatus"; import { useOnlineStatus } from "@/hooks/useOnlineStatus"; -import { useConversationsHealthStream } from "@/hooks/useConversationsHealthStream"; +import { useConversationsHealthStream } from "@/components/participant/hooks/useConversationsHealthStream"; import { IconExclamationCircle } from "@tabler/icons-react"; import { TipBanner } from "../common/TipBanner"; import { IconWifiOff } from "@tabler/icons-react"; -import { useConversationIssueBanner } from "@/hooks/useConversationIssueBanner"; +import { useConversationIssueBanner } from "@/components/participant/hooks/useConversationIssueBanner"; import { ENABLE_CONVERSATION_HEALTH } from "@/config"; export const ParticipantBody = ({ diff --git a/echo/frontend/src/components/participant/hooks/index.ts b/echo/frontend/src/components/participant/hooks/index.ts index 9f9a3419..1dd9e355 100644 --- a/echo/frontend/src/components/participant/hooks/index.ts +++ b/echo/frontend/src/components/participant/hooks/index.ts @@ -3,11 +3,16 @@ import { submitNotificationParticipant, uploadConversationChunk, uploadConversationText, + getParticipantConversationById, + getParticipantConversationChunks, + getParticipantProjectById, + getParticipantTutorialCardsBySlug, } from "@/lib/api"; import { directus } from "@/lib/directus"; -import { createItem } from "@directus/sdk"; +import { createItem, readItems } from "@directus/sdk"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { toast } from "@/components/common/Toaster"; +import { useQuery } from "@tanstack/react-query"; export const useCreateProjectReportMetricOncePerDayMutation = () => { return useMutation({ @@ -272,3 +277,73 @@ export const useSubmitNotificationParticipant = () => { }, }); }; + + +export const useParticipantProjectById = (projectId: string) => { + return useQuery({ + queryKey: ["participantProject", projectId], + queryFn: () => getParticipantProjectById(projectId), + }); +}; + +export const useParticipantTutorialCardBySlug = (slug: string) => { + return useQuery({ + queryKey: ["participantTutorialCard", slug], + queryFn: () => getParticipantTutorialCardsBySlug(slug), + select: (data) => (data.length > 0 ? data[0] : null), + enabled: slug !== "", + }); +}; + +export const combineUserChunks = ( + chunks: { type: "user_chunk"; timestamp: Date; data: TConversationChunk }[], +) => { + return { + type: "user_chunk" as const, + timestamp: chunks[0].timestamp, + data: { + ...chunks[0].data, + transcript: chunks.map((c) => c.data.transcript).join("..."), + }, + }; +}; + +export const useConversationRepliesQuery = (conversationId: string | undefined) => { + return useQuery({ + queryKey: ["participant", "conversation_replies", conversationId], + queryFn: () => + directus.request( + readItems("conversation_reply", { + filter: { conversation_id: { _eq: conversationId } }, + fields: ["id", "content_text", "date_created", "type"], + sort: ["date_created"], + }), + ), + enabled: !!conversationId, + // refetchInterval: 15000, + }); +}; + +export const useConversationQuery = ( + projectId: string | undefined, + conversationId: string | undefined, +) => { + return useQuery({ + queryKey: ["participant", "conversation", projectId, conversationId], + queryFn: () => getParticipantConversationById(projectId ?? "", conversationId ?? ""), + enabled: !!conversationId && !!projectId, + refetchInterval: 60000, + }); +}; + +export const useConversationChunksQuery = ( + projectId: string | undefined, + conversationId: string | undefined, +) => { + return useQuery({ + queryKey: ["participant", "conversation_chunks", conversationId], + queryFn: () => + getParticipantConversationChunks(projectId ?? "", conversationId ?? ""), + refetchInterval: 60000, + }); +}; \ No newline at end of file diff --git a/echo/frontend/src/hooks/useChunkedAudioRecorder.ts b/echo/frontend/src/components/participant/hooks/useChunkedAudioRecorder.ts similarity index 100% rename from echo/frontend/src/hooks/useChunkedAudioRecorder.ts rename to echo/frontend/src/components/participant/hooks/useChunkedAudioRecorder.ts diff --git a/echo/frontend/src/hooks/useConversationIssueBanner.ts b/echo/frontend/src/components/participant/hooks/useConversationIssueBanner.ts similarity index 100% rename from echo/frontend/src/hooks/useConversationIssueBanner.ts rename to echo/frontend/src/components/participant/hooks/useConversationIssueBanner.ts diff --git a/echo/frontend/src/hooks/useConversationsHealthStream.ts b/echo/frontend/src/components/participant/hooks/useConversationsHealthStream.ts similarity index 100% rename from echo/frontend/src/hooks/useConversationsHealthStream.ts rename to echo/frontend/src/components/participant/hooks/useConversationsHealthStream.ts diff --git a/echo/frontend/src/components/quote/Quote.tsx b/echo/frontend/src/components/quote/Quote.tsx index 2e8387ba..ccada219 100644 --- a/echo/frontend/src/components/quote/Quote.tsx +++ b/echo/frontend/src/components/quote/Quote.tsx @@ -2,7 +2,7 @@ import { Group, Paper, Pill, Text } from "@mantine/core"; import { useParams } from "react-router-dom"; import { I18nLink } from "../common/i18nLink"; import { cn } from "@/lib/utils"; -import { useCopyQuote } from "@/hooks/useCopyQuote"; +import { useCopyQuote } from "@/components/aspect/hooks/useCopyQuote"; import { CopyIconButton } from "../common/CopyIconButton"; import { useState } from "react"; import { ActionIcon, Tooltip } from "@mantine/core"; diff --git a/echo/frontend/src/components/resource/hooks/index.ts b/echo/frontend/src/components/resource/hooks/index.ts deleted file mode 100644 index 29b535db..00000000 --- a/echo/frontend/src/components/resource/hooks/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - deleteResourceById, - getResourceById, - updateResourceById, -} from "@/lib/api"; -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; -import { toast } from "@/components/common/Toaster"; - -export const useUpdateResourceByIdMutation = () => { - const queryClient = useQueryClient(); - return useMutation({ - mutationFn: updateResourceById, - onSuccess: (_values, variables) => { - queryClient.invalidateQueries({ - queryKey: ["resources", variables.id], - }); - queryClient.invalidateQueries({ - queryKey: ["projects"], - }); - toast.success("Resource updated successfully"); - }, - }); -}; - -export const useDeleteResourceByIdMutation = () => { - const queryClient = useQueryClient(); - return useMutation({ - mutationFn: deleteResourceById, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["projects"], - }); - queryClient.invalidateQueries({ - queryKey: ["resources"], - }); - toast.success("Resource deleted successfully"); - }, - }); -}; - -export const useResourceById = (resourceId: string) => { - return useQuery({ - queryKey: ["resources", resourceId], - queryFn: () => getResourceById(resourceId), - }); -}; diff --git a/echo/frontend/src/components/view/View.tsx b/echo/frontend/src/components/view/View.tsx index 2be5015f..37f6046b 100644 --- a/echo/frontend/src/components/view/View.tsx +++ b/echo/frontend/src/components/view/View.tsx @@ -14,7 +14,7 @@ import { AspectCard } from "../aspect/AspectCard"; import { useParams } from "react-router-dom"; import { Markdown } from "../common/Markdown"; import { I18nLink } from "../common/i18nLink"; -import { useCopyView } from "../../hooks/useCopyView"; +import { useCopyView } from "./hooks/useCopyView"; import { CopyIconButton } from "../common/CopyIconButton"; export const ViewCard = ({ data }: { data: View }) => { diff --git a/echo/frontend/src/hooks/useCopyView.tsx b/echo/frontend/src/components/view/hooks/useCopyView.tsx similarity index 100% rename from echo/frontend/src/hooks/useCopyView.tsx rename to echo/frontend/src/components/view/hooks/useCopyView.tsx diff --git a/echo/frontend/src/hooks/useAnnouncementDrawer.tsx b/echo/frontend/src/hooks/useAnnouncementDrawer.tsx deleted file mode 100644 index 9b4f6978..00000000 --- a/echo/frontend/src/hooks/useAnnouncementDrawer.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import useSessionStorageState from "use-session-storage-state"; -import { useEffect } from "react"; - -export const useAnnouncementDrawer = () => { - const [isOpen, setIsOpen] = useSessionStorageState( - "announcement-drawer-open", - { - defaultValue: false, - }, - ); - - // Reset drawer state on page reload - useEffect(() => { - setIsOpen(false); - }, []); - - const open = () => setIsOpen(true); - const close = () => setIsOpen(false); - const toggle = () => setIsOpen(!isOpen); - - return { - isOpen, - setIsOpen, - open, - close, - toggle, - }; -}; diff --git a/echo/frontend/src/hooks/useAuthenticated.tsx b/echo/frontend/src/hooks/useAuthenticated.tsx deleted file mode 100644 index 710dfcbe..00000000 --- a/echo/frontend/src/hooks/useAuthenticated.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { useEffect, useState } from "react"; -import { useLocation, useSearchParams } from "react-router-dom"; -import { directus } from "@/lib/directus"; -import { useLogoutMutation } from "@/components/auth/hooks"; - -export const useAuthenticated = (doRedirect = false) => { - const logoutMutation = useLogoutMutation(); - const [loading, setLoading] = useState(false); - const [isAuthenticated, setIsAuthenticated] = useState(false); - const location = useLocation(); - const [searchParams] = useSearchParams(); - - const checkAuth = async () => { - try { - await directus.refresh(); - setIsAuthenticated(true); - } catch (e) { - setIsAuthenticated(false); - await logoutMutation.mutateAsync({ - next: location.pathname, - reason: searchParams.get("reason") ?? "", - doRedirect, - }); - } - }; - - useEffect(() => { - setLoading(true); - checkAuth() - .catch((_e) => {}) - .finally(() => { - setLoading(false); - }); - }, []); - - return { loading, isAuthenticated }; -}; diff --git a/echo/frontend/src/lib/api.ts b/echo/frontend/src/lib/api.ts index db280f7e..0a73d756 100644 --- a/echo/frontend/src/lib/api.ts +++ b/echo/frontend/src/lib/api.ts @@ -1,3 +1,4 @@ +// @FIXME: this file must be decomposed into @/components/xxx/api/index.ts import { toast } from "@/components/common/Toaster"; import { API_BASE_URL, USE_PARTICIPANT_ROUTER } from "@/config"; import axios, { diff --git a/echo/frontend/src/lib/directus.ts b/echo/frontend/src/lib/directus.ts index 319b7b5f..ad044b35 100644 --- a/echo/frontend/src/lib/directus.ts +++ b/echo/frontend/src/lib/directus.ts @@ -20,13 +20,8 @@ export const directusContent = createDirectus( DIRECTUS_CONTENT_PUBLIC_URL, ).with(rest()); -// remove any http or https from the url -const directusBaseUrl = ((DIRECTUS_PUBLIC_URL as string) ?? "").replace( - /^(https?:\/\/)/, - "", -); - -// TODO: localization +// @TODO: this is not used as much? maybe an opportunity to standardize error handling? +// @TODO: localization export const getDirectusErrorString = (error: any, i18n?: I18n) => { if (error.errors && error.errors.length > 0) { return error.errors[0].message; diff --git a/echo/frontend/src/lib/participantQuery.ts b/echo/frontend/src/lib/participantQuery.ts deleted file mode 100644 index 014f0ad0..00000000 --- a/echo/frontend/src/lib/participantQuery.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { useQuery } from "@tanstack/react-query"; -import { - getParticipantConversationById, - getParticipantConversationChunks, - getParticipantProjectById, - getParticipantTutorialCardsBySlug, -} from "./api"; -import { directus } from "./directus"; -import { readItems } from "@directus/sdk"; - -export const useParticipantProjectById = (projectId: string) => { - return useQuery({ - queryKey: ["participantProject", projectId], - queryFn: () => getParticipantProjectById(projectId), - }); -}; - -export const useParticipantTutorialCardBySlug = (slug: string) => { - return useQuery({ - queryKey: ["participantTutorialCard", slug], - queryFn: () => getParticipantTutorialCardsBySlug(slug), - select: (data) => (data.length > 0 ? data[0] : null), - enabled: slug !== "", - }); -}; - -export const combineUserChunks = ( - chunks: { type: "user_chunk"; timestamp: Date; data: TConversationChunk }[], -) => { - return { - type: "user_chunk" as const, - timestamp: chunks[0].timestamp, - data: { - ...chunks[0].data, - transcript: chunks.map((c) => c.data.transcript).join("..."), - }, - }; -}; - -export const useConversationRepliesQuery = (conversationId: string | undefined) => { - return useQuery({ - queryKey: ["participant", "conversation_replies", conversationId], - queryFn: () => - directus.request( - readItems("conversation_reply", { - filter: { conversation_id: { _eq: conversationId } }, - fields: ["id", "content_text", "date_created", "type"], - sort: ["date_created"], - }), - ), - enabled: !!conversationId, - // refetchInterval: 15000, - }); -}; - -export const useConversationQuery = ( - projectId: string | undefined, - conversationId: string | undefined, -) => { - return useQuery({ - queryKey: ["participant", "conversation", projectId, conversationId], - queryFn: () => getParticipantConversationById(projectId ?? "", conversationId ?? ""), - enabled: !!conversationId && !!projectId, - refetchInterval: 60000, - }); -}; - -export const useConversationChunksQuery = ( - projectId: string | undefined, - conversationId: string | undefined, -) => { - return useQuery({ - queryKey: ["participant", "conversation_chunks", conversationId], - queryFn: () => - getParticipantConversationChunks(projectId ?? "", conversationId ?? ""), - refetchInterval: 60000, - }); -}; \ No newline at end of file diff --git a/echo/frontend/src/routes/participant/ParticipantConversation.tsx b/echo/frontend/src/routes/participant/ParticipantConversation.tsx index 1005468d..b7b30ed9 100644 --- a/echo/frontend/src/routes/participant/ParticipantConversation.tsx +++ b/echo/frontend/src/routes/participant/ParticipantConversation.tsx @@ -38,7 +38,7 @@ import { useConversationQuery, useConversationRepliesQuery, useParticipantProjectById, -} from "@/lib/participantQuery"; +} from "@/components/participant/hooks"; import { t } from "@lingui/core/macro"; import { Trans } from "@lingui/react/macro"; @@ -51,7 +51,7 @@ import { checkPermissionError, scrollToBottom } from "@/lib/utils"; import { useElementOnScreen } from "@/hooks/useElementOnScreen"; import { ScrollToBottomButton } from "@/components/common/ScrollToBottom"; import { API_BASE_URL } from "@/config"; -import useChunkedAudioRecorder from "@/hooks/useChunkedAudioRecorder"; +import useChunkedAudioRecorder from "@/components/participant/hooks/useChunkedAudioRecorder"; import MicrophoneTest from "../../components/participant/MicrophoneTest"; const DEFAULT_REPLY_COOLDOWN = 120; // 2 minutes in seconds diff --git a/echo/frontend/src/routes/participant/ParticipantPostConversation.tsx b/echo/frontend/src/routes/participant/ParticipantPostConversation.tsx index f0c81aa2..d29fffbb 100644 --- a/echo/frontend/src/routes/participant/ParticipantPostConversation.tsx +++ b/echo/frontend/src/routes/participant/ParticipantPostConversation.tsx @@ -3,7 +3,7 @@ import { t } from "@lingui/core/macro"; import { Trans } from "@lingui/react/macro"; import { I18nLink } from "@/components/common/i18nLink"; import { Markdown } from "@/components/common/Markdown"; -import { useParticipantProjectById } from "@/lib/participantQuery"; +import { useParticipantProjectById } from "@/components/participant/hooks"; import { Box, Button, diff --git a/echo/frontend/src/routes/participant/ParticipantStart.tsx b/echo/frontend/src/routes/participant/ParticipantStart.tsx index f11aa0f2..aac135bd 100644 --- a/echo/frontend/src/routes/participant/ParticipantStart.tsx +++ b/echo/frontend/src/routes/participant/ParticipantStart.tsx @@ -2,7 +2,7 @@ import { t } from "@lingui/core/macro"; import { useParticipantProjectById, useParticipantTutorialCardBySlug, -} from "@/lib/participantQuery"; +} from "@/components/participant/hooks"; import { useParams } from "react-router-dom"; import { useEffect } from "react"; import useSessionStorageState from "use-session-storage-state"; diff --git a/echo/frontend/src/routes/project/conversation/ProjectConversationOverview.tsx b/echo/frontend/src/routes/project/conversation/ProjectConversationOverview.tsx index 1fc4c1a7..b30e46b9 100644 --- a/echo/frontend/src/routes/project/conversation/ProjectConversationOverview.tsx +++ b/echo/frontend/src/routes/project/conversation/ProjectConversationOverview.tsx @@ -4,7 +4,6 @@ import { Group, LoadingOverlay, Stack, - Text, Title, Button, ActionIcon, @@ -12,10 +11,13 @@ import { } from "@mantine/core"; import { useParams } from "react-router-dom"; import { useProjectById } from "@/components/project/hooks"; -import { useConversationById, useConversationChunks } from "@/components/conversation/hooks"; +import { + useConversationById, + useConversationChunks, +} from "@/components/conversation/hooks"; import { ConversationEdit } from "@/components/conversation/ConversationEdit"; import { ConversationDangerZone } from "@/components/conversation/ConversationDangerZone"; -import { finishConversation, generateConversationSummary } from "@/lib/api"; +import { generateConversationSummary } from "@/lib/api"; import { IconRefresh } from "@tabler/icons-react"; import { t } from "@lingui/core/macro"; import { Markdown } from "@/components/common/Markdown"; @@ -52,14 +54,14 @@ export const ProjectConversationOverviewRoute = () => { const clipboard = useClipboard(); return ( - + {conversationChunksQuery.data && - conversationChunksQuery.data?.length > 0 && ( - + conversationChunksQuery.data?.length > 1 && ( + <> - + <Title order={3}> {(conversationQuery.data?.summary || (conversationQuery.data?.source && !conversationQuery.data.source @@ -69,7 +71,7 @@ export const ProjectConversationOverviewRoute = () => { <Group gap="sm"> {conversationQuery.data?.summary && ( <CopyIconButton - size={22} + size={23} onCopy={() => { clipboard.copy(conversationQuery.data?.summary ?? ""); }} @@ -87,7 +89,7 @@ export const ProjectConversationOverviewRoute = () => { ) && useHandleGenerateSummaryManually.mutate() } > - <IconRefresh size={22} color="gray" /> + <IconRefresh size={23} color="gray" /> </ActionIcon> </Tooltip> )} @@ -113,7 +115,7 @@ export const ProjectConversationOverviewRoute = () => { <div> <Button variant="outline" - className="-mt-[2rem]" + className="-mt-[3rem]" loading={useHandleGenerateSummaryManually.isPending} onClick={() => { useHandleGenerateSummaryManually.mutate(); @@ -124,14 +126,15 @@ export const ProjectConversationOverviewRoute = () => { </div> )} - <Divider /> + {conversationQuery.data?.summary || + (conversationQuery.data?.is_finished && <Divider />)} </> </Stack> )} {conversationQuery.data && projectQuery.data && ( <> - <Stack gap="1.5rem"> + <Stack gap="2.5rem"> <ConversationEdit key={conversationQuery.data.id} conversation={conversationQuery.data} @@ -141,7 +144,7 @@ export const ProjectConversationOverviewRoute = () => { <Divider /> - <Stack gap="1.5rem"> + <Stack gap="2.5rem"> <ConversationDangerZone conversation={conversationQuery.data} /> </Stack> </> diff --git a/echo/frontend/src/routes/project/library/ProjectLibraryAspect.tsx b/echo/frontend/src/routes/project/library/ProjectLibraryAspect.tsx index 76aa4cc0..3ae4f773 100644 --- a/echo/frontend/src/routes/project/library/ProjectLibraryAspect.tsx +++ b/echo/frontend/src/routes/project/library/ProjectLibraryAspect.tsx @@ -14,7 +14,7 @@ import { Markdown } from "@/components/common/Markdown"; import { useProjectById } from "@/components/project/hooks"; import { useAspectById } from "@/components/library/hooks"; import { Breadcrumbs } from "@/components/common/Breadcrumbs"; -import { useCopyAspect } from "@/hooks/useCopyAspect"; +import { useCopyAspect } from "@/components/aspect/hooks/useCopyAspect"; import { CopyIconButton } from "@/components/common/CopyIconButton"; import { sanitizeImageUrl } from "@/lib/utils"; diff --git a/echo/frontend/src/routes/project/library/ProjectLibraryView.tsx b/echo/frontend/src/routes/project/library/ProjectLibraryView.tsx index b8b8d229..7aa56adf 100644 --- a/echo/frontend/src/routes/project/library/ProjectLibraryView.tsx +++ b/echo/frontend/src/routes/project/library/ProjectLibraryView.tsx @@ -16,7 +16,7 @@ import { } from "@mantine/core"; import { useParams } from "react-router-dom"; import { CopyIconButton } from "@/components/common/CopyIconButton"; -import { useCopyView } from "@/hooks/useCopyView"; +import { useCopyView } from "@/components/view/hooks/useCopyView"; export const ProjectLibraryView = () => { const { projectId, viewId } = useParams(); diff --git a/echo/frontend/src/routes/project/resource/ProjectResourceAnalysis.tsx b/echo/frontend/src/routes/project/resource/ProjectResourceAnalysis.tsx deleted file mode 100644 index 2e3f5385..00000000 --- a/echo/frontend/src/routes/project/resource/ProjectResourceAnalysis.tsx +++ /dev/null @@ -1,11 +0,0 @@ -export const ProjectResourceAnalysisRoute = () => { - // iframe to https://quick-report-roer.vercel.app/ - return ( - <iframe - src="https://quick-report-roer.vercel.app/" - title="Resource Analysis" - width="100%" - height="600px" - ></iframe> - ); -}; diff --git a/echo/frontend/src/routes/project/resource/ProjectResourceOverview.tsx b/echo/frontend/src/routes/project/resource/ProjectResourceOverview.tsx deleted file mode 100644 index 69875bd1..00000000 --- a/echo/frontend/src/routes/project/resource/ProjectResourceOverview.tsx +++ /dev/null @@ -1,203 +0,0 @@ -import { Trans } from "@lingui/react/macro"; -import { useResourceById } from "@/components/resource/hooks"; -import { - useDeleteResourceByIdMutation, - useUpdateResourceByIdMutation, -} from "@/components/resource/hooks"; -import { - ActionIcon, - Box, - Button, - Divider, - Group, - LoadingOverlay, - Stack, - Text, - TextInput, - Textarea, - Title, - Tooltip, -} from "@mantine/core"; -import { useParams } from "react-router-dom"; -import { IconExternalLink, IconTrash } from "@tabler/icons-react"; -import { useForm } from "react-hook-form"; -import { useEffect } from "react"; -import { apiCommonConfig } from "@/lib/api"; -import { useI18nNavigate } from "@/hooks/useI18nNavigate"; -import { UnsavedChanges } from "@/components/form/UnsavedChanges"; - -const ResourceDangerZone = ({ resource }: { resource: TResource }) => { - const deleteResourceByIdMutation = useDeleteResourceByIdMutation(); - const navigate = useI18nNavigate(); - const { projectId } = useParams(); - - const handleDelete = () => { - if (window.confirm("Are you sure you want to delete this resource?")) { - deleteResourceByIdMutation.mutate(resource.id); - navigate(`/projects/` + projectId + "/overview"); - } - }; - - return ( - <Stack> - <Title order={2}>Danger Zone - - - - - ); -}; - -// type TResource = { -// id: string; -// created_at: Date; -// updated_at: Date; -// project_id: string; -// is_processed: boolean; -// type: string; -// original_filename: string; -// title: string; -// description?: string; -// context?: string; -// processing_error?: string; -// }; - -type ResourceEditFormValues = { - title: string; - description: string; - context: string; -}; - -const ResourceEdit = ({ resource }: { resource: TResource }) => { - const updateResourceMutation = useUpdateResourceByIdMutation(); - - const defaultValues: ResourceEditFormValues = { - title: resource.title ?? "", - description: resource.description ?? "", - context: resource.context ?? "", - }; - - const { - register, - handleSubmit, - formState: { isSubmitSuccessful, isDirty }, - getValues, - reset, - } = useForm({ - defaultValues, - }); - - useEffect(() => { - if (isSubmitSuccessful) { - reset(getValues()); - } - }, [getValues, isSubmitSuccessful, reset]); - - const onSubmit = (data: ResourceEditFormValues) => { - updateResourceMutation.mutate({ - id: resource.id, - update: data, - }); - }; - - return ( - - - - <Trans>Edit Resource</Trans> - - - -
- - -