From 87808621b9edb97c61f76475614d14727db275ae Mon Sep 17 00:00:00 2001 From: Aravind Date: Wed, 16 Sep 2026 20:11:27 +0530 Subject: [PATCH] first commit --- .dockerignore | 13 + .gitignore | 24 + .oxlintrc.json | 8 + Dockerfile | 32 + README.md | 117 + index.html | 19 + nginx.conf | 45 + package-lock.json | 4004 +++++++++++++++++ package.json | 52 + public/assets/krow-logo.png | Bin 0 -> 44124 bytes public/assets/owliver-orig.png | Bin 0 -> 6178 bytes public/assets/owliver.png | Bin 0 -> 26701 bytes src/App.tsx | 65 + src/components/home/CentralOwliver.tsx | 253 ++ .../home/GensparkCommandCapsule.tsx | 286 ++ src/components/home/GensparkSuiteBar.tsx | 273 ++ src/components/home/GensparkSuperCard.tsx | 110 + src/components/home/ShiftDispatchConsole.tsx | 228 + src/components/home/WorkforceBento.tsx | 421 ++ src/components/owliver/OwliverComposer.tsx | 81 + src/components/owliver/OwliverPanel.tsx | 217 + src/components/shared/DataTable.tsx | 196 + src/components/shared/MetricCard.tsx | 112 + src/components/shared/Page.tsx | 70 + src/components/shared/StatusBadge.tsx | 73 + src/components/shared/Toolbar.tsx | 55 + src/components/shell/AppShell.tsx | 178 + src/components/shell/Sidebar.tsx | 405 ++ src/components/shell/TopHeader.tsx | 159 + src/components/ui/avatar.tsx | 34 + src/components/ui/badge.tsx | 36 + src/components/ui/button.tsx | 52 + src/components/ui/card.tsx | 56 + src/components/ui/collapsible.tsx | 5 + src/components/ui/dropdown-menu.tsx | 71 + src/components/ui/input.tsx | 20 + src/components/ui/progress.tsx | 29 + src/components/ui/select.tsx | 73 + src/components/ui/separator.tsx | 22 + src/components/ui/sheet.tsx | 52 + src/components/ui/switch.tsx | 23 + src/components/ui/table.tsx | 75 + src/components/ui/tabs.tsx | 50 + src/components/ui/tooltip.tsx | 26 + src/config/navigation.ts | 205 + src/data/mockData.ts | 329 ++ src/data/selectors.ts | 135 + src/data/store.ts | 91 + src/data/types.ts | 204 + src/hooks/useLayoutMode.ts | 37 + src/hooks/useOwliverContext.ts | 26 + src/index.css | 308 ++ src/lib/utils.ts | 6 + src/main.tsx | 14 + src/owliver/OwliverProvider.tsx | 310 ++ src/owliver/blocks/BlockRenderer.tsx | 344 ++ src/owliver/blocks/ChartBlock.tsx | 95 + src/owliver/blocks/FlowDiagram.tsx | 80 + src/owliver/service.ts | 2134 +++++++++ src/owliver/types.ts | 97 + src/pages/AvailabilityPage.tsx | 191 + src/pages/BenefitsPage.tsx | 204 + src/pages/ClientsPage.tsx | 215 + src/pages/CompliancePage.tsx | 294 ++ src/pages/HomePage.tsx | 40 + src/pages/InvoicesPage.tsx | 200 + src/pages/MessagesPage.tsx | 200 + src/pages/OrdersPage.tsx | 319 ++ src/pages/PayrollPage.tsx | 269 ++ src/pages/PerformancePage.tsx | 241 + src/pages/ReportsPage.tsx | 237 + src/pages/SettingsPage.tsx | 470 ++ src/pages/StaffPage.tsx | 245 + src/pages/TasksPage.tsx | 249 + src/vite-env.d.ts | 1 + tsconfig.app.json | 21 + tsconfig.app.tsbuildinfo | 1 + tsconfig.json | 7 + tsconfig.node.json | 15 + tsconfig.node.tsbuildinfo | 1 + vite.config.ts | 14 + 81 files changed, 15969 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 .oxlintrc.json create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 index.html create mode 100644 nginx.conf create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/assets/krow-logo.png create mode 100644 public/assets/owliver-orig.png create mode 100644 public/assets/owliver.png create mode 100644 src/App.tsx create mode 100644 src/components/home/CentralOwliver.tsx create mode 100644 src/components/home/GensparkCommandCapsule.tsx create mode 100644 src/components/home/GensparkSuiteBar.tsx create mode 100644 src/components/home/GensparkSuperCard.tsx create mode 100644 src/components/home/ShiftDispatchConsole.tsx create mode 100644 src/components/home/WorkforceBento.tsx create mode 100644 src/components/owliver/OwliverComposer.tsx create mode 100644 src/components/owliver/OwliverPanel.tsx create mode 100644 src/components/shared/DataTable.tsx create mode 100644 src/components/shared/MetricCard.tsx create mode 100644 src/components/shared/Page.tsx create mode 100644 src/components/shared/StatusBadge.tsx create mode 100644 src/components/shared/Toolbar.tsx create mode 100644 src/components/shell/AppShell.tsx create mode 100644 src/components/shell/Sidebar.tsx create mode 100644 src/components/shell/TopHeader.tsx create mode 100644 src/components/ui/avatar.tsx create mode 100644 src/components/ui/badge.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/card.tsx create mode 100644 src/components/ui/collapsible.tsx create mode 100644 src/components/ui/dropdown-menu.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/progress.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/sheet.tsx create mode 100644 src/components/ui/switch.tsx create mode 100644 src/components/ui/table.tsx create mode 100644 src/components/ui/tabs.tsx create mode 100644 src/components/ui/tooltip.tsx create mode 100644 src/config/navigation.ts create mode 100644 src/data/mockData.ts create mode 100644 src/data/selectors.ts create mode 100644 src/data/store.ts create mode 100644 src/data/types.ts create mode 100644 src/hooks/useLayoutMode.ts create mode 100644 src/hooks/useOwliverContext.ts create mode 100644 src/index.css create mode 100644 src/lib/utils.ts create mode 100644 src/main.tsx create mode 100644 src/owliver/OwliverProvider.tsx create mode 100644 src/owliver/blocks/BlockRenderer.tsx create mode 100644 src/owliver/blocks/ChartBlock.tsx create mode 100644 src/owliver/blocks/FlowDiagram.tsx create mode 100644 src/owliver/service.ts create mode 100644 src/owliver/types.ts create mode 100644 src/pages/AvailabilityPage.tsx create mode 100644 src/pages/BenefitsPage.tsx create mode 100644 src/pages/ClientsPage.tsx create mode 100644 src/pages/CompliancePage.tsx create mode 100644 src/pages/HomePage.tsx create mode 100644 src/pages/InvoicesPage.tsx create mode 100644 src/pages/MessagesPage.tsx create mode 100644 src/pages/OrdersPage.tsx create mode 100644 src/pages/PayrollPage.tsx create mode 100644 src/pages/PerformancePage.tsx create mode 100644 src/pages/ReportsPage.tsx create mode 100644 src/pages/SettingsPage.tsx create mode 100644 src/pages/StaffPage.tsx create mode 100644 src/pages/TasksPage.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.app.tsbuildinfo create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 tsconfig.node.tsbuildinfo create mode 100644 vite.config.ts diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d606c83 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,13 @@ +node_modules +dist +dist-ssr +.git +.gitignore +*.tsbuildinfo +*.log +.DS_Store +.vscode +.idea +Dockerfile +.dockerignore +README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..1255078 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["react", "oxc"], + "rules": { + "react/rules-of-hooks": "error", + "react/only-export-components": ["warn", { "allowConstantExport": true }] + } +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f95eb54 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +# ---- Stage 1: build the Vite app ---- +FROM node:22-alpine AS build + +WORKDIR /app + +# Install dependencies from the lockfile first so this layer is cached +# as long as package.json / package-lock.json are unchanged. +COPY package.json package-lock.json ./ +RUN npm ci + +# Build the static bundle into /app/dist +COPY . . +RUN npm run build + +# ---- Stage 2: serve with Nginx ---- +FROM nginx:alpine + +# Drop Nginx's default "Welcome" page +RUN rm -rf /usr/share/nginx/html/* + +# Vite outputs to "dist", not "build" +COPY --from=build /app/dist /usr/share/nginx/html + +# Files under public/ keep their source permissions through the build, so +# normalize them: anything not world-readable is a 403 from the nginx worker. +RUN chmod -R a+rX /usr/share/nginx/html + +COPY nginx.conf /etc/nginx/nginx.conf + +EXPOSE 80 3000 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..c94da14 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# KROW Workforce — redesign demo + +A complete redesign prototype of the KROW Workforce product with Owliver, the +workforce-intelligence panel, built in. + +Everything is local. There is no backend, API, database, authentication or +outbound network call — all figures come from a single typed mock-data module. + +## Running it + +```bash +npm install +npm run dev # http://localhost:5173 +npm run build # production build +npm run typecheck # tsc --noEmit +npm run lint # oxlint +``` + +## Stack + +Vite · React 19 · TypeScript · Tailwind CSS v4 · shadcn/ui-style components on +Radix · Lucide · Recharts · TanStack Table v9 · React Router. + +## Layout + +One CSS grid (`.app-shell` in `src/index.css`): + +``` +┌──────────────────────────────────────────────┐ +│ sidebar │ GLOBAL HEADER (64px) │ +│ (full ├────────────────────┬─────────────┤ +│ height) │ MAIN CONTENT │ OWLIVER │ +└───────────┴────────────────────┴─────────────┘ +``` + +The header spans main + Owliver only; the sidebar owns the full viewport +height and all navigation. Owliver sits in its own rail on row 2, so it can +never overlap or be clipped by the header. + +**Breakpoints** — desktop ≥1280: all three columns. Tablet 768–1279: icon rail +plus main, Owliver becomes an overlay. Mobile <768: sidebar becomes a drawer +(with the complete navigation, nothing removed), Owliver a bottom sheet. + +## Structure + +``` +src/ + config/navigation.ts information architecture (mirrors the vendor workspace) + data/ types, mockData, selectors, store + owliver/ block types, response engine, block renderers + components/shell/ AppShell, Sidebar, TopHeader + components/owliver/ panel + composer + components/shared/ MetricCard, DataTable, Page, Toolbar, StatusBadge + components/ui/ Radix-based primitives + pages/ the fourteen product pages +``` + +`src/data/mockData.ts` is the single source of truth and `selectors.ts` derives +every computed figure, so a number on a KPI card and the same number quoted by +Owliver cannot disagree. + +## Home + +Home is an AI workspace rather than a dashboard. The hierarchy is greeting → +central Owliver card → quick actions → compact metrics → Today. + +Performance content (utilisation, trends, attendance, performance health) +deliberately does **not** appear on Home — it lives on the Performance page, +which remains complete. + +## Owliver + +**One Owliver per page, never two.** Home shows the central card and no right +rail; every other page shows the right rail and no central card. On Home the +grid drops to two columns, so main reflows into the space rather than leaving an +empty rail behind — and the rail stays hidden on Home even if it was left open +elsewhere. + +That means the central card owns the whole interaction on Home: it holds the +conversation, the composer and the suggestions, and an answer appears inside +that thread. Replies are typed block lists rendered as real components — text, +metric cards, alerts, tables, charts, a staff-allocation flow diagram, +recommendations, expandable details and working action buttons. + +Home's thread starts empty (an invitation to ask). Every other page opens with a +greeting, its own brief and one seeded exchange, so the You / Owliver +distinction is legible straight away. + +State lives in `OwliverProvider`, above the panel, which gives two properties +the panel could not provide on its own: + +- **History survives closing.** Collapsing the rail, or the tablet/mobile sheet + unmounting, no longer discards the conversation. +- **Each page keeps its own thread.** Navigating switches context instead of + leaving Home's answers on the Payroll page; returning to a page restores what + was asked there. + +Responses are deterministic and delayed 500–900 ms behind a typing indicator. +**Resolve Understaffed Shifts** mutates the shared data, so the greeting, the +metrics and the sidebar badges all update behind the panel. + +## Shell controls + +The sidebar collapses to a 72px icon rail (labels become tooltips; active state +and badges are preserved) and Owliver closes so main reclaims its column. Both +are driven by `data-sidebar` / `data-owliver` attributes on the grid container, +so the layout reflows rather than overlaying. + +## Notes for future work + +Two bugs worth remembering, both fixed here: + +- Passing a fresh `state` / `initialState` object to TanStack Table v9's + `useTable` on every render makes its store notify → re-render → notify. + Both are memoised in `DataTable.tsx`. +- Loading the whole app in one chunk blocked first paint long enough to look + like a hang on heavier routes. Pages are lazy-loaded in `App.tsx`. diff --git a/index.html b/index.html new file mode 100644 index 0000000..e229b49 --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + KROW Workforce + + +
+ + + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..78819b9 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,45 @@ +worker_processes auto; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + sendfile on; + tcp_nopush on; + keepalive_timeout 65; + + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_proxied any; + gzip_types text/plain text/css text/javascript application/javascript application/json image/svg+xml font/woff2; + + server { + listen 80; + listen 3000; + server_name localhost; + + root /usr/share/nginx/html; + index index.html; + + # Hashed build output is immutable, so cache it hard. + location /assets/ { + add_header Cache-Control "public, max-age=31536000, immutable"; + try_files $uri =404; + } + + # Never cache the shell: it points at the current hashed assets. + location = /index.html { + add_header Cache-Control "no-cache, no-store, must-revalidate"; + } + + # Hand unknown paths to React Router. + location / { + try_files $uri $uri/ /index.html; + } + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..cffa6bf --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4004 @@ +{ + "name": "krow-owliver-demo", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "krow-owliver-demo", + "version": "0.0.0", + "dependencies": { + "@radix-ui/react-avatar": "^1.2.6", + "@radix-ui/react-checkbox": "^1.3.11", + "@radix-ui/react-collapsible": "^1.1.20", + "@radix-ui/react-dialog": "^1.1.23", + "@radix-ui/react-dropdown-menu": "^2.1.24", + "@radix-ui/react-label": "^2.1.15", + "@radix-ui/react-popover": "^1.1.23", + "@radix-ui/react-progress": "^1.1.16", + "@radix-ui/react-scroll-area": "^1.2.18", + "@radix-ui/react-select": "^2.3.7", + "@radix-ui/react-separator": "^1.1.15", + "@radix-ui/react-slot": "^1.3.3", + "@radix-ui/react-switch": "^1.3.7", + "@radix-ui/react-tabs": "^1.1.21", + "@radix-ui/react-tooltip": "^1.2.16", + "@tailwindcss/vite": "^4.3.3", + "@tanstack/react-table": "^9.2.4", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^13.3.0", + "lucide-react": "^1.46.0", + "react": "^19.2.8", + "react-dom": "^19.2.8", + "react-router-dom": "^7.18.4", + "recharts": "^3.10.1", + "tailwind-merge": "^3.7.0", + "tailwindcss": "^4.3.3", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^22.20.3", + "@types/react": "^19.2.18", + "@types/react-dom": "^19.2.7", + "@vitejs/plugin-react": "^6.1.1", + "oxlint": "^1.81.0", + "typescript": "^7.0.2", + "vite": "^8.3.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", + "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", + "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.8.0", + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.9.tgz", + "integrity": "sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.8.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", + "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", + "license": "MIT" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.149.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.149.0.tgz", + "integrity": "sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/oxc-project" + } + }, + "node_modules/@oxlint/binding-android-arm-eabi": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.83.0.tgz", + "integrity": "sha512-0yGY24EwsLk5YDe6F+VkmZyRHSwJDALa3nIrPpq7FXmp2lV2d0TzvBCGeZk+wgiULRGr5blhyr4QMp5KCXJUqA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-android-arm64": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.83.0.tgz", + "integrity": "sha512-hHfJ0vc17A4iUjH5p9BsTUPYbYRNxGpvD2lbu1aBRk54bzNIx9o5TtYF39QPZcV95DagZd+4DEAw2RH3G2ZsMg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-darwin-arm64": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.83.0.tgz", + "integrity": "sha512-hsOjYjszLb/3zym/TkzUMPAoQlTJcuzSyEPOAyA+skXJIX9M0o+4JfOtqopX/Vf4hSLrJ98j0nvFo23gzk8auQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-darwin-x64": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.83.0.tgz", + "integrity": "sha512-mjh5oH2EA+wl5yRJYT9K9G61O2zFlpuv+yf2JwZOi0+dq2FnTUtm1h8i+5Ik0fXPWIu/k84I1psZR9aQsLAnyA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-freebsd-x64": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.83.0.tgz", + "integrity": "sha512-fNHr64/YaO8YssuoDVC8+F4Uk5enR86q5uxfHkQrjAPs1dbAILOrD2uaud+J7MO8Fx774g44ERLD0IGIvZE48w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm-gnueabihf": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.83.0.tgz", + "integrity": "sha512-Qpwy3zzAwMj+8/lyYItHmkSMwbkprFNWTK7jPYDOxSyxEhaSLOWYUTCMkjF334J8/WD0nznCCsoBbIH6hpsuIw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm-musleabihf": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.83.0.tgz", + "integrity": "sha512-s+BirYLFq7JL2k9sP0XI3ZXJ9dYvJ8sX3jLCLoag7tt+zrSHpZxP0jqznfL+Gdgwu7ay0dYgGYJXrQvq3iWloA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm64-gnu": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.83.0.tgz", + "integrity": "sha512-7lihXt3vKr+GIyapNbHrnFHm/biiW30le6Zv/DExbAFPF6YwCQXVFlONPFehxs0CpGO4CBfYPM9rdDT+XMoIlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm64-musl": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.83.0.tgz", + "integrity": "sha512-q63JalLYVkZiZvls1z3PPUnpmQluOMXp0khqQMznCeAPLGydfNY8JhvuA4WlK57JfrvikU8wB5lPVveqpIXvew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-ppc64-gnu": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.83.0.tgz", + "integrity": "sha512-krQmDF+dRbxvdqVPV88ZuOoPPu8X5BuqDA8Hd+qcS4YMRQCb+nexA57DazgGsc/rGdKBe3QmV0mnv0bdpW/p5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-riscv64-gnu": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.83.0.tgz", + "integrity": "sha512-MmOl8Y6txEAXZU1RG8Rr264jQ6D7VPmqFsU/45x/FeWsGe32hklTqGrLE6UxHzp5Rjt0wP+20tY8YXKgSFB3mw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-riscv64-musl": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.83.0.tgz", + "integrity": "sha512-u1rMymh0W3JZkq370kzQsYPULGWqhE09pZRqnZvUSoYaI9pVO5yVX+iYIslmWuEgwuzH9YAaOsScJiobWCHoOw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-s390x-gnu": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.83.0.tgz", + "integrity": "sha512-y0zK3HNwGysu7rqtE+BQG/d0bx5gh/KwlOtghN8oWeK1KcWzeaLqtZrbm8owqdma1lFyrce/hTO5ismuNu+INQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-x64-gnu": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.83.0.tgz", + "integrity": "sha512-rS5gM0NgD7ngmuJmbIehsidtrOwKkLFwCQbKEeb9KuyQrrWNq5Zkn0uV6AYdXOMJ0grrWEiLwBuvMxt8w5vsNw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-x64-musl": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.83.0.tgz", + "integrity": "sha512-W2IH4EtpcPaWcvNGCA95YoDg4vxqE/ZiPCi3arrxEEpsK7+JQN9WYwrlYFx9pcdP6KPXqRqkv3zdQPHcx7b6YQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-openharmony-arm64": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.83.0.tgz", + "integrity": "sha512-6LyKkUyoajssTPLlZmDbZIbu4IZ5B4bGuRUnBgCGpEvHP3FQMaYITncHA/unPUo7q+Z+pIu2HhdkQ+8d1SG7iA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-arm64-msvc": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.83.0.tgz", + "integrity": "sha512-Uz/fObEtF0jmNJQJ8CGRBKfefYstS0/wjD3s6IGzP8nUwsJykHQJBiN3npHwKiGRGn/vvBEgNr4B3cCzmmatvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-ia32-msvc": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.83.0.tgz", + "integrity": "sha512-u7XcvPW6Bk58tY5iWs2ESb0vJjoE/kuSpHxopbwp/p3ZtWVQXZ6wor5w3ssVTHOqd/v8b+QdhSFWQ4grEUNWpA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-x64-msvc": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.83.0.tgz", + "integrity": "sha512-LZRubd7ph13QmAg4fFecTYVZkiYbROR2Htaxh/ufWRkDhPOm2wrwaEYR89e0YpPFD3dqBrPoxS7myBw5hmYA7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.3.tgz", + "integrity": "sha512-Road2bidD0uu/1BGDOWNdPI06g0lIRy6IF9GZcIrDK2KGItfor8IQwQa+yM2ERgHM1MmHxaxpTzk0/Jp42lNfA==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.7.tgz", + "integrity": "sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.15.tgz", + "integrity": "sha512-v4zggRcjadnI+ClKDuijlQEW4tw3NoaeHc/PwpKnLoLLKNUG4InLegkstooLcRIUWCs+8L22dGURCVuFfOKfnA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.10" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.2.6.tgz", + "integrity": "sha512-4ULOTJ/mqy2hT9GlWa/MFHxHSvH3nJzHnZM1waNsc5Bonv7i70aNenghXmD97S6OJ81ekXONGGt4nT1r0PfEdA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-is-hydrated": "0.1.3", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.11.tgz", + "integrity": "sha512-Gnptr9pDDQxD3hgq2dtPbtrp/c2qH1mBwIzw3X/ivrMb2e1t0jMTi606fVEqFPaQR1ggXIVQWKj3P2WW9v7zGQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-size": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.20.tgz", + "integrity": "sha512-mcGesGplBnzN2sbvJETzpCNfSMyPnb29q1GRLU+Ib7bJrpIG2ywmRoh2V5VbA2uNvKikKUlVbAPks7JDjz4A8Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.15.tgz", + "integrity": "sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-slot": "1.3.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.5.tgz", + "integrity": "sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.2.2.tgz", + "integrity": "sha512-RHCUGwKHDr0hDGg4X7ma4JG4/+12qxw8rkh5QKdDldlCvtja6nUx1Ef/8HVrJze81lEsgLQlqjzjGNHantgnQA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.23", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.23.tgz", + "integrity": "sha512-Ksw4WeROkO4rC9k/onilX/Ao2Cr1ku1unMNH+XSCcP4jSXYu7HDsg9n4ojMjVb22XpYjAQ9qfrFlVbru1vXDUA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-dismissable-layer": "1.1.19", + "@radix-ui/react-focus-guards": "1.1.6", + "@radix-ui/react-focus-scope": "1.1.16", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-portal": "1.1.17", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-slot": "1.3.3", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-layout-effect": "1.1.4", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.7.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.4.tgz", + "integrity": "sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.19.tgz", + "integrity": "sha512-8g4pfOL9HoKKLWGiypT+dphVqjFfmcXO5GBnhsG6zI+lxAx/8feQpr+1LSN8Re3hiZ+XkLNS4O9ztK11/LzQ6w==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-effect-event": "0.0.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.24.tgz", + "integrity": "sha512-geq8l2rJkxvkXsT9RMgtUE3P8pITFpTsvYpbySi1IH4fZEABD/Gp85myayFgxk0ktljGMJnCbeFkyTusvSvv7g==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-menu": "2.1.24", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-controllable-state": "1.2.6" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.6.tgz", + "integrity": "sha512-RNOJjfZMTyBM6xYmV3IVGXkPjIhcBAuv48POevAXwrGJhkWZ9p1rFoIS1JFooPuT193AZmRsCPhpoVJxx6OPoQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.16.tgz", + "integrity": "sha512-wmRZ2WWLvmt6KHy2rNPOdPUjwq5xOHY02+m+udwJTn0aNIox/rkskAvJTyTLGhPK6KgrUjlJUJpgmx/+wFiFIQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.4.tgz", + "integrity": "sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.15.tgz", + "integrity": "sha512-o/rdYEwZTTo5tjknnPeyQFU45kUC4i/XyeDPP+HGyi6XqpOP6Zf5Ya5vh/Yfe9Id5JiuWnnAx2XqIeD3UYZt0g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.10" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.24.tgz", + "integrity": "sha512-uW7RVuU6Lp/ZtfeY4b3kL32zccgEWvPv1+cf17ubYzHa9cL8AHokmk36cG/XEiH/smbQvumnieXX9j/e9RqJWA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-collection": "1.1.15", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-direction": "1.1.4", + "@radix-ui/react-dismissable-layer": "1.1.19", + "@radix-ui/react-focus-guards": "1.1.6", + "@radix-ui/react-focus-scope": "1.1.16", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-popper": "1.3.7", + "@radix-ui/react-portal": "1.1.17", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-roving-focus": "1.1.19", + "@radix-ui/react-slot": "1.3.3", + "@radix-ui/react-use-callback-ref": "1.1.4", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.7.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.23", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.23.tgz", + "integrity": "sha512-mw58MrBlyHWFisTOYignD0vf/3gdcgAR+9of1s9G/38CbFiUwH1nCDkc0AUM9IrXFgN5Ue8n45j9WCgyM1sbiQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-dismissable-layer": "1.1.19", + "@radix-ui/react-focus-guards": "1.1.6", + "@radix-ui/react-focus-scope": "1.1.16", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-popper": "1.3.7", + "@radix-ui/react-portal": "1.1.17", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-slot": "1.3.3", + "@radix-ui/react-use-controllable-state": "1.2.6", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.7.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.3.7.tgz", + "integrity": "sha512-UsJrrd7w4wuKKTdvd/DNERVlwSlUcyXzjhyDwBk+3aPOsCjOY6ZSbxuw8E6lZTjjfP8Cpd0J8VVkrYUWyGYXyg==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.15", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-layout-effect": "1.1.4", + "@radix-ui/react-use-rect": "1.1.4", + "@radix-ui/react-use-size": "1.1.4", + "@radix-ui/rect": "1.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.17.tgz", + "integrity": "sha512-vKQLcWypUnwZVvfV7UkGahH2g6ySe8M8R+zYBwPrv5byZ9QAW6cQVvNKo7GgmD+p8aYb6D9JBuvy8/WhOno2wQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.10.tgz", + "integrity": "sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.10.tgz", + "integrity": "sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.3.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-progress": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.16.tgz", + "integrity": "sha512-5XnomAsoZZCY+KNTxbIghpGqPruZvKFNlvcAljVAOdDRDsH4/OZQxhtwo5wdtoDM5R6MhJBb2sPnDuRFep3lzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-primitive": "2.1.10" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.19.tgz", + "integrity": "sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-collection": "1.1.15", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-direction": "1.1.4", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-is-hydrated": "0.1.3", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.18", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.18.tgz", + "integrity": "sha512-Zn5Cd171wxsO3Dfg8HaW6RifTb9CYTKQJHs/G4+LN1GfmJpaQMZQyQxMprVPHpaz7QY4l9BxK2JwQuzHsXC8nA==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.3", + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-direction": "1.1.4", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.3.7.tgz", + "integrity": "sha512-WFGImkmbzcfxeIwq/+4HvRN0pizBwbwQUED4I13ezQsDdfl38ZntN6TmR8XaSzPBqoCToe8rF75j6NPNDSzhbg==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.3", + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-collection": "1.1.15", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-direction": "1.1.4", + "@radix-ui/react-dismissable-layer": "1.1.19", + "@radix-ui/react-focus-guards": "1.1.6", + "@radix-ui/react-focus-scope": "1.1.16", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-popper": "1.3.7", + "@radix-ui/react-portal": "1.1.17", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-slot": "1.3.3", + "@radix-ui/react-use-callback-ref": "1.1.4", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-layout-effect": "1.1.4", + "@radix-ui/react-use-previous": "1.1.4", + "@radix-ui/react-visually-hidden": "1.2.11", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.7.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.15.tgz", + "integrity": "sha512-jOLO4lssEzWpoDu7G+Ze4VjwMRUBt291pnZD0gmalREZipnTX3wadQo7Fy48GCTfe14/YRN6rw/rOJqrE85Wxw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.10" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.3.3.tgz", + "integrity": "sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.5" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.3.7.tgz", + "integrity": "sha512-48tB/4dn2UVLBCYhTu9AuR63IHl73l/qLbLgxd86noTUor4/K4LFDAcYjK+isP5313qxaFpjPVogE7+Y0/V3Kw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-size": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.21.tgz", + "integrity": "sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-direction": "1.1.4", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-roving-focus": "1.1.19", + "@radix-ui/react-use-controllable-state": "1.2.6" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.16.tgz", + "integrity": "sha512-6EamKFRRnlpdadndbZ6LMwycfwkwPte1B42hs6QA0gYhjaOKqW4PZ4pjaW9UrlDX5eVt/OjncE7BFTPL5nmZhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.5", + "@radix-ui/react-context": "1.2.2", + "@radix-ui/react-dismissable-layer": "1.1.19", + "@radix-ui/react-id": "1.1.4", + "@radix-ui/react-popper": "1.3.7", + "@radix-ui/react-portal": "1.1.17", + "@radix-ui/react-presence": "1.1.10", + "@radix-ui/react-primitive": "2.1.10", + "@radix-ui/react-slot": "1.3.3", + "@radix-ui/react-use-controllable-state": "1.2.6", + "@radix-ui/react-use-layout-effect": "1.1.4", + "@radix-ui/react-visually-hidden": "1.2.11" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.4.tgz", + "integrity": "sha512-R6OUY2e2fA6Yn6s+VSx5KBV6Nx8LQEhu+cz7LCej18rQ1HLyg9PSC9jP/ZNx0o6FAIK9c0F1kHylzSxKsdlkrQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.6.tgz", + "integrity": "sha512-uEQJGT97ZA/TgP/Hydw47lHu+/vQj6z/0jA+WeTbK1o9Rx45GImjpD0tc3W5ad3D6XTSR6e1yEO0FvGq6WQfVQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.7", + "@radix-ui/react-use-effect-event": "0.0.5", + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.5.tgz", + "integrity": "sha512-7cshFL8HGS/7HEiHH+9kL9HBwp2sa9yX18Knwek6KYWmXwM7pegMgta2AXMQKI+rq3JnfSj9x8wYqFMTdG1Jgg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-is-hydrated": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.3.tgz", + "integrity": "sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.4.tgz", + "integrity": "sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.4.tgz", + "integrity": "sha512-XoSLhbRbqxFtgJoi2fNHA3C6pDlY34x508vUpUGoFZfvePfHXHbE1lC4FYFMnJWgiCRroSTw6fOsXQoVS9RwZg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.4.tgz", + "integrity": "sha512-cSOCh6JlkmfjLyNcLiu2nB4v+nm+dkZ+Q5KHWk/soo4U7ZLiEQFKHK9/YmtBHjfCEaU43IBKQOc4/uJmCaiCTQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.4.tgz", + "integrity": "sha512-D3anSY15EJoxrihpsXI6SMrmmonnQtR2ni7arO+Lfdg3O95b9hNXxONk8jA5C8ANdF/h5HMAxejgs8PWJ6rlhw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.4" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.11.tgz", + "integrity": "sha512-NFS86RYYZb4/exihaESBGOpMJFz8MGLAfu3mOBSGByVnVPC9JPASfYubxd/8KbkQK0sYAv8lVQDEQukDX/qXvQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.10" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.3.tgz", + "integrity": "sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==", + "license": "MIT" + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz", + "integrity": "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@rolldown/binding-android-arm-eabi": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.8.tgz", + "integrity": "sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.8.tgz", + "integrity": "sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.8.tgz", + "integrity": "sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.8.tgz", + "integrity": "sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.8.tgz", + "integrity": "sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.8.tgz", + "integrity": "sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.8.tgz", + "integrity": "sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.8.tgz", + "integrity": "sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.8.tgz", + "integrity": "sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.8.tgz", + "integrity": "sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.8.tgz", + "integrity": "sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.8.tgz", + "integrity": "sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.8.tgz", + "integrity": "sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.8.tgz", + "integrity": "sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.8.tgz", + "integrity": "sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.3.tgz", + "integrity": "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.24.1", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.3" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/node/node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.3.tgz", + "integrity": "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.3", + "@tailwindcss/oxide-darwin-arm64": "4.3.3", + "@tailwindcss/oxide-darwin-x64": "4.3.3", + "@tailwindcss/oxide-freebsd-x64": "4.3.3", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", + "@tailwindcss/oxide-linux-x64-musl": "4.3.3", + "@tailwindcss/oxide-wasm32-wasi": "4.3.3", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.3.tgz", + "integrity": "sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.3.tgz", + "integrity": "sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.3.tgz", + "integrity": "sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.3.tgz", + "integrity": "sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.3.tgz", + "integrity": "sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.3.tgz", + "integrity": "sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.3.tgz", + "integrity": "sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.3.tgz", + "integrity": "sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.3.tgz", + "integrity": "sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.3.tgz", + "integrity": "sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.11.1", + "@emnapi/runtime": "^1.11.1", + "@emnapi/wasi-threads": "^1.2.2", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.3.tgz", + "integrity": "sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.3.tgz", + "integrity": "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.3.tgz", + "integrity": "sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.3", + "@tailwindcss/oxide": "4.3.3", + "tailwindcss": "4.3.3" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tanstack/react-store": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.11.1.tgz", + "integrity": "sha512-HaIGKI3YLmjBYIvy5DFDY23oNaYZIsTZfngey07Uh5iLVJgM3bIGCnZeOFOqzjFld9JHWcaHJnasD/bKoGKwJQ==", + "license": "MIT", + "dependencies": { + "@tanstack/store": "0.11.1", + "use-sync-external-store": "^1.6.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/react-table": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-9.2.4.tgz", + "integrity": "sha512-Rzp1Q4e0/nIgEjmISYR5HeEgLTNtrG+C7NFZf/AbCxPO5hg+zC3yNGwcoECigUk8SFzzvhXbd2rFdtP2ZiGrfA==", + "license": "MIT", + "dependencies": { + "@tanstack/react-store": "^0.11.1", + "@tanstack/table-core": "9.2.4" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@tanstack/store": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.11.1.tgz", + "integrity": "sha512-mzTOBhypOuDJAy/D8n2MfUZ1HFkXnmSETviRyhqEC8LUE7/IZQExOTxMANj3KjTofYTkFNpBY67qaVrT41YccA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/table-core": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-9.2.4.tgz", + "integrity": "sha512-GwdDyGGr6UXAtubF14yAwcXvdaogqfsQgIk89Suebjxob/Rjq2xvfmXsjDF1rQmKmhHsJm9TOY7myxv3i6geJw==", + "license": "MIT", + "dependencies": { + "@tanstack/store": "^0.11.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.20.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.3.tgz", + "integrity": "sha512-DZmzkmwHzXrLPAXPyKNDzlIwMMUZCVacoD25ywdy5YTKGbOx/2ld+Q38Im2zJ0vBuZP5Prd3VZutKZyXwkOS8A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.3.0.tgz", + "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.3.0.tgz", + "integrity": "sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.3.0" + } + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@typescript/typescript-aix-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", + "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz", + "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz", + "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz", + "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz", + "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz", + "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz", + "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-loong64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz", + "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-mips64el": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz", + "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz", + "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-riscv64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz", + "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-s390x": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz", + "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz", + "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz", + "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz", + "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz", + "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz", + "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-sunos-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz", + "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz", + "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz", + "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.1.tgz", + "integrity": "sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "oxc-transform-react": "^0.145.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "oxc-transform-react": { + "optional": true + } + } + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.25.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.25.1.tgz", + "integrity": "sha512-nGXts5znJzmWPu+mIE9izCOzdg63oJca2mDzGWWTth7sr4aCToKcoyFVBQwN75Ij5Pf6p510EwkTqViTRzDV+w==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-toolkit": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.52.0.tgz", + "integrity": "sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks", + "tests/types", + "tests/browser-compat" + ] + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/framer-motion": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-13.3.0.tgz", + "integrity": "sha512-nry9figMPgd/7tTy9zzGRsD+kJ9tjZ74sKJ3jFBa7j6DTBIM04T6eBgneFLXCB0151wychIxsiojPlcG4JxeoA==", + "license": "MIT", + "dependencies": { + "motion-dom": "^13.3.0", + "motion-utils": "^13.3.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/immer": { + "version": "11.1.18", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.18.tgz", + "integrity": "sha512-EQyQtLiYW029lyoczMl/Hh4Xu7cDecSc58JRYpHyL4tIAu3eqd1yJzQX04d2BZHDkzFFvm6qJEJWOtfDSWAXbQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lucide-react": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.46.0.tgz", + "integrity": "sha512-Bv+FZXgZPrxc/NCl1e7JJVQFLdiCxYgxNVhqoV7X0p6I8ADJo8DxBnK1auH0fZz4AmqOJ3jgneL4f1i8LJQRAA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/motion-dom": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-13.3.0.tgz", + "integrity": "sha512-AmAnB6pHdZ1vHGzWzuzteG6Q3j1lHKeX/lbST6jGlgm0cjvLUgaCk1xhOuPMOy5SgovN6wnnUdwFrkcsus7Ftg==", + "license": "MIT", + "dependencies": { + "motion-utils": "^13.3.0" + } + }, + "node_modules/motion-utils": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-13.3.0.tgz", + "integrity": "sha512-sgSschQp7EseHInIlR7hBbMuvet3RA0bs28KPZAXJcGKGdxHGvh1ogpYDilY3bOMtl73EqPNmp75sAKHYPU5sg==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.19", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", + "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/oxlint": { + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.83.0.tgz", + "integrity": "sha512-cyDzSzaw3uzP0TeCeq3lLRPPoaUxkbB4ZOXj+kn+5r+BX9V+4bNVGk9lxer+WrgcpebH4JxLlJ3KQjveVztOLQ==", + "dev": true, + "license": "MIT", + "bin": { + "oxlint": "bin/oxlint" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/oxc-project" + }, + "optionalDependencies": { + "@oxlint/binding-android-arm-eabi": "1.83.0", + "@oxlint/binding-android-arm64": "1.83.0", + "@oxlint/binding-darwin-arm64": "1.83.0", + "@oxlint/binding-darwin-x64": "1.83.0", + "@oxlint/binding-freebsd-x64": "1.83.0", + "@oxlint/binding-linux-arm-gnueabihf": "1.83.0", + "@oxlint/binding-linux-arm-musleabihf": "1.83.0", + "@oxlint/binding-linux-arm64-gnu": "1.83.0", + "@oxlint/binding-linux-arm64-musl": "1.83.0", + "@oxlint/binding-linux-ppc64-gnu": "1.83.0", + "@oxlint/binding-linux-riscv64-gnu": "1.83.0", + "@oxlint/binding-linux-riscv64-musl": "1.83.0", + "@oxlint/binding-linux-s390x-gnu": "1.83.0", + "@oxlint/binding-linux-x64-gnu": "1.83.0", + "@oxlint/binding-linux-x64-musl": "1.83.0", + "@oxlint/binding-openharmony-arm64": "1.83.0", + "@oxlint/binding-win32-arm64-msvc": "1.83.0", + "@oxlint/binding-win32-ia32-msvc": "1.83.0", + "@oxlint/binding-win32-x64-msvc": "1.83.0" + }, + "peerDependencies": { + "oxlint-tsgolint": ">=7.0.2001", + "vite-plus": "*" + }, + "peerDependenciesMeta": { + "oxlint-tsgolint": { + "optional": true + }, + "vite-plus": { + "optional": true + } + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.18", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.0.tgz", + "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.0.tgz", + "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.0" + } + }, + "node_modules/react-is": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.3.0.tgz", + "integrity": "sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA==", + "license": "MIT", + "peer": true + }, + "node_modules/react-redux": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz", + "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "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 + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.18.4.tgz", + "integrity": "sha512-PUPQcMhMGRAslLcvtlPz/kmzBEWPhLdgLFrL7pLNepBL6dX0lWj4WD2cUYVgYCuT3jxvghYFg81cDTj44DhetQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.18.4.tgz", + "integrity": "sha512-yrfmJHIpDG7taCpqKjT1G5B6q3O2K+RN8/fgNf0lTjCwiPbQ0ei6vXX9ZjQR+7ld8Tr7Z5xmyMnZ8YJrphWQUw==", + "license": "MIT", + "dependencies": { + "react-router": "7.18.4" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "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 + } + } + }, + "node_modules/recharts": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.10.1.tgz", + "integrity": "sha512-QXFrvt6IVcw7eeZCoyXTwkIJAX3Dv1nyVhMicXJ47GsGDDpcN8z6o644DibE9XjpBTThtsomLKnTV6lc+cVFUA==", + "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "^1.9.0 || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^11.1.8", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.2.0", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reselect": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz", + "integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==", + "license": "MIT" + }, + "node_modules/rolldown": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.8.tgz", + "integrity": "sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.149.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm-eabi": "1.2.8", + "@rolldown/binding-android-arm64": "1.2.8", + "@rolldown/binding-darwin-arm64": "1.2.8", + "@rolldown/binding-darwin-x64": "1.2.8", + "@rolldown/binding-freebsd-x64": "1.2.8", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.8", + "@rolldown/binding-linux-arm64-gnu": "1.2.8", + "@rolldown/binding-linux-arm64-musl": "1.2.8", + "@rolldown/binding-linux-ppc64-gnu": "1.2.8", + "@rolldown/binding-linux-s390x-gnu": "1.2.8", + "@rolldown/binding-linux-x64-gnu": "1.2.8", + "@rolldown/binding-linux-x64-musl": "1.2.8", + "@rolldown/binding-openharmony-arm64": "1.2.8", + "@rolldown/binding-win32-arm64-msvc": "1.2.8", + "@rolldown/binding-win32-x64-msvc": "1.2.8" + } + }, + "node_modules/scheduler": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", + "license": "MIT" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwind-merge": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.7.0.tgz", + "integrity": "sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz", + "integrity": "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==", + "license": "MIT" + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", + "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc" + }, + "engines": { + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/typescript-aix-ppc64": "7.0.2", + "@typescript/typescript-darwin-arm64": "7.0.2", + "@typescript/typescript-darwin-x64": "7.0.2", + "@typescript/typescript-freebsd-arm64": "7.0.2", + "@typescript/typescript-freebsd-x64": "7.0.2", + "@typescript/typescript-linux-arm": "7.0.2", + "@typescript/typescript-linux-arm64": "7.0.2", + "@typescript/typescript-linux-loong64": "7.0.2", + "@typescript/typescript-linux-mips64el": "7.0.2", + "@typescript/typescript-linux-ppc64": "7.0.2", + "@typescript/typescript-linux-riscv64": "7.0.2", + "@typescript/typescript-linux-s390x": "7.0.2", + "@typescript/typescript-linux-x64": "7.0.2", + "@typescript/typescript-netbsd-arm64": "7.0.2", + "@typescript/typescript-netbsd-x64": "7.0.2", + "@typescript/typescript-openbsd-arm64": "7.0.2", + "@typescript/typescript-openbsd-x64": "7.0.2", + "@typescript/typescript-sunos-x64": "7.0.2", + "@typescript/typescript-win32-arm64": "7.0.2", + "@typescript/typescript-win32-x64": "7.0.2" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "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 + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "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 + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.7.0.tgz", + "integrity": "sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vite": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.0.tgz", + "integrity": "sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==", + "license": "MIT", + "dependencies": { + "lightningcss": "^1.33.0", + "picomatch": "^4.0.7", + "postcss": "^8.5.28", + "rolldown": "~1.2.6", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.7.1", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b15be72 --- /dev/null +++ b/package.json @@ -0,0 +1,52 @@ +{ + "name": "krow-workforce-demo", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "oxlint", + "preview": "vite preview", + "typecheck": "tsc -b --noEmit" + }, + "dependencies": { + "@radix-ui/react-avatar": "^1.2.6", + "@radix-ui/react-checkbox": "^1.3.11", + "@radix-ui/react-collapsible": "^1.1.20", + "@radix-ui/react-dialog": "^1.1.23", + "@radix-ui/react-dropdown-menu": "^2.1.24", + "@radix-ui/react-label": "^2.1.15", + "@radix-ui/react-popover": "^1.1.23", + "@radix-ui/react-progress": "^1.1.16", + "@radix-ui/react-scroll-area": "^1.2.18", + "@radix-ui/react-select": "^2.3.7", + "@radix-ui/react-separator": "^1.1.15", + "@radix-ui/react-slot": "^1.3.3", + "@radix-ui/react-switch": "^1.3.7", + "@radix-ui/react-tabs": "^1.1.21", + "@radix-ui/react-tooltip": "^1.2.16", + "@tailwindcss/vite": "^4.3.3", + "@tanstack/react-table": "^9.2.4", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^13.3.0", + "lucide-react": "^1.46.0", + "react": "^19.2.8", + "react-dom": "^19.2.8", + "react-router-dom": "^7.18.4", + "recharts": "^3.10.1", + "tailwind-merge": "^3.7.0", + "tailwindcss": "^4.3.3", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^22.20.3", + "@types/react": "^19.2.18", + "@types/react-dom": "^19.2.7", + "@vitejs/plugin-react": "^6.1.1", + "oxlint": "^1.81.0", + "typescript": "^7.0.2", + "vite": "^8.3.0" + } +} diff --git a/public/assets/krow-logo.png b/public/assets/krow-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8e3fc9a50f5ddb4390259730a833efa49fc31b GIT binary patch literal 44124 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 ?`XOAs4<4EWZ*GlAdFwj-dab^exq;h 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 literal 0 HcmV?d00001 diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..9f24a29 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,65 @@ +import { Suspense, lazy } from "react" +import { Navigate, Route, Routes } from "react-router-dom" + +import { AppShell } from "@/components/shell/AppShell" + +/* Each page is its own chunk, so a cold load only parses the shell plus the + route being opened — not all fourteen pages, Recharts and TanStack Table. */ +const HomePage = lazy(() => import("@/pages/HomePage").then((m) => ({ default: m.HomePage }))) +const PerformancePage = lazy(() => import("@/pages/PerformancePage").then((m) => ({ default: m.PerformancePage }))) +const OrdersPage = lazy(() => import("@/pages/OrdersPage").then((m) => ({ default: m.OrdersPage }))) +const AvailabilityPage = lazy(() => import("@/pages/AvailabilityPage").then((m) => ({ default: m.AvailabilityPage }))) +const TasksPage = lazy(() => import("@/pages/TasksPage").then((m) => ({ default: m.TasksPage }))) +const StaffPage = lazy(() => import("@/pages/StaffPage").then((m) => ({ default: m.StaffPage }))) +const CompliancePage = lazy(() => import("@/pages/CompliancePage").then((m) => ({ default: m.CompliancePage }))) +const BenefitsPage = lazy(() => import("@/pages/BenefitsPage").then((m) => ({ default: m.BenefitsPage }))) +const ClientsPage = lazy(() => import("@/pages/ClientsPage").then((m) => ({ default: m.ClientsPage }))) +const InvoicesPage = lazy(() => import("@/pages/InvoicesPage").then((m) => ({ default: m.InvoicesPage }))) +const PayrollPage = lazy(() => import("@/pages/PayrollPage").then((m) => ({ default: m.PayrollPage }))) +const ReportsPage = lazy(() => import("@/pages/ReportsPage").then((m) => ({ default: m.ReportsPage }))) +const MessagesPage = lazy(() => import("@/pages/MessagesPage").then((m) => ({ default: m.MessagesPage }))) +const SettingsPage = lazy(() => import("@/pages/SettingsPage").then((m) => ({ default: m.SettingsPage }))) + +function PageFallback() { + return ( +

+
+
+ {[0, 1, 2, 3].map((i) => ( +
+ ))} +
+
+
+ ) +} + +export default function App() { + return ( + + }> + + + } + > + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + + ) +} diff --git a/src/components/home/CentralOwliver.tsx b/src/components/home/CentralOwliver.tsx new file mode 100644 index 0000000..88a0e53 --- /dev/null +++ b/src/components/home/CentralOwliver.tsx @@ -0,0 +1,253 @@ +import { + AlertTriangle, + ArrowRight, + Banknote, + CornerDownLeft, + SendHorizonal, + ShieldCheck, + Sparkles, + Zap, +} from "lucide-react" +import { useEffect, useLayoutEffect, useRef, useState } from "react" + +import { cn } from "@/lib/utils" +import { useOwliver } from "@/owliver/OwliverProvider" +import { BlockView } from "@/owliver/blocks/BlockRenderer" + +const CATEGORY_PROMPTS = [ + { + icon: Zap, + text: "Which orders are understaffed?", + tone: "text-warn bg-warn-soft border-warn-edge", + }, + { + icon: AlertTriangle, + text: "What needs attention today?", + tone: "text-bad bg-bad-soft border-bad-edge", + }, + { + icon: ShieldCheck, + text: "Show compliance risks", + tone: "text-[#6366F1] bg-[#EEF2FF] border-[#C7D2FE]", + }, + { + icon: Banknote, + text: "Summarise payroll this week", + tone: "text-good bg-good-soft border-good-edge", + }, +] + +export function CentralOwliver() { + const { messages, typing, send, runAction } = useOwliver() + const [value, setValue] = useState("") + const inputRef = useRef(null) + const threadRef = useRef(null) + + const hasConversation = messages.length > 0 + + useEffect(() => { + const el = inputRef.current + if (!el) return + el.style.height = "auto" + el.style.height = `${Math.min(el.scrollHeight, 120)}px` + }, [value]) + + useLayoutEffect(() => { + const el = threadRef.current + if (el) el.scrollTop = el.scrollHeight + }, [messages, typing]) + + const canSend = value.trim().length > 0 && !typing + + function submit(text?: string) { + const payload = (text ?? value).trim() + if (!payload || typing) return + send(payload) + setValue("") + } + + return ( +
+ {/* Ambient gradient illumination on top border */} +
+ + {/* ------------------------------------------------------------ Header */} +
+
+
+ Owliver + + + + +
+ +
+
+

Owliver AI

+
+

+ Workforce Intelligence · Real-time Operational Dispatch +

+
+
+ +
+ + + Active Core 2.0 + +
+
+ + {/* -------------------------------------------------- Conversation Thread */} + {hasConversation && ( +
+
+ {messages.map((m) => + m.author === "user" ? ( +
+ + You + +
+ {m.text} +
+
+ ) : ( +
+ + + Owliver Dispatch + +
+ {m.blocks?.map((b, i) => ( + + ))} +
+
+ ) + )} + + {typing && ( +
+ + + Owliver is analyzing + +
+ {[0, 1, 2].map((i) => ( + + ))} +
+
+ )} +
+
+ )} + + {/* ------------------------------------------------ Spotlight Composer */} +
+
+ +