From 0fe1b2fd969a2edfd1ab8e71faa5c099f5733893 Mon Sep 17 00:00:00 2001
From: jellydeck <91427591+jellydeck@users.noreply.github.com>
Date: Tue, 10 Mar 2026 12:39:52 +0530
Subject: [PATCH] init
---
.gitignore | 41 +-
.npmrc | 1 +
.prettierignore | 9 +
.prettierrc | 16 +
.vscode/extensions.json | 8 +
.vscode/settings.json | 5 +
README.md | 86 +-
components.json | 20 -
eslint.config.js | 64 +-
index.html | 36 -
package.json | 124 +-
pnpm-lock.yaml | 4865 +++++++-----------
pnpm-workspace.yaml | 2 -
src/App.css | 0
src/App.tsx | 22 -
src/app.d.ts | 13 +
src/app.html | 11 +
src/components/editor/Backgrounds.tsx | 358 --
src/components/editor/Canvas.tsx | 536 --
src/components/editor/Editor.tsx | 21 -
src/components/editor/FloatingBar.tsx | 228 -
src/components/editor/ImageBorderPanel.tsx | 301 --
src/components/editor/Navbar.tsx | 471 --
src/components/editor/PositionScalePanel.tsx | 309 --
src/components/editor/RotationSkewPanel.tsx | 190 -
src/components/icons/Bluesky.tsx | 14 -
src/components/icons/Github.tsx | 21 -
src/components/icons/X.tsx | 16 -
src/components/ui/accordion.tsx | 56 -
src/components/ui/alert-dialog.tsx | 139 -
src/components/ui/alert.tsx | 59 -
src/components/ui/aspect-ratio.tsx | 5 -
src/components/ui/avatar.tsx | 48 -
src/components/ui/badge.tsx | 36 -
src/components/ui/breadcrumb.tsx | 115 -
src/components/ui/button.tsx | 56 -
src/components/ui/calendar.tsx | 64 -
src/components/ui/card.tsx | 79 -
src/components/ui/carousel.tsx | 260 -
src/components/ui/chart.tsx | 363 --
src/components/ui/checkbox.tsx | 28 -
src/components/ui/collapsible.tsx | 9 -
src/components/ui/command.tsx | 153 -
src/components/ui/context-menu.tsx | 198 -
src/components/ui/dialog.tsx | 120 -
src/components/ui/drawer.tsx | 116 -
src/components/ui/dropdown-menu.tsx | 198 -
src/components/ui/form.tsx | 176 -
src/components/ui/hover-card.tsx | 27 -
src/components/ui/input-otp.tsx | 69 -
src/components/ui/input.tsx | 22 -
src/components/ui/label.tsx | 24 -
src/components/ui/menubar.tsx | 234 -
src/components/ui/navigation-menu.tsx | 128 -
src/components/ui/pagination.tsx | 117 -
src/components/ui/popover.tsx | 29 -
src/components/ui/progress.tsx | 26 -
src/components/ui/radio-group.tsx | 42 -
src/components/ui/resizable.tsx | 43 -
src/components/ui/scroll-area.tsx | 46 -
src/components/ui/select.tsx | 158 -
src/components/ui/separator.tsx | 29 -
src/components/ui/sheet.tsx | 131 -
src/components/ui/sidebar.tsx | 761 ---
src/components/ui/skeleton.tsx | 15 -
src/components/ui/slider.tsx | 26 -
src/components/ui/sonner.tsx | 29 -
src/components/ui/switch.tsx | 27 -
src/components/ui/table.tsx | 117 -
src/components/ui/tabs.tsx | 53 -
src/components/ui/textarea.tsx | 24 -
src/components/ui/toast.tsx | 127 -
src/components/ui/toaster.tsx | 35 -
src/components/ui/toggle-group.tsx | 59 -
src/components/ui/toggle.tsx | 43 -
src/components/ui/tooltip.tsx | 28 -
src/components/ui/use-toast.ts | 3 -
src/contexts/MockupContext.tsx | 177 -
src/hooks/use-mobile.tsx | 22 -
src/hooks/use-toast.ts | 191 -
src/index.css | 174 -
src/lib/assets/favicon.svg | 1 +
src/lib/index.ts | 1 +
src/lib/utils.ts | 6 -
src/main.tsx | 5 -
src/pages/Index.tsx | 8 -
src/routes/+layout.svelte | 9 +
src/routes/+page.svelte | 2 +
src/routes/layout.css | 1 +
src/types/canvas.ts | 70 -
src/utils/colorExtractor.ts | 59 -
src/vite-env.d.ts | 1 -
static/robots.txt | 3 +
svelte.config.js | 6 +
tsconfig.app.json | 30 -
tsconfig.json | 35 +-
tsconfig.node.json | 22 -
vite.config.ts | 18 +-
98 files changed, 2017 insertions(+), 11362 deletions(-)
create mode 100644 .npmrc
create mode 100644 .prettierignore
create mode 100644 .prettierrc
create mode 100644 .vscode/extensions.json
create mode 100644 .vscode/settings.json
delete mode 100644 components.json
delete mode 100644 index.html
delete mode 100644 src/App.css
delete mode 100644 src/App.tsx
create mode 100644 src/app.d.ts
create mode 100644 src/app.html
delete mode 100644 src/components/editor/Backgrounds.tsx
delete mode 100644 src/components/editor/Canvas.tsx
delete mode 100644 src/components/editor/Editor.tsx
delete mode 100644 src/components/editor/FloatingBar.tsx
delete mode 100644 src/components/editor/ImageBorderPanel.tsx
delete mode 100644 src/components/editor/Navbar.tsx
delete mode 100644 src/components/editor/PositionScalePanel.tsx
delete mode 100644 src/components/editor/RotationSkewPanel.tsx
delete mode 100644 src/components/icons/Bluesky.tsx
delete mode 100644 src/components/icons/Github.tsx
delete mode 100644 src/components/icons/X.tsx
delete mode 100644 src/components/ui/accordion.tsx
delete mode 100644 src/components/ui/alert-dialog.tsx
delete mode 100644 src/components/ui/alert.tsx
delete mode 100644 src/components/ui/aspect-ratio.tsx
delete mode 100644 src/components/ui/avatar.tsx
delete mode 100644 src/components/ui/badge.tsx
delete mode 100644 src/components/ui/breadcrumb.tsx
delete mode 100644 src/components/ui/button.tsx
delete mode 100644 src/components/ui/calendar.tsx
delete mode 100644 src/components/ui/card.tsx
delete mode 100644 src/components/ui/carousel.tsx
delete mode 100644 src/components/ui/chart.tsx
delete mode 100644 src/components/ui/checkbox.tsx
delete mode 100644 src/components/ui/collapsible.tsx
delete mode 100644 src/components/ui/command.tsx
delete mode 100644 src/components/ui/context-menu.tsx
delete mode 100644 src/components/ui/dialog.tsx
delete mode 100644 src/components/ui/drawer.tsx
delete mode 100644 src/components/ui/dropdown-menu.tsx
delete mode 100644 src/components/ui/form.tsx
delete mode 100644 src/components/ui/hover-card.tsx
delete mode 100644 src/components/ui/input-otp.tsx
delete mode 100644 src/components/ui/input.tsx
delete mode 100644 src/components/ui/label.tsx
delete mode 100644 src/components/ui/menubar.tsx
delete mode 100644 src/components/ui/navigation-menu.tsx
delete mode 100644 src/components/ui/pagination.tsx
delete mode 100644 src/components/ui/popover.tsx
delete mode 100644 src/components/ui/progress.tsx
delete mode 100644 src/components/ui/radio-group.tsx
delete mode 100644 src/components/ui/resizable.tsx
delete mode 100644 src/components/ui/scroll-area.tsx
delete mode 100644 src/components/ui/select.tsx
delete mode 100644 src/components/ui/separator.tsx
delete mode 100644 src/components/ui/sheet.tsx
delete mode 100644 src/components/ui/sidebar.tsx
delete mode 100644 src/components/ui/skeleton.tsx
delete mode 100644 src/components/ui/slider.tsx
delete mode 100644 src/components/ui/sonner.tsx
delete mode 100644 src/components/ui/switch.tsx
delete mode 100644 src/components/ui/table.tsx
delete mode 100644 src/components/ui/tabs.tsx
delete mode 100644 src/components/ui/textarea.tsx
delete mode 100644 src/components/ui/toast.tsx
delete mode 100644 src/components/ui/toaster.tsx
delete mode 100644 src/components/ui/toggle-group.tsx
delete mode 100644 src/components/ui/toggle.tsx
delete mode 100644 src/components/ui/tooltip.tsx
delete mode 100644 src/components/ui/use-toast.ts
delete mode 100644 src/contexts/MockupContext.tsx
delete mode 100644 src/hooks/use-mobile.tsx
delete mode 100644 src/hooks/use-toast.ts
delete mode 100644 src/index.css
create mode 100644 src/lib/assets/favicon.svg
create mode 100644 src/lib/index.ts
delete mode 100644 src/lib/utils.ts
delete mode 100644 src/main.tsx
delete mode 100644 src/pages/Index.tsx
create mode 100644 src/routes/+layout.svelte
create mode 100644 src/routes/+page.svelte
create mode 100644 src/routes/layout.css
delete mode 100644 src/types/canvas.ts
delete mode 100644 src/utils/colorExtractor.ts
delete mode 100644 src/vite-env.d.ts
create mode 100644 static/robots.txt
create mode 100644 svelte.config.js
delete mode 100644 tsconfig.app.json
delete mode 100644 tsconfig.node.json
diff --git a/.gitignore b/.gitignore
index a547bf3..3b462cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,24 +1,23 @@
-# 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
+# Output
+.output
+.vercel
+.netlify
+.wrangler
+/.svelte-kit
+/build
+
+# OS
.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+Thumbs.db
+
+# Env
+.env
+.env.*
+!.env.example
+!.env.test
+
+# Vite
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..b6f27f1
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..7d74fe2
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,9 @@
+# Package Managers
+package-lock.json
+pnpm-lock.yaml
+yarn.lock
+bun.lock
+bun.lockb
+
+# Miscellaneous
+/static/
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..819fa57
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,16 @@
+{
+ "useTabs": true,
+ "singleQuote": true,
+ "trailingComma": "none",
+ "printWidth": 100,
+ "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
+ "overrides": [
+ {
+ "files": "*.svelte",
+ "options": {
+ "parser": "svelte"
+ }
+ }
+ ],
+ "tailwindStylesheet": "./src/routes/layout.css"
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..175f389
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,8 @@
+{
+ "recommendations": [
+ "svelte.svelte-vscode",
+ "esbenp.prettier-vscode",
+ "dbaeumer.vscode-eslint",
+ "bradlc.vscode-tailwindcss"
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..bc31e15
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.associations": {
+ "*.css": "tailwindcss"
+ }
+}
diff --git a/README.md b/README.md
index 7e4f64b..15616f2 100644
--- a/README.md
+++ b/README.md
@@ -1,78 +1,42 @@
-[](https://moocup.jaydip.me/)
+# sv
-# What?
+Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
-A visual editor to create stunning screenshots. you can simply drop your screenshot, a base style will be applied.
+## Creating a project
-style it however you wish, and export.
+If you're seeing this, you've probably already done this step. Congrats!
-that's basically it.
-
-## Support
-
-moocup is completely free to use. and is maintained by myself.
-
-If you wish to provide moocup a better future,
-you can do so at [Ko-fi](https://ko-fi.com/jaydipsanghani)
-
-You can also help me out by [contributing](#contributing).
-
-
-[](https://ko-fi.com/J3J41GWDRD)
-
-## Motivation
-
-I needed good visuals for my portfolio. I am a big fan of simple & functional things, but all the available options, didn't felt quite right to me.
-
-so, i made one myself.
-
-## Feature Request
-
-Raise a Issue with title "Feature Request : " and what you wish to see to be added in app.
-
-currently, I'm planning to only add features that gives more benefit to moocup as a tool. so, priority will change based on value.
-
-
-## Self-hosting
-You can easily self-host moocup on platforms like Vercel, Railway, or Netlify—just provide the repository and follow the standard steps to deploy a web app.
-
-### One-click Railway Deploy:
-
-[](https://railway.com/deploy/moocup?referralCode=bmgbXt)
-
- - for the latest version in a single click.
-
-### Docker Image
-
-You can also run moocup using Docker from Docker Hub:
-```
-docker pull jellydeck/moocup:latest
-docker run -p 8080:80 jellydeck/moocup:latest
+```sh
+# create a new project
+npx sv create my-app
```
-- app will be available at http://localhost:8080
-### Manual Hosting:
+To recreate this project with the same configuration:
-- Clone the repository.
-- Build the project just like any other Vite app:
-
-```
- npm install
- npm run build
+```sh
+# recreate this project
+pnpm dlx sv@0.12.5 create --template minimal --types ts --add prettier eslint tailwindcss="plugins:none" sveltekit-adapter="adapter:vercel" devtools-json --install pnpm ./
```
-- Upload the dist folder to your hosting provider (or attach it to a public URL) to make it accessible online.
+## Developing
-That’s it - you’ve got your own moocup instance running!
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
-## Contributing
+```sh
+npm run dev
-Contributions and Fixes are more than Welcome.
-Raise a PR with relevant details, and it'll be merged
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+## Building
-## License
+To create a production version of your app:
-GNU AGPLv3
+```sh
+npm run build
+```
+You can preview the production build with `npm run preview`.
+> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
diff --git a/components.json b/components.json
deleted file mode 100644
index f29e3f1..0000000
--- a/components.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "$schema": "https://ui.shadcn.com/schema.json",
- "style": "default",
- "rsc": false,
- "tsx": true,
- "tailwind": {
- "config": "tailwind.config.ts",
- "css": "src/index.css",
- "baseColor": "slate",
- "cssVariables": true,
- "prefix": ""
- },
- "aliases": {
- "components": "@/components",
- "utils": "@/lib/utils",
- "ui": "@/components/ui",
- "lib": "@/lib",
- "hooks": "@/hooks"
- }
-}
\ No newline at end of file
diff --git a/eslint.config.js b/eslint.config.js
index e67846f..9690379 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -1,29 +1,39 @@
-import js from "@eslint/js";
-import globals from "globals";
-import reactHooks from "eslint-plugin-react-hooks";
-import reactRefresh from "eslint-plugin-react-refresh";
-import tseslint from "typescript-eslint";
+import prettier from 'eslint-config-prettier';
+import path from 'node:path';
+import { includeIgnoreFile } from '@eslint/compat';
+import js from '@eslint/js';
+import svelte from 'eslint-plugin-svelte';
+import { defineConfig } from 'eslint/config';
+import globals from 'globals';
+import ts from 'typescript-eslint';
+import svelteConfig from './svelte.config.js';
-export default tseslint.config(
- { ignores: ["dist"] },
- {
- extends: [js.configs.recommended, ...tseslint.configs.recommended],
- files: ["**/*.{ts,tsx}"],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- plugins: {
- "react-hooks": reactHooks,
- "react-refresh": reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- "react-refresh/only-export-components": [
- "warn",
- { allowConstantExport: true },
- ],
- "@typescript-eslint/no-unused-vars": "off",
- },
- }
+const gitignorePath = path.resolve(import.meta.dirname, '.gitignore');
+
+export default defineConfig(
+ includeIgnoreFile(gitignorePath),
+ js.configs.recommended,
+ ...ts.configs.recommended,
+ ...svelte.configs.recommended,
+ prettier,
+ ...svelte.configs.prettier,
+ {
+ languageOptions: { globals: { ...globals.browser, ...globals.node } },
+ rules: {
+ // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
+ // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
+ 'no-undef': 'off'
+ }
+ },
+ {
+ files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
+ languageOptions: {
+ parserOptions: {
+ projectService: true,
+ extraFileExtensions: ['.svelte'],
+ parser: ts.parser,
+ svelteConfig
+ }
+ }
+ }
);
diff --git a/index.html b/index.html
deleted file mode 100644
index 674df87..0000000
--- a/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
- Moocup - Beautiful mockups
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/package.json b/package.json
index d699abd..fb7f83c 100644
--- a/package.json
+++ b/package.json
@@ -1,86 +1,42 @@
{
- "name": "moocup",
- "private": true,
- "version": "0.0.0",
- "type": "module",
- "packageManager": "pnpm@10.13.0",
- "scripts": {
- "dev": "vite --host",
- "build": "vite build",
- "build:dev": "vite build --mode development",
- "lint": "eslint .",
- "preview": "vite preview"
- },
- "dependencies": {
- "@hookform/resolvers": "^3.9.0",
- "@radix-ui/react-accordion": "^1.2.0",
- "@radix-ui/react-alert-dialog": "^1.1.1",
- "@radix-ui/react-aspect-ratio": "^1.1.0",
- "@radix-ui/react-avatar": "^1.1.0",
- "@radix-ui/react-checkbox": "^1.1.1",
- "@radix-ui/react-collapsible": "^1.1.0",
- "@radix-ui/react-context-menu": "^2.2.1",
- "@radix-ui/react-dialog": "^1.1.2",
- "@radix-ui/react-dropdown-menu": "^2.1.1",
- "@radix-ui/react-hover-card": "^1.1.1",
- "@radix-ui/react-label": "^2.1.0",
- "@radix-ui/react-menubar": "^1.1.1",
- "@radix-ui/react-navigation-menu": "^1.2.0",
- "@radix-ui/react-popover": "^1.1.1",
- "@radix-ui/react-progress": "^1.1.0",
- "@radix-ui/react-radio-group": "^1.2.0",
- "@radix-ui/react-scroll-area": "^1.1.0",
- "@radix-ui/react-select": "^2.1.1",
- "@radix-ui/react-separator": "^1.1.0",
- "@radix-ui/react-slider": "^1.2.0",
- "@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-switch": "^1.1.0",
- "@radix-ui/react-tabs": "^1.1.0",
- "@radix-ui/react-toast": "^1.2.1",
- "@radix-ui/react-toggle": "^1.1.0",
- "@radix-ui/react-toggle-group": "^1.1.0",
- "@radix-ui/react-tooltip": "^1.1.4",
- "@tailwindcss/vite": "^4.1.10",
- "class-variance-authority": "^0.7.1",
- "clsx": "^2.1.1",
- "cmdk": "^1.0.0",
- "date-fns": "^3.6.0",
- "embla-carousel-react": "^8.3.0",
- "html2canvas": "^1.4.1",
- "idb-keyval": "^6.2.2",
- "input-otp": "^1.2.4",
- "lucide-react": "^0.462.0",
- "next-themes": "^0.3.0",
- "react": "^18.3.1",
- "react-day-picker": "^8.10.1",
- "react-dom": "^18.3.1",
- "react-hook-form": "^7.53.0",
- "react-resizable-panels": "^2.1.3",
- "react-router-dom": "^6.26.2",
- "recharts": "^2.12.7",
- "sonner": "^1.5.0",
- "tailwind-merge": "^2.5.2",
- "tailwindcss-animate": "^1.0.7",
- "vaul": "^0.9.3",
- "zod": "^3.23.8",
- "zustand": "^5.0.5"
- },
- "devDependencies": {
- "@eslint/js": "^9.9.0",
- "@tailwindcss/postcss": "^4.1.10",
- "@tailwindcss/typography": "^0.5.15",
- "@types/node": "^22.5.5",
- "@types/react": "^18.3.3",
- "@types/react-dom": "^18.3.0",
- "@vitejs/plugin-react-swc": "^3.5.0",
- "eslint": "^9.9.0",
- "eslint-plugin-react-hooks": "^5.1.0-rc.0",
- "eslint-plugin-react-refresh": "^0.4.9",
- "globals": "^15.9.0",
- "postcss": "^8.4.47",
- "tailwindcss": "^4.1.10",
- "typescript": "^5.5.3",
- "typescript-eslint": "^8.0.1",
- "vite": "^5.4.1"
- }
+ "name": "moocup",
+ "private": true,
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite dev",
+ "build": "vite build",
+ "preview": "vite preview",
+ "prepare": "svelte-kit sync || echo ''",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "lint": "prettier --check . && eslint .",
+ "format": "prettier --write ."
+ },
+ "devDependencies": {
+ "@eslint/compat": "^2.0.2",
+ "@eslint/js": "^9.39.2",
+ "@sveltejs/adapter-vercel": "^6.3.1",
+ "@sveltejs/kit": "^2.50.2",
+ "@sveltejs/vite-plugin-svelte": "^6.2.4",
+ "@tailwindcss/vite": "^4.1.18",
+ "@types/node": "^24",
+ "eslint": "^9.39.2",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-svelte": "^3.14.0",
+ "globals": "^17.3.0",
+ "prettier": "^3.8.1",
+ "prettier-plugin-svelte": "^3.4.1",
+ "prettier-plugin-tailwindcss": "^0.7.2",
+ "svelte": "^5.51.0",
+ "svelte-check": "^4.4.2",
+ "tailwindcss": "^4.1.18",
+ "typescript": "^5.9.3",
+ "typescript-eslint": "^8.54.0",
+ "vite": "^7.3.1",
+ "vite-plugin-devtools-json": "^1.0.0"
+ },
+ "dependencies": {
+ "bits-ui": "^2.16.3"
+ }
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 39e02da..23ebdda 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,1346 +8,753 @@ importers:
.:
dependencies:
- '@hookform/resolvers':
- specifier: ^3.9.0
- version: 3.10.0(react-hook-form@7.58.1(react@18.3.1))
- '@radix-ui/react-accordion':
- specifier: ^1.2.0
- version: 1.2.11(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-alert-dialog':
- specifier: ^1.1.1
- version: 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-aspect-ratio':
- specifier: ^1.1.0
- version: 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-avatar':
- specifier: ^1.1.0
- version: 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-checkbox':
- specifier: ^1.1.1
- version: 1.3.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collapsible':
- specifier: ^1.1.0
- version: 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-context-menu':
- specifier: ^2.2.1
- version: 2.2.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-dialog':
- specifier: ^1.1.2
- version: 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-dropdown-menu':
- specifier: ^2.1.1
- version: 2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-hover-card':
- specifier: ^1.1.1
- version: 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-label':
- specifier: ^2.1.0
- version: 2.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-menubar':
- specifier: ^1.1.1
- version: 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-navigation-menu':
- specifier: ^1.2.0
- version: 1.2.13(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-popover':
- specifier: ^1.1.1
- version: 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-progress':
- specifier: ^1.1.0
- version: 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-radio-group':
- specifier: ^1.2.0
- version: 1.3.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-scroll-area':
- specifier: ^1.1.0
- version: 1.2.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-select':
- specifier: ^2.1.1
- version: 2.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-separator':
- specifier: ^1.1.0
- version: 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slider':
- specifier: ^1.2.0
- version: 1.3.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot':
- specifier: ^1.1.0
- version: 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-switch':
- specifier: ^1.1.0
- version: 1.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-tabs':
- specifier: ^1.1.0
- version: 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-toast':
- specifier: ^1.2.1
- version: 1.2.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-toggle':
- specifier: ^1.1.0
- version: 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-toggle-group':
- specifier: ^1.1.0
- version: 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-tooltip':
- specifier: ^1.1.4
- version: 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@tailwindcss/vite':
- specifier: ^4.1.10
- version: 4.1.10(vite@5.4.19(@types/node@22.15.32)(lightningcss@1.30.1))
- class-variance-authority:
- specifier: ^0.7.1
- version: 0.7.1
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- cmdk:
- specifier: ^1.0.0
- version: 1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- date-fns:
- specifier: ^3.6.0
- version: 3.6.0
- embla-carousel-react:
- specifier: ^8.3.0
- version: 8.6.0(react@18.3.1)
- html2canvas:
- specifier: ^1.4.1
- version: 1.4.1
- idb-keyval:
- specifier: ^6.2.2
- version: 6.2.2
- input-otp:
- specifier: ^1.2.4
- version: 1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- lucide-react:
- specifier: ^0.462.0
- version: 0.462.0(react@18.3.1)
- next-themes:
- specifier: ^0.3.0
- version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react:
- specifier: ^18.3.1
- version: 18.3.1
- react-day-picker:
- specifier: ^8.10.1
- version: 8.10.1(date-fns@3.6.0)(react@18.3.1)
- react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
- react-hook-form:
- specifier: ^7.53.0
- version: 7.58.1(react@18.3.1)
- react-resizable-panels:
- specifier: ^2.1.3
- version: 2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-router-dom:
- specifier: ^6.26.2
- version: 6.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- recharts:
- specifier: ^2.12.7
- version: 2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- sonner:
- specifier: ^1.5.0
- version: 1.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- tailwind-merge:
- specifier: ^2.5.2
- version: 2.6.0
- tailwindcss-animate:
- specifier: ^1.0.7
- version: 1.0.7(tailwindcss@4.1.10)
- vaul:
- specifier: ^0.9.3
- version: 0.9.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- zod:
- specifier: ^3.23.8
- version: 3.25.67
- zustand:
- specifier: ^5.0.5
- version: 5.0.5(@types/react@18.3.23)(react@18.3.1)(use-sync-external-store@1.5.0(react@18.3.1))
+ bits-ui:
+ specifier: ^2.16.3
+ version: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)
devDependencies:
+ '@eslint/compat':
+ specifier: ^2.0.2
+ version: 2.0.3(eslint@9.39.4(jiti@2.6.1))
'@eslint/js':
- specifier: ^9.9.0
- version: 9.29.0
- '@tailwindcss/postcss':
- specifier: ^4.1.10
- version: 4.1.10
- '@tailwindcss/typography':
- specifier: ^0.5.15
- version: 0.5.16(tailwindcss@4.1.10)
+ specifier: ^9.39.2
+ version: 9.39.4
+ '@sveltejs/adapter-vercel':
+ specifier: ^6.3.1
+ version: 6.3.3(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(rollup@4.59.0)
+ '@sveltejs/kit':
+ specifier: ^2.50.2
+ version: 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ '@sveltejs/vite-plugin-svelte':
+ specifier: ^6.2.4
+ version: 6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ '@tailwindcss/vite':
+ specifier: ^4.1.18
+ version: 4.2.1(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
'@types/node':
- specifier: ^22.5.5
- version: 22.15.32
- '@types/react':
- specifier: ^18.3.3
- version: 18.3.23
- '@types/react-dom':
- specifier: ^18.3.0
- version: 18.3.7(@types/react@18.3.23)
- '@vitejs/plugin-react-swc':
- specifier: ^3.5.0
- version: 3.10.2(vite@5.4.19(@types/node@22.15.32)(lightningcss@1.30.1))
+ specifier: ^24
+ version: 24.12.0
eslint:
- specifier: ^9.9.0
- version: 9.29.0(jiti@2.4.2)
- eslint-plugin-react-hooks:
- specifier: ^5.1.0-rc.0
- version: 5.2.0(eslint@9.29.0(jiti@2.4.2))
- eslint-plugin-react-refresh:
- specifier: ^0.4.9
- version: 0.4.20(eslint@9.29.0(jiti@2.4.2))
+ specifier: ^9.39.2
+ version: 9.39.4(jiti@2.6.1)
+ eslint-config-prettier:
+ specifier: ^10.1.8
+ version: 10.1.8(eslint@9.39.4(jiti@2.6.1))
+ eslint-plugin-svelte:
+ specifier: ^3.14.0
+ version: 3.15.2(eslint@9.39.4(jiti@2.6.1))(svelte@5.53.9)
globals:
- specifier: ^15.9.0
- version: 15.15.0
- postcss:
- specifier: ^8.4.47
- version: 8.5.6
+ specifier: ^17.3.0
+ version: 17.4.0
+ prettier:
+ specifier: ^3.8.1
+ version: 3.8.1
+ prettier-plugin-svelte:
+ specifier: ^3.4.1
+ version: 3.5.1(prettier@3.8.1)(svelte@5.53.9)
+ prettier-plugin-tailwindcss:
+ specifier: ^0.7.2
+ version: 0.7.2(prettier-plugin-svelte@3.5.1(prettier@3.8.1)(svelte@5.53.9))(prettier@3.8.1)
+ svelte:
+ specifier: ^5.51.0
+ version: 5.53.9
+ svelte-check:
+ specifier: ^4.4.2
+ version: 4.4.5(picomatch@4.0.3)(svelte@5.53.9)(typescript@5.9.3)
tailwindcss:
- specifier: ^4.1.10
- version: 4.1.10
+ specifier: ^4.1.18
+ version: 4.2.1
typescript:
- specifier: ^5.5.3
- version: 5.8.3
+ specifier: ^5.9.3
+ version: 5.9.3
typescript-eslint:
- specifier: ^8.0.1
- version: 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
+ specifier: ^8.54.0
+ version: 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
vite:
- specifier: ^5.4.1
- version: 5.4.19(@types/node@22.15.32)(lightningcss@1.30.1)
+ specifier: ^7.3.1
+ version: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
+ vite-plugin-devtools-json:
+ specifier: ^1.0.0
+ version: 1.0.0(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
packages:
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
- '@babel/runtime@7.27.6':
- resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
- engines: {node: '>=6.9.0'}
+ '@esbuild/aix-ppc64@0.25.12':
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
+ '@esbuild/aix-ppc64@0.27.3':
+ resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==}
+ engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
+ '@esbuild/android-arm64@0.25.12':
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
+ '@esbuild/android-arm64@0.27.3':
+ resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.12':
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
+ '@esbuild/android-arm@0.27.3':
+ resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.12':
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
+ '@esbuild/android-x64@0.27.3':
+ resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.12':
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
+ '@esbuild/darwin-arm64@0.27.3':
+ resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.12':
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
+ '@esbuild/darwin-x64@0.27.3':
+ resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
+ '@esbuild/freebsd-arm64@0.27.3':
+ resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.12':
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
+ '@esbuild/freebsd-x64@0.27.3':
+ resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.12':
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
+ '@esbuild/linux-arm64@0.27.3':
+ resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.12':
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-arm@0.27.3':
+ resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.12':
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-ia32@0.27.3':
+ resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.12':
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-loong64@0.27.3':
+ resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.12':
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
+ '@esbuild/linux-mips64el@0.27.3':
+ resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.12':
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
+ '@esbuild/linux-ppc64@0.27.3':
+ resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.12':
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
+ '@esbuild/linux-riscv64@0.27.3':
+ resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.12':
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
+ '@esbuild/linux-s390x@0.27.3':
+ resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.12':
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
+ '@esbuild/linux-x64@0.27.3':
+ resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==}
+ engines: {node: '>=18'}
cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
os: [netbsd]
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
+ '@esbuild/netbsd-arm64@0.27.3':
+ resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.12':
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.27.3':
+ resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==}
+ engines: {node: '>=18'}
cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
os: [openbsd]
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
+ '@esbuild/openbsd-arm64@0.27.3':
+ resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.12':
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.27.3':
+ resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/openharmony-arm64@0.27.3':
+ resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.12':
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
+ '@esbuild/sunos-x64@0.27.3':
+ resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.12':
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
+ '@esbuild/win32-arm64@0.27.3':
+ resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.12':
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
+ '@esbuild/win32-ia32@0.27.3':
+ resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.12':
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ '@esbuild/win32-x64@0.27.3':
+ resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.9.1':
+ resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ '@eslint-community/regexpp@4.12.2':
+ resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.20.1':
- resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/compat@2.0.3':
+ resolution: {integrity: sha512-SjIJhGigp8hmd1YGIBwh7Ovri7Kisl42GYFjrOyHhtfYGGoLW6teYi/5p8W50KSsawUPpuLOSmsq1bD0NGQLBw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+ peerDependencies:
+ eslint: ^8.40 || 9 || 10
+ peerDependenciesMeta:
+ eslint:
+ optional: true
- '@eslint/config-helpers@0.2.3':
- resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==}
+ '@eslint/config-array@0.21.2':
+ resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.14.0':
- resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.15.0':
- resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==}
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.3.1':
- resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/core@1.1.1':
+ resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/js@9.29.0':
- resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==}
+ '@eslint/eslintrc@3.3.5':
+ resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.6':
- resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ '@eslint/js@9.39.4':
+ resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.3.2':
- resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==}
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@floating-ui/core@1.7.1':
- resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==}
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@floating-ui/dom@1.7.1':
- resolution: {integrity: sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==}
+ '@floating-ui/core@1.7.5':
+ resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
- '@floating-ui/react-dom@2.1.3':
- resolution: {integrity: sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ '@floating-ui/dom@1.7.6':
+ resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
- '@floating-ui/utils@0.2.9':
- resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
-
- '@hookform/resolvers@3.10.0':
- resolution: {integrity: sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==}
- peerDependencies:
- react-hook-form: ^7.0.0
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
+ '@internationalized/date@3.12.0':
+ resolution: {integrity: sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ==}
+
'@isaacs/fs-minipass@4.0.1':
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
engines: {node: '>=18.0.0'}
- '@jridgewell/gen-mapping@0.3.8':
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
- engines: {node: '>=6.0.0'}
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@radix-ui/number@1.1.1':
- resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
-
- '@radix-ui/primitive@1.1.2':
- resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==}
-
- '@radix-ui/react-accordion@1.2.11':
- resolution: {integrity: sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-alert-dialog@1.1.14':
- resolution: {integrity: sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-arrow@1.1.7':
- resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-aspect-ratio@1.1.7':
- resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-avatar@1.1.10':
- resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-checkbox@1.3.2':
- resolution: {integrity: sha512-yd+dI56KZqawxKZrJ31eENUwqc1QSqg4OZ15rybGjF2ZNwMO+wCyHzAVLRp9qoYJf7kYy0YpZ2b0JCzJ42HZpA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-collapsible@1.1.11':
- resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-collection@1.1.7':
- resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-compose-refs@1.1.2':
- resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-context-menu@2.2.15':
- resolution: {integrity: sha512-UsQUMjcYTsBjTSXw0P3GO0werEQvUY2plgRQuKoCTtkNr45q1DiL51j4m7gxhABzZ0BadoXNsIbg7F3KwiUBbw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-context@1.1.2':
- resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-dialog@1.1.14':
- resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-direction@1.1.1':
- resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-dismissable-layer@1.1.10':
- resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-dropdown-menu@2.1.15':
- resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-focus-guards@1.1.2':
- resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-focus-scope@1.1.7':
- resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-hover-card@1.1.14':
- resolution: {integrity: sha512-CPYZ24Mhirm+g6D8jArmLzjYu4Eyg3TTUHswR26QgzXBHBe64BO/RHOJKzmF/Dxb4y4f9PKyJdwm/O/AhNkb+Q==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-id@1.1.1':
- resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-label@2.1.7':
- resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-menu@2.1.15':
- resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-menubar@1.1.15':
- resolution: {integrity: sha512-Z71C7LGD+YDYo3TV81paUs8f3Zbmkvg6VLRQpKYfzioOE6n7fOhA3ApK/V/2Odolxjoc4ENk8AYCjohCNayd5A==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-navigation-menu@1.2.13':
- resolution: {integrity: sha512-WG8wWfDiJlSF5hELjwfjSGOXcBR/ZMhBFCGYe8vERpC39CQYZeq1PQ2kaYHdye3V95d06H89KGMsVCIE4LWo3g==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-popover@1.1.14':
- resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-popper@1.2.7':
- resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-portal@1.1.9':
- resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-presence@1.1.4':
- resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-primitive@2.1.3':
- resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-progress@1.1.7':
- resolution: {integrity: sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-radio-group@1.3.7':
- resolution: {integrity: sha512-9w5XhD0KPOrm92OTTE0SysH3sYzHsSTHNvZgUBo/VZ80VdYyB5RneDbc0dKpURS24IxkoFRu/hI0i4XyfFwY6g==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-roving-focus@1.1.10':
- resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-scroll-area@1.2.9':
- resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-select@2.2.5':
- resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-separator@1.1.7':
- resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-slider@1.3.5':
- resolution: {integrity: sha512-rkfe2pU2NBAYfGaxa3Mqosi7VZEWX5CxKaanRv0vZd4Zhl9fvQrg0VM93dv3xGLGfrHuoTRF3JXH8nb9g+B3fw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-slot@1.2.3':
- resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-switch@1.2.5':
- resolution: {integrity: sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-tabs@1.1.12':
- resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-toast@1.2.14':
- resolution: {integrity: sha512-nAP5FBxBJGQ/YfUB+r+O6USFVkWq3gAInkxyEnmvEV5jtSbfDhfa4hwX8CraCnbjMLsE7XSf/K75l9xXY7joWg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-toggle-group@1.1.10':
- resolution: {integrity: sha512-kiU694Km3WFLTC75DdqgM/3Jauf3rD9wxeS9XtyWFKsBUeZA337lC+6uUazT7I1DhanZ5gyD5Stf8uf2dbQxOQ==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-toggle@1.1.9':
- resolution: {integrity: sha512-ZoFkBBz9zv9GWer7wIjvdRxmh2wyc2oKWw6C6CseWd6/yq1DK/l5lJ+wnsmFwJZbBYqr02mrf8A2q/CVCuM3ZA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-tooltip@1.2.7':
- resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-use-callback-ref@1.1.1':
- resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-controllable-state@1.2.2':
- resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-effect-event@0.0.2':
- resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-escape-keydown@1.1.1':
- resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-is-hydrated@0.1.0':
- resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-layout-effect@1.1.1':
- resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-previous@1.1.1':
- resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-rect@1.1.1':
- resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@radix-ui/react-use-size@1.1.1':
- resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ '@mapbox/node-pre-gyp@2.0.3':
+ resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@polka/url@1.0.0-next.29':
+ resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
- '@radix-ui/react-visually-hidden@1.2.3':
- resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==}
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
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
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
+ rollup:
optional: true
- '@radix-ui/rect@1.1.1':
- resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
-
- '@remix-run/router@1.23.0':
- resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==}
- engines: {node: '>=14.0.0'}
-
- '@rolldown/pluginutils@1.0.0-beta.11':
- resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==}
-
- '@rollup/rollup-android-arm-eabi@4.44.0':
- resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==}
+ '@rollup/rollup-android-arm-eabi@4.59.0':
+ resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.44.0':
- resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==}
+ '@rollup/rollup-android-arm64@4.59.0':
+ resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.44.0':
- resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==}
+ '@rollup/rollup-darwin-arm64@4.59.0':
+ resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.44.0':
- resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==}
+ '@rollup/rollup-darwin-x64@4.59.0':
+ resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.44.0':
- resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==}
+ '@rollup/rollup-freebsd-arm64@4.59.0':
+ resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.44.0':
- resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==}
+ '@rollup/rollup-freebsd-x64@4.59.0':
+ resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.44.0':
- resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.59.0':
+ resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.44.0':
- resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==}
+ '@rollup/rollup-linux-arm-musleabihf@4.59.0':
+ resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==}
cpu: [arm]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.44.0':
- resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==}
+ '@rollup/rollup-linux-arm64-gnu@4.59.0':
+ resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.44.0':
- resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==}
+ '@rollup/rollup-linux-arm64-musl@4.59.0':
+ resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-loongarch64-gnu@4.44.0':
- resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==}
+ '@rollup/rollup-linux-loong64-gnu@4.59.0':
+ resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==}
cpu: [loong64]
os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-loong64-musl@4.59.0':
+ resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.59.0':
+ resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-powerpc64le-gnu@4.44.0':
- resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==}
+ '@rollup/rollup-linux-ppc64-musl@4.59.0':
+ resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==}
cpu: [ppc64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-riscv64-gnu@4.44.0':
- resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==}
+ '@rollup/rollup-linux-riscv64-gnu@4.59.0':
+ resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-riscv64-musl@4.44.0':
- resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==}
+ '@rollup/rollup-linux-riscv64-musl@4.59.0':
+ resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-s390x-gnu@4.44.0':
- resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==}
+ '@rollup/rollup-linux-s390x-gnu@4.59.0':
+ resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.44.0':
- resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==}
+ '@rollup/rollup-linux-x64-gnu@4.59.0':
+ resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.44.0':
- resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==}
+ '@rollup/rollup-linux-x64-musl@4.59.0':
+ resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==}
cpu: [x64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-win32-arm64-msvc@4.44.0':
- resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.44.0':
- resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.44.0':
- resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==}
+ '@rollup/rollup-openbsd-x64@4.59.0':
+ resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==}
cpu: [x64]
- os: [win32]
+ os: [openbsd]
- '@swc/core-darwin-arm64@1.12.4':
- resolution: {integrity: sha512-HihKfeitjZU2ab94Zf893sxzFryLKX0TweGsNXXOLNtkSMLw50auuYfpRM0BOL9/uXXtuCWgRIF6P030SAX5xQ==}
- engines: {node: '>=10'}
+ '@rollup/rollup-openharmony-arm64@4.59.0':
+ resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==}
cpu: [arm64]
- os: [darwin]
-
- '@swc/core-darwin-x64@1.12.4':
- resolution: {integrity: sha512-meYCXHyYb6RDdu2N5PNAf0EelyxPBFhRcVo4kBFLuvuNb0m6EUg///VWy8MUMXq9/s9uzGS9kJVXXdRdr/d6FA==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
+ os: [openharmony]
- '@swc/core-linux-arm-gnueabihf@1.12.4':
- resolution: {integrity: sha512-szfDbf7mE8V64of0q/LSqbk+em+T+TD3uqnH40Z7Qu/aL8vi5CHgyLjWG2SLkLLpyjgkAUF6AKrupgnBYcC2NA==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
-
- '@swc/core-linux-arm64-gnu@1.12.4':
- resolution: {integrity: sha512-n0IY76w+Scx8m3HIVRvLkoResuwsQgjDfAk9bxn99dq4leQO+mE0fkPl0Yw/1BIsPh+kxGfopIJH9zsZ1Z2YrA==}
- engines: {node: '>=10'}
+ '@rollup/rollup-win32-arm64-msvc@4.59.0':
+ resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==}
cpu: [arm64]
- os: [linux]
+ os: [win32]
- '@swc/core-linux-arm64-musl@1.12.4':
- resolution: {integrity: sha512-wE5jmFi5cEQyLy8WmCWmNwfKETrnzy2D8YNi/xpYWpLPWqPhcelpa6tswkfYlbsMmmOh7hQNoTba1QdGu0jvHQ==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
+ '@rollup/rollup-win32-ia32-msvc@4.59.0':
+ resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==}
+ cpu: [ia32]
+ os: [win32]
- '@swc/core-linux-x64-gnu@1.12.4':
- resolution: {integrity: sha512-6S50Xd/7ePjEwrXyHMxpKTZ+KBrgUwMA8hQPbArUOwH4S5vHBr51heL0iXbUkppn1bkSr0J0IbOove5hzn+iqQ==}
- engines: {node: '>=10'}
+ '@rollup/rollup-win32-x64-gnu@4.59.0':
+ resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==}
cpu: [x64]
- os: [linux]
+ os: [win32]
- '@swc/core-linux-x64-musl@1.12.4':
- resolution: {integrity: sha512-hbYRyaHhC13vYKuGG5BrAG5fjjWEQFfQetuFp/4QKEoXDzdnabJoixxWTQACDL3m0JW32nJ+gUzsYIPtFYkwXg==}
- engines: {node: '>=10'}
+ '@rollup/rollup-win32-x64-msvc@4.59.0':
+ resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==}
cpu: [x64]
- os: [linux]
-
- '@swc/core-win32-arm64-msvc@1.12.4':
- resolution: {integrity: sha512-e6EbfjPL8GA/bb1lc9Omtxjlz+1ThTsAuBsy4Q3Kpbuh6B3jclg8KzxU/6t91v23wG593mieTyR5f3Pr7X3AWw==}
- engines: {node: '>=10'}
- cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.12.4':
- resolution: {integrity: sha512-RG2FzmllBTUf4EksANlIvLckcBrLZEA0t13LIa6L213UZKQfEuDNHezqESgoVhJMg2S/tWauitATOCFgZNSmjg==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
- '@swc/core-win32-x64-msvc@1.12.4':
- resolution: {integrity: sha512-oRHKnZlR83zaMeVUCmHENa4j5uNRAWbmEpjYbzRcfC45LPFNWKGWGAGERLx0u87XMUtTGqnVYxnBTHN/rzDHOw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
+ '@sveltejs/acorn-typescript@1.0.9':
+ resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==}
+ peerDependencies:
+ acorn: ^8.9.0
- '@swc/core@1.12.4':
- resolution: {integrity: sha512-hn30ebV4njAn0NAUM+3a0qCF+MJgqTNSrfA/hUAbC6TVjOQy2OYGQwkUvCu/V7S2+rZxrUsTpKOnZ7qqECZV9Q==}
- engines: {node: '>=10'}
+ '@sveltejs/adapter-vercel@6.3.3':
+ resolution: {integrity: sha512-jI7jT/XqRyFe9oqKvFcNPQfyNBi3pXqN1iQXa2lmeKT5Vzgr9iSOqJOD3pXf/9Q2Os6SXzqYYm6osRjHYEhkyw==}
+ engines: {node: '>=20.0'}
peerDependencies:
- '@swc/helpers': '>=0.5.17'
+ '@sveltejs/kit': ^2.4.0
+
+ '@sveltejs/kit@2.53.4':
+ resolution: {integrity: sha512-iAIPEahFgDJJyvz8g0jP08KvqnM6JvdW8YfsygZ+pMeMvyM2zssWMltcsotETvjSZ82G3VlitgDtBIvpQSZrTA==}
+ engines: {node: '>=18.13'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.0.0
+ '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ typescript: ^5.3.3
+ vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0
peerDependenciesMeta:
- '@swc/helpers':
+ '@opentelemetry/api':
+ optional: true
+ typescript:
optional: true
- '@swc/counter@0.1.3':
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.2':
+ resolution: {integrity: sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0
+ svelte: ^5.0.0
+ vite: ^6.3.0 || ^7.0.0
- '@swc/types@0.1.23':
- resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==}
+ '@sveltejs/vite-plugin-svelte@6.2.4':
+ resolution: {integrity: sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
+ peerDependencies:
+ svelte: ^5.0.0
+ vite: ^6.3.0 || ^7.0.0
- '@tailwindcss/node@4.1.10':
- resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==}
+ '@swc/helpers@0.5.19':
+ resolution: {integrity: sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==}
- '@tailwindcss/oxide-android-arm64@4.1.10':
- resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==}
- engines: {node: '>= 10'}
+ '@tailwindcss/node@4.2.1':
+ resolution: {integrity: sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==}
+
+ '@tailwindcss/oxide-android-arm64@4.2.1':
+ resolution: {integrity: sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==}
+ engines: {node: '>= 20'}
cpu: [arm64]
os: [android]
- '@tailwindcss/oxide-darwin-arm64@4.1.10':
- resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-darwin-arm64@4.2.1':
+ resolution: {integrity: sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==}
+ engines: {node: '>= 20'}
cpu: [arm64]
os: [darwin]
- '@tailwindcss/oxide-darwin-x64@4.1.10':
- resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-darwin-x64@4.2.1':
+ resolution: {integrity: sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==}
+ engines: {node: '>= 20'}
cpu: [x64]
os: [darwin]
- '@tailwindcss/oxide-freebsd-x64@4.1.10':
- resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-freebsd-x64@4.2.1':
+ resolution: {integrity: sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==}
+ engines: {node: '>= 20'}
cpu: [x64]
os: [freebsd]
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
- resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1':
+ resolution: {integrity: sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==}
+ engines: {node: '>= 20'}
cpu: [arm]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
- resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-linux-arm64-gnu@4.2.1':
+ resolution: {integrity: sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==}
+ engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
- '@tailwindcss/oxide-linux-arm64-musl@4.1.10':
- resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-linux-arm64-musl@4.2.1':
+ resolution: {integrity: sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==}
+ engines: {node: '>= 20'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
- '@tailwindcss/oxide-linux-x64-gnu@4.1.10':
- resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-linux-x64-gnu@4.2.1':
+ resolution: {integrity: sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==}
+ engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
- '@tailwindcss/oxide-linux-x64-musl@4.1.10':
- resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-linux-x64-musl@4.2.1':
+ resolution: {integrity: sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==}
+ engines: {node: '>= 20'}
cpu: [x64]
os: [linux]
+ libc: [musl]
- '@tailwindcss/oxide-wasm32-wasi@4.1.10':
- resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==}
+ '@tailwindcss/oxide-wasm32-wasi@4.2.1':
+ resolution: {integrity: sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
bundledDependencies:
@@ -1358,61 +765,29 @@ packages:
- '@emnapi/wasi-threads'
- tslib
- '@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
- resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-win32-arm64-msvc@4.2.1':
+ resolution: {integrity: sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==}
+ engines: {node: '>= 20'}
cpu: [arm64]
os: [win32]
- '@tailwindcss/oxide-win32-x64-msvc@4.1.10':
- resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==}
- engines: {node: '>= 10'}
+ '@tailwindcss/oxide-win32-x64-msvc@4.2.1':
+ resolution: {integrity: sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==}
+ engines: {node: '>= 20'}
cpu: [x64]
os: [win32]
- '@tailwindcss/oxide@4.1.10':
- resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==}
- engines: {node: '>= 10'}
-
- '@tailwindcss/postcss@4.1.10':
- resolution: {integrity: sha512-B+7r7ABZbkXJwpvt2VMnS6ujcDoR2OOcFaqrLIo1xbcdxje4Vf+VgJdBzNNbrAjBj/rLZ66/tlQ1knIGNLKOBQ==}
-
- '@tailwindcss/typography@0.5.16':
- resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
+ '@tailwindcss/oxide@4.2.1':
+ resolution: {integrity: sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==}
+ engines: {node: '>= 20'}
- '@tailwindcss/vite@4.1.10':
- resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==}
+ '@tailwindcss/vite@4.2.1':
+ resolution: {integrity: sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==}
peerDependencies:
- vite: ^5.2.0 || ^6
-
- '@types/d3-array@3.2.1':
- resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
-
- '@types/d3-color@3.1.3':
- resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
-
- '@types/d3-ease@3.0.2':
- resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
-
- '@types/d3-interpolate@3.0.4':
- resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
-
- '@types/d3-path@3.1.1':
- resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+ vite: ^5.2.0 || ^6 || ^7
- '@types/d3-scale@4.0.9':
- resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
-
- '@types/d3-shape@3.1.7':
- resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
-
- '@types/d3-time@3.0.4':
- resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
-
- '@types/d3-timer@3.0.2':
- resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
@@ -1420,96 +795,101 @@ packages:
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/node@22.15.32':
- resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==}
-
- '@types/prop-types@15.7.15':
- resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
+ '@types/node@24.12.0':
+ resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==}
- '@types/react-dom@18.3.7':
- resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
- peerDependencies:
- '@types/react': ^18.0.0
-
- '@types/react@18.3.23':
- resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
- '@typescript-eslint/eslint-plugin@8.34.1':
- resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==}
+ '@typescript-eslint/eslint-plugin@8.57.0':
+ resolution: {integrity: sha512-qeu4rTHR3/IaFORbD16gmjq9+rEs9fGKdX0kF6BKSfi+gCuG3RCKLlSBYzn/bGsY9Tj7KE/DAQStbp8AHJGHEQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.34.1
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ '@typescript-eslint/parser': ^8.57.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.34.1':
- resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==}
+ '@typescript-eslint/parser@8.57.0':
+ resolution: {integrity: sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.34.1':
- resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==}
+ '@typescript-eslint/project-service@8.57.0':
+ resolution: {integrity: sha512-pR+dK0BlxCLxtWfaKQWtYr7MhKmzqZxuii+ZjuFlZlIGRZm22HnXFqa2eY+90MUz8/i80YJmzFGDUsi8dMOV5w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <5.9.0'
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.34.1':
- resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==}
+ '@typescript-eslint/scope-manager@8.57.0':
+ resolution: {integrity: sha512-nvExQqAHF01lUM66MskSaZulpPL5pgy5hI5RfrxviLgzZVffB5yYzw27uK/ft8QnKXI2X0LBrHJFr1TaZtAibw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.34.1':
- resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==}
+ '@typescript-eslint/tsconfig-utils@8.57.0':
+ resolution: {integrity: sha512-LtXRihc5ytjJIQEH+xqjB0+YgsV4/tW35XKX3GTZHpWtcC8SPkT/d4tqdf1cKtesryHm2bgp6l555NYcT2NLvA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <5.9.0'
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.34.1':
- resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==}
+ '@typescript-eslint/type-utils@8.57.0':
+ resolution: {integrity: sha512-yjgh7gmDcJ1+TcEg8x3uWQmn8ifvSupnPfjP21twPKrDP/pTHlEQgmKcitzF/rzPSmv7QjJ90vRpN4U+zoUjwQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.34.1':
- resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==}
+ '@typescript-eslint/types@8.57.0':
+ resolution: {integrity: sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.34.1':
- resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==}
+ '@typescript-eslint/typescript-estree@8.57.0':
+ resolution: {integrity: sha512-m7faHcyVg0BT3VdYTlX8GdJEM7COexXxS6KqGopxdtkQRvBanK377QDHr4W/vIPAR+ah9+B/RclSW5ldVniO1Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '>=4.8.4 <5.9.0'
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.34.1':
- resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==}
+ '@typescript-eslint/utils@8.57.0':
+ resolution: {integrity: sha512-5iIHvpD3CZe06riAsbNxxreP+MuYgVUsV0n4bwLH//VJmgtt54sQeY2GszntJ4BjYCpMzrfVh2SBnUQTtys2lQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.34.1':
- resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==}
+ '@typescript-eslint/visitor-keys@8.57.0':
+ resolution: {integrity: sha512-zm6xx8UT/Xy2oSr2ZXD0pZo7Jx2XsCoID2IUh9YSTFRu7z+WdwYTRk6LhUftm1crwqbuoF6I8zAFeCMw0YjwDg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@vitejs/plugin-react-swc@3.10.2':
- resolution: {integrity: sha512-xD3Rdvrt5LgANug7WekBn1KhcvLn1H3jNBfJRL3reeOIua/WnZOEV5qi5qIBq5T8R0jUDmRtxuvk4bPhzGHDWw==}
+ '@vercel/nft@1.3.2':
+ resolution: {integrity: sha512-HC8venRc4Ya7vNeBsJneKHHMDDWpQie7VaKhAIOst3MKO+DES+Y/SbzSp8mFkD7OzwAE2HhHkeSuSmwS20mz3A==}
+ engines: {node: '>=20'}
+ hasBin: true
+
+ abbrev@3.0.1:
+ resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
peerDependencies:
- vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0
+ acorn: ^8
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.15.0:
- resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ acorn@8.16.0:
+ resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
engines: {node: '>=0.4.0'}
hasBin: true
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ agent-base@7.1.4:
+ resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
+ engines: {node: '>= 14'}
+
+ ajv@6.14.0:
+ resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
@@ -1518,26 +898,40 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- aria-hidden@1.2.6:
- resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
- engines: {node: '>=10'}
+ aria-query@5.3.1:
+ resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==}
+ engines: {node: '>= 0.4'}
+
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- base64-arraybuffer@1.0.2:
- resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
- engines: {node: '>= 0.6.0'}
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
+
+ bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+
+ bits-ui@2.16.3:
+ resolution: {integrity: sha512-5hJ5dEhf5yPzkRFcxzgQHScGodeo0gK0MUUXrdLlRHWaBOBGZiacWLG96j/wwFatKwZvouw7q+sn14i0fx3RIg==}
+ engines: {node: '>=20'}
+ peerDependencies:
+ '@internationalized/date': ^3.8.1
+ svelte: ^5.33.0
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
- brace-expansion@2.0.2:
- resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
+ brace-expansion@5.0.4:
+ resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==}
+ engines: {node: 18 || 20 || >=22}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
@@ -1547,23 +941,18 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
chownr@3.0.0:
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
engines: {node: '>=18'}
- class-variance-authority@0.7.1:
- resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
-
clsx@2.1.1:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
- cmdk@1.1.1:
- resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==}
- peerDependencies:
- react: ^18 || ^19 || ^19.0.0-rc
- react-dom: ^18 || ^19 || ^19.0.0-rc
-
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@@ -1574,70 +963,25 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
+
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
- css-line-break@2.1.0:
- resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==}
-
cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- d3-array@3.2.4:
- resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
- engines: {node: '>=12'}
-
- d3-color@3.1.0:
- resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
- engines: {node: '>=12'}
-
- d3-ease@3.0.1:
- resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
- engines: {node: '>=12'}
-
- d3-format@3.1.0:
- resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
- engines: {node: '>=12'}
-
- d3-interpolate@3.0.1:
- resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
- engines: {node: '>=12'}
-
- d3-path@3.1.0:
- resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
- engines: {node: '>=12'}
-
- d3-scale@4.0.2:
- resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
- engines: {node: '>=12'}
-
- d3-shape@3.2.0:
- resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
- engines: {node: '>=12'}
-
- d3-time-format@4.1.0:
- resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
- engines: {node: '>=12'}
-
- d3-time@3.1.0:
- resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
- engines: {node: '>=12'}
-
- d3-timer@3.0.1:
- resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
- engines: {node: '>=12'}
-
- date-fns@3.6.0:
- resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
-
- debug@4.4.1:
- resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -1645,58 +989,57 @@ packages:
supports-color:
optional: true
- decimal.js-light@2.5.1:
- resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==}
-
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- detect-libc@2.0.4:
- resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
- engines: {node: '>=8'}
-
- detect-node-es@1.1.0:
- resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
-
- dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
- embla-carousel-react@8.6.0:
- resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
- embla-carousel-reactive-utils@8.6.0:
- resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==}
- peerDependencies:
- embla-carousel: 8.6.0
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
- embla-carousel@8.6.0:
- resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==}
+ devalue@5.6.3:
+ resolution: {integrity: sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==}
- enhanced-resolve@5.18.1:
- resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ enhanced-resolve@5.20.0:
+ resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==}
engines: {node: '>=10.13.0'}
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
+ esbuild@0.25.12:
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ esbuild@0.27.3:
+ resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
+ engines: {node: '>=18'}
hasBin: true
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-plugin-react-hooks@5.2.0:
- resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
- engines: {node: '>=10'}
+ eslint-config-prettier@10.1.8:
+ resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
+ hasBin: true
peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+ eslint: '>=7.0.0'
- eslint-plugin-react-refresh@0.4.20:
- resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==}
+ eslint-plugin-svelte@3.15.2:
+ resolution: {integrity: sha512-k4Nsjs3bHujeEnnckoTM4mFYR1e8Mb9l2rTwNdmYiamA+Tjzn8X+2F+fuSP2w4VbXYhn2bmySyACQYdmUDW2Cg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: '>=8.40'
+ eslint: ^8.57.1 || ^9.0.0 || ^10.0.0
+ svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ svelte:
+ optional: true
eslint-scope@8.4.0:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
@@ -1710,8 +1053,12 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.29.0:
- resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==}
+ eslint-visitor-keys@5.0.1:
+ resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
+ eslint@9.39.4:
+ resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -1720,14 +1067,20 @@ packages:
jiti:
optional: true
+ esm-env@1.2.2:
+ resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
+
espree@10.4.0:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ esquery@1.7.0:
+ resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
+ esrap@2.2.3:
+ resolution: {integrity: sha512-8fOS+GIGCQZl/ZIlhl59htOlms6U8NvX6ZYgYHpRU/b6tVSh3uHkOHZikl3D4cMbYM0JlpBe+p/BkZEi8J9XIQ==}
+
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
@@ -1736,40 +1089,37 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
- eventemitter3@4.0.7:
- resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-equals@5.2.2:
- resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==}
- engines: {node: '>=6.0.0'}
-
- fast-glob@3.3.3:
- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
- engines: {node: '>=8.6.0'}
-
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fastq@1.19.1:
- resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
+ file-uri-to-path@1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
@@ -1779,50 +1129,44 @@ packages:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
- flatted@3.3.3:
- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ flatted@3.4.1:
+ resolution: {integrity: sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
- get-nonce@1.0.1:
- resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
- engines: {node: '>=6'}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
+ glob@13.0.6:
+ resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
+ engines: {node: 18 || 20 || >=22}
+
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.15.0:
- resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ globals@16.5.0:
+ resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==}
+ engines: {node: '>=18'}
+
+ globals@17.4.0:
+ resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==}
engines: {node: '>=18'}
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- html2canvas@1.4.1:
- resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
- engines: {node: '>=8.0.0'}
-
- idb-keyval@6.2.2:
- resolution: {integrity: sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==}
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
+ engines: {node: '>= 14'}
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
@@ -1840,15 +1184,8 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- input-otp@1.4.2:
- resolution: {integrity: sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc
-
- internmap@2.0.3:
- resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
- engines: {node: '>=12'}
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
@@ -1858,22 +1195,18 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ is-reference@3.0.3:
+ resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- jiti@2.4.2:
- resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
json-buffer@3.0.1:
@@ -1888,129 +1221,138 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
+ known-css-properties@0.37.0:
+ resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==}
+
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lightningcss-darwin-arm64@1.30.1:
- resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
+ lightningcss-android-arm64@1.31.1:
+ resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.31.1:
+ resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
- lightningcss-darwin-x64@1.30.1:
- resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
+ lightningcss-darwin-x64@1.31.1:
+ resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
- lightningcss-freebsd-x64@1.30.1:
- resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
+ lightningcss-freebsd-x64@1.31.1:
+ resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
- lightningcss-linux-arm-gnueabihf@1.30.1:
- resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
+ lightningcss-linux-arm-gnueabihf@1.31.1:
+ resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
- lightningcss-linux-arm64-gnu@1.30.1:
- resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
+ lightningcss-linux-arm64-gnu@1.31.1:
+ resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
- lightningcss-linux-arm64-musl@1.30.1:
- resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
+ lightningcss-linux-arm64-musl@1.31.1:
+ resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
- lightningcss-linux-x64-gnu@1.30.1:
- resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
+ lightningcss-linux-x64-gnu@1.31.1:
+ resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
- lightningcss-linux-x64-musl@1.30.1:
- resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
+ lightningcss-linux-x64-musl@1.31.1:
+ resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [musl]
- lightningcss-win32-arm64-msvc@1.30.1:
- resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
+ lightningcss-win32-arm64-msvc@1.31.1:
+ resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
- lightningcss-win32-x64-msvc@1.30.1:
- resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
+ lightningcss-win32-x64-msvc@1.31.1:
+ resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
- lightningcss@1.30.1:
- resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
+ lightningcss@1.31.1:
+ resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==}
engines: {node: '>= 12.0.0'}
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
- lodash.castarray@4.4.0:
- resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
+ locate-character@3.0.0:
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
- lodash.isplainobject@4.0.6:
- resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ lru-cache@11.2.6:
+ resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==}
+ engines: {node: 20 || >=22}
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
- lucide-react@0.462.0:
- resolution: {integrity: sha512-NTL7EbAao9IFtuSivSZgrAh4fZd09Lr+6MTkqIxuHaH2nnYiYIzXPo06cOxHg9wKLdj6LL8TByG4qpePqwgx/g==}
- peerDependencies:
- react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
-
- magic-string@0.30.17:
- resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@10.2.4:
+ resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
+ engines: {node: 18 || 20 || >=22}
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ minipass@7.1.3:
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
engines: {node: '>=16 || 14 >=14.17'}
- minizlib@3.0.2:
- resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ minizlib@3.1.0:
+ resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
engines: {node: '>= 18'}
- mkdirp@3.0.1:
- resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
- hasBin: true
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -2023,15 +1365,26 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- next-themes@0.3.0:
- resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==}
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
peerDependencies:
- react: ^16.8 || ^17 || ^18
- react-dom: ^16.8 || ^17 || ^18
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ node-gyp-build@4.8.4:
+ resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
+ hasBin: true
+
+ nopt@8.1.0:
+ resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+ hasBin: true
+
+ obug@2.1.1:
+ resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
@@ -2057,157 +1410,161 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ path-scurry@2.0.2:
+ resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
+ engines: {node: 18 || 20 || >=22}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- postcss-selector-parser@6.0.10:
- resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
- engines: {node: '>=4'}
-
- postcss@8.5.6:
- resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
- engines: {node: ^10 || ^12 || >=14}
-
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
-
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- react-day-picker@8.10.1:
- resolution: {integrity: sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==}
- peerDependencies:
- date-fns: ^2.28.0 || ^3.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
-
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
-
- react-hook-form@7.58.1:
- resolution: {integrity: sha512-Lml/KZYEEFfPhUVgE0RdCVpnC4yhW+PndRhbiTtdvSlQTL8IfVR+iQkBjLIvmmc6+GGoVeM11z37ktKFPAb0FA==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- react: ^16.8.0 || ^17 || ^18 || ^19
-
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
-
- react-is@18.3.1:
- resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
- react-remove-scroll-bar@2.3.8:
- resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
- engines: {node: '>=10'}
+ postcss-load-config@3.1.4:
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
peerDependenciesMeta:
- '@types/react':
+ postcss:
optional: true
-
- react-remove-scroll@2.7.1:
- resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
+ ts-node:
optional: true
- react-resizable-panels@2.1.9:
- resolution: {integrity: sha512-z77+X08YDIrgAes4jl8xhnUu1LNIRp4+E7cv4xHmLOxxUPO/ML7PSrE813b90vj7xvQ1lcf7g2uA9GeMZonjhQ==}
+ postcss-safe-parser@7.0.1:
+ resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==}
+ engines: {node: '>=18.0'}
peerDependencies:
- react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ postcss: ^8.4.31
- react-router-dom@6.30.1:
- resolution: {integrity: sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==}
- engines: {node: '>=14.0.0'}
+ postcss-scss@4.0.9:
+ resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
+ engines: {node: '>=12.0'}
peerDependencies:
- react: '>=16.8'
- react-dom: '>=16.8'
+ postcss: ^8.4.29
- react-router@6.30.1:
- resolution: {integrity: sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=16.8'
+ postcss-selector-parser@7.1.1:
+ resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
+ engines: {node: '>=4'}
- react-smooth@4.0.4:
- resolution: {integrity: sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==}
- 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
+ postcss@8.5.8:
+ resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
+ engines: {node: ^10 || ^12 || >=14}
- react-style-singleton@2.2.3:
- resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier-plugin-svelte@3.5.1:
+ resolution: {integrity: sha512-65+fr5+cgIKWKiqM1Doum4uX6bY8iFCdztvvp2RcF+AJoieaw9kJOFMNcJo/bkmKYsxFaM9OsVZK/gWauG/5mg==}
+ peerDependencies:
+ prettier: ^3.0.0
+ svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
+
+ prettier-plugin-tailwindcss@0.7.2:
+ resolution: {integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-hermes': '*'
+ '@prettier/plugin-oxc': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+ prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+ prettier-plugin-svelte: '*'
peerDependenciesMeta:
- '@types/react':
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+ '@prettier/plugin-hermes':
+ optional: true
+ '@prettier/plugin-oxc':
+ optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+ '@zackad/prettier-plugin-twig':
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+ prettier-plugin-css-order:
+ optional: true
+ prettier-plugin-jsdoc:
+ optional: true
+ prettier-plugin-marko:
+ optional: true
+ prettier-plugin-multiline-arrays:
+ optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+ optional: true
+ prettier-plugin-sort-imports:
+ optional: true
+ prettier-plugin-svelte:
optional: true
- react-transition-group@4.4.5:
- resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
- peerDependencies:
- react: '>=16.6.0'
- react-dom: '>=16.6.0'
-
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
+ prettier@3.8.1:
+ resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
+ engines: {node: '>=14'}
+ hasBin: true
- recharts-scale@0.4.5:
- resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
- recharts@2.15.3:
- resolution: {integrity: sha512-EdOPzTwcFSuqtvkDoaM5ws/Km1+WTAO2eizL7rqiG0V2UVhTnz0m7J2i0CjVPUCdEkZImaWvXLbZDS2H5t6GFQ==}
- engines: {node: '>=14'}
- peerDependencies:
- react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
- reusify@1.1.0:
- resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
- rollup@4.44.0:
- resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==}
+ rollup@4.59.0:
+ resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ runed@0.35.1:
+ resolution: {integrity: sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q==}
+ peerDependencies:
+ '@sveltejs/kit': ^2.21.0
+ svelte: ^5.7.0
+ peerDependenciesMeta:
+ '@sveltejs/kit':
+ optional: true
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ sade@1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
- semver@7.7.2:
- resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
+ set-cookie-parser@3.0.1:
+ resolution: {integrity: sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q==}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -2216,11 +1573,9 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- sonner@1.7.4:
- resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==}
- peerDependencies:
- react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ sirv@3.0.2:
+ resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
+ engines: {node: '>=18'}
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
@@ -2230,41 +1585,67 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- tailwind-merge@2.6.0:
- resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
+ svelte-check@4.4.5:
+ resolution: {integrity: sha512-1bSwIRCvvmSHrlK52fOlZmVtUZgil43jNL/2H18pRpa+eQjzGt6e3zayxhp1S7GajPFKNM/2PMCG+DZFHlG9fw==}
+ engines: {node: '>= 18.0.0'}
+ hasBin: true
+ peerDependencies:
+ svelte: ^4.0.0 || ^5.0.0-next.0
+ typescript: '>=5.0.0'
+
+ svelte-eslint-parser@1.6.0:
+ resolution: {integrity: sha512-qoB1ehychT6OxEtQAqc/guSqLS20SlA53Uijl7x375s8nlUT0lb9ol/gzraEEatQwsyPTJo87s2CmKL9Xab+Uw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.30.3}
+ peerDependencies:
+ svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ svelte:
+ optional: true
- tailwindcss-animate@1.0.7:
- resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ svelte-toolbelt@0.10.6:
+ resolution: {integrity: sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ==}
+ engines: {node: '>=18', pnpm: '>=8.7.0'}
peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
+ svelte: ^5.30.2
+
+ svelte@5.53.9:
+ resolution: {integrity: sha512-MwDfWsN8qZzeP0jlQsWF4k/4B3csb3IbzCRggF+L/QqY7T8bbKvnChEo1cPZztF51HJQhilDbevWYl2LvXbquA==}
+ engines: {node: '>=18'}
+
+ tabbable@6.4.0:
+ resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==}
- tailwindcss@4.1.10:
- resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==}
+ tailwindcss@4.2.1:
+ resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==}
- tapable@2.2.2:
- resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
- tar@7.4.3:
- resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+ tar@7.5.11:
+ resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==}
engines: {node: '>=18'}
- text-segmentation@1.0.3:
- resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==}
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ engines: {node: '>=12.0.0'}
- tiny-invariant@1.3.3:
- resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- ts-api-utils@2.1.0:
- resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ ts-api-utils@2.4.0:
+ resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
engines: {node: '>=18.12'}
peerDependencies:
typescript: '>=4.8.4'
@@ -2276,80 +1657,57 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.34.1:
- resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==}
+ typescript-eslint@8.57.0:
+ resolution: {integrity: sha512-W8GcigEMEeB07xEZol8oJ26rigm3+bfPHxHvwbYUlu1fUDsGuQ7Hiskx5xGW/xM4USc9Ephe3jtv7ZYPQntHeA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.9.0'
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.0.0'
- typescript@5.8.3:
- resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
- undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- use-callback-ref@1.3.3:
- resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
- 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
-
- use-sidecar@1.1.3:
- resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
- 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
-
- use-sync-external-store@1.5.0:
- resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utrie@1.0.2:
- resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
+ uuid@11.1.0:
+ resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
+ hasBin: true
- vaul@0.9.9:
- resolution: {integrity: sha512-7afKg48srluhZwIkaU+lgGtFCUsYBSGOl8vcc8N/M3YQlZFlynHD15AE+pwrYdc826o7nrIND4lL9Y6b9WWZZQ==}
+ vite-plugin-devtools-json@1.0.0:
+ resolution: {integrity: sha512-MobvwqX76Vqt/O4AbnNMNWoXWGrKUqZbphCUle/J2KXH82yKQiunOeKnz/nqEPosPsoWWPP9FtNuPBSYpiiwkw==}
peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0
- victory-vendor@36.9.2:
- resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==}
-
- vite@5.4.19:
- resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite@7.3.1:
+ resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.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
+ jiti:
+ optional: true
less:
optional: true
lightningcss:
@@ -2364,6 +1722,24 @@ packages:
optional: true
terser:
optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitefu@1.1.2:
+ resolution: {integrity: sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
@@ -2378,1252 +1754,640 @@ packages:
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
engines: {node: '>=18'}
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- zod@3.25.67:
- resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
-
- zustand@5.0.5:
- resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==}
- engines: {node: '>=12.20.0'}
- peerDependencies:
- '@types/react': '>=18.0.0'
- immer: '>=9.0.6'
- react: '>=18.0.0'
- use-sync-external-store: '>=1.2.0'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- immer:
- optional: true
- react:
- optional: true
- use-sync-external-store:
- optional: true
+ zimmerframe@1.1.4:
+ resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==}
snapshots:
- '@alloc/quick-lru@5.2.0': {}
-
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
-
- '@babel/runtime@7.27.6': {}
-
- '@esbuild/aix-ppc64@0.21.5':
+ '@esbuild/aix-ppc64@0.25.12':
optional: true
- '@esbuild/android-arm64@0.21.5':
+ '@esbuild/aix-ppc64@0.27.3':
optional: true
- '@esbuild/android-arm@0.21.5':
+ '@esbuild/android-arm64@0.25.12':
optional: true
- '@esbuild/android-x64@0.21.5':
+ '@esbuild/android-arm64@0.27.3':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
+ '@esbuild/android-arm@0.25.12':
optional: true
- '@esbuild/darwin-x64@0.21.5':
+ '@esbuild/android-arm@0.27.3':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
+ '@esbuild/android-x64@0.25.12':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
+ '@esbuild/android-x64@0.27.3':
optional: true
- '@esbuild/linux-arm64@0.21.5':
+ '@esbuild/darwin-arm64@0.25.12':
optional: true
- '@esbuild/linux-arm@0.21.5':
+ '@esbuild/darwin-arm64@0.27.3':
optional: true
- '@esbuild/linux-ia32@0.21.5':
+ '@esbuild/darwin-x64@0.25.12':
optional: true
- '@esbuild/linux-loong64@0.21.5':
+ '@esbuild/darwin-x64@0.27.3':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
+ '@esbuild/freebsd-arm64@0.25.12':
optional: true
- '@esbuild/linux-ppc64@0.21.5':
+ '@esbuild/freebsd-arm64@0.27.3':
optional: true
- '@esbuild/linux-riscv64@0.21.5':
+ '@esbuild/freebsd-x64@0.25.12':
optional: true
- '@esbuild/linux-s390x@0.21.5':
+ '@esbuild/freebsd-x64@0.27.3':
optional: true
- '@esbuild/linux-x64@0.21.5':
+ '@esbuild/linux-arm64@0.25.12':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
+ '@esbuild/linux-arm64@0.27.3':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
+ '@esbuild/linux-arm@0.25.12':
optional: true
- '@esbuild/sunos-x64@0.21.5':
+ '@esbuild/linux-arm@0.27.3':
optional: true
- '@esbuild/win32-arm64@0.21.5':
+ '@esbuild/linux-ia32@0.25.12':
optional: true
- '@esbuild/win32-ia32@0.21.5':
+ '@esbuild/linux-ia32@0.27.3':
optional: true
- '@esbuild/win32-x64@0.21.5':
+ '@esbuild/linux-loong64@0.25.12':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@2.4.2))':
- dependencies:
- eslint: 9.29.0(jiti@2.4.2)
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/regexpp@4.12.1': {}
-
- '@eslint/config-array@0.20.1':
- dependencies:
- '@eslint/object-schema': 2.1.6
- debug: 4.4.1
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/config-helpers@0.2.3': {}
-
- '@eslint/core@0.14.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/core@0.15.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.3.1':
- dependencies:
- ajv: 6.12.6
- debug: 4.4.1
- espree: 10.4.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.1
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@9.29.0': {}
-
- '@eslint/object-schema@2.1.6': {}
-
- '@eslint/plugin-kit@0.3.2':
- dependencies:
- '@eslint/core': 0.15.0
- levn: 0.4.1
-
- '@floating-ui/core@1.7.1':
- dependencies:
- '@floating-ui/utils': 0.2.9
-
- '@floating-ui/dom@1.7.1':
- dependencies:
- '@floating-ui/core': 1.7.1
- '@floating-ui/utils': 0.2.9
-
- '@floating-ui/react-dom@2.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/dom': 1.7.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- '@floating-ui/utils@0.2.9': {}
-
- '@hookform/resolvers@3.10.0(react-hook-form@7.58.1(react@18.3.1))':
- dependencies:
- react-hook-form: 7.58.1(react@18.3.1)
-
- '@humanfs/core@0.19.1': {}
-
- '@humanfs/node@0.16.6':
- dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/retry@0.3.1': {}
-
- '@humanwhocodes/retry@0.4.3': {}
-
- '@isaacs/fs-minipass@4.0.1':
- dependencies:
- minipass: 7.1.2
-
- '@jridgewell/gen-mapping@0.3.8':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.19.1
-
- '@radix-ui/number@1.1.1': {}
-
- '@radix-ui/primitive@1.1.2': {}
-
- '@radix-ui/react-accordion@1.2.11(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collapsible': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
-
- '@radix-ui/react-alert-dialog@1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-loong64@0.27.3':
+ optional: true
- '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-mips64el@0.25.12':
+ optional: true
- '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-mips64el@0.27.3':
+ optional: true
- '@radix-ui/react-avatar@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-ppc64@0.25.12':
+ optional: true
- '@radix-ui/react-checkbox@1.3.2(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-ppc64@0.27.3':
+ optional: true
- '@radix-ui/react-collapsible@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-riscv64@0.25.12':
+ optional: true
- '@radix-ui/react-collection@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-riscv64@0.27.3':
+ optional: true
- '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@esbuild/linux-s390x@0.25.12':
+ optional: true
- '@radix-ui/react-context-menu@2.2.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-s390x@0.27.3':
+ optional: true
- '@radix-ui/react-context@1.1.2(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@esbuild/linux-x64@0.25.12':
+ optional: true
- '@radix-ui/react-dialog@1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- aria-hidden: 1.2.6
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/linux-x64@0.27.3':
+ optional: true
- '@radix-ui/react-direction@1.1.1(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@esbuild/netbsd-arm64@0.25.12':
+ optional: true
- '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/netbsd-arm64@0.27.3':
+ optional: true
- '@radix-ui/react-dropdown-menu@2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/netbsd-x64@0.25.12':
+ optional: true
- '@radix-ui/react-focus-guards@1.1.2(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@esbuild/netbsd-x64@0.27.3':
+ optional: true
- '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/openbsd-arm64@0.25.12':
+ optional: true
- '@radix-ui/react-hover-card@1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/openbsd-arm64@0.27.3':
+ optional: true
- '@radix-ui/react-id@1.1.1(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@esbuild/openbsd-x64@0.25.12':
+ optional: true
- '@radix-ui/react-label@2.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/openbsd-x64@0.27.3':
+ optional: true
- '@radix-ui/react-menu@2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- aria-hidden: 1.2.6
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/openharmony-arm64@0.25.12':
+ optional: true
- '@radix-ui/react-menubar@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.15(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/openharmony-arm64@0.27.3':
+ optional: true
- '@radix-ui/react-navigation-menu@1.2.13(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/sunos-x64@0.25.12':
+ optional: true
- '@radix-ui/react-popover@1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- aria-hidden: 1.2.6
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/sunos-x64@0.27.3':
+ optional: true
- '@radix-ui/react-popper@1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/rect': 1.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-arm64@0.25.12':
+ optional: true
- '@radix-ui/react-portal@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-arm64@0.27.3':
+ optional: true
- '@radix-ui/react-presence@1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-ia32@0.25.12':
+ optional: true
- '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-ia32@0.27.3':
+ optional: true
- '@radix-ui/react-progress@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-x64@0.25.12':
+ optional: true
- '@radix-ui/react-radio-group@1.3.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@esbuild/win32-x64@0.27.3':
+ optional: true
- '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))':
dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ eslint: 9.39.4(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
- '@radix-ui/react-scroll-area@1.2.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/number': 1.1.1
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint-community/regexpp@4.12.2': {}
- '@radix-ui/react-select@2.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/compat@2.0.3(eslint@9.39.4(jiti@2.6.1))':
dependencies:
- '@radix-ui/number': 1.1.1
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- aria-hidden: 1.2.6
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.23)(react@18.3.1)
+ '@eslint/core': 1.1.1
optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ eslint: 9.39.4(jiti@2.6.1)
- '@radix-ui/react-separator@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/config-array@0.21.2':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint/object-schema': 2.1.7
+ debug: 4.4.3
+ minimatch: 3.1.5
+ transitivePeerDependencies:
+ - supports-color
- '@radix-ui/react-slider@1.3.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/config-helpers@0.4.2':
dependencies:
- '@radix-ui/number': 1.1.1
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint/core': 0.17.0
- '@radix-ui/react-slot@1.2.3(@types/react@18.3.23)(react@18.3.1)':
+ '@eslint/core@0.17.0':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@types/json-schema': 7.0.15
- '@radix-ui/react-switch@1.2.5(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/core@1.1.1':
dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@types/json-schema': 7.0.15
- '@radix-ui/react-tabs@1.1.12(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/eslintrc@3.3.5':
dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ ajv: 6.14.0
+ debug: 4.4.3
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.1.1
+ minimatch: 3.1.5
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
- '@radix-ui/react-toast@1.2.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint/js@9.39.4': {}
- '@radix-ui/react-toggle-group@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-toggle': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint/object-schema@2.1.7': {}
- '@radix-ui/react-toggle@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@eslint/plugin-kit@0.4.1':
dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@eslint/core': 0.17.0
+ levn: 0.4.1
- '@radix-ui/react-tooltip@1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@floating-ui/core@1.7.5':
dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@floating-ui/utils': 0.2.11
- '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.3.23)(react@18.3.1)':
+ '@floating-ui/dom@1.7.6':
dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
- '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@floating-ui/utils@0.2.11': {}
- '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@humanfs/core@0.19.1': {}
- '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@18.3.23)(react@18.3.1)':
+ '@humanfs/node@0.16.7':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.4.3
- '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- use-sync-external-store: 1.5.0(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
+ '@humanwhocodes/module-importer@1.0.1': {}
- '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.23)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@humanwhocodes/retry@0.4.3': {}
- '@radix-ui/react-use-previous@1.1.1(@types/react@18.3.23)(react@18.3.1)':
+ '@internationalized/date@3.12.0':
dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@swc/helpers': 0.5.19
- '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.23)(react@18.3.1)':
+ '@isaacs/fs-minipass@4.0.1':
dependencies:
- '@radix-ui/rect': 1.1.1
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ minipass: 7.1.3
- '@radix-ui/react-use-size@1.1.1(@types/react@18.3.23)(react@18.3.1)':
+ '@jridgewell/gen-mapping@0.3.13':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.23
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
- '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@jridgewell/remapping@2.3.5':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
- '@types/react-dom': 18.3.7(@types/react@18.3.23)
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
- '@radix-ui/rect@1.1.1': {}
+ '@jridgewell/resolve-uri@3.1.2': {}
- '@remix-run/router@1.23.0': {}
+ '@jridgewell/sourcemap-codec@1.5.5': {}
- '@rolldown/pluginutils@1.0.0-beta.11': {}
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
- '@rollup/rollup-android-arm-eabi@4.44.0':
- optional: true
+ '@mapbox/node-pre-gyp@2.0.3':
+ dependencies:
+ consola: 3.4.2
+ detect-libc: 2.1.2
+ https-proxy-agent: 7.0.6
+ node-fetch: 2.7.0
+ nopt: 8.1.0
+ semver: 7.7.4
+ tar: 7.5.11
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
- '@rollup/rollup-android-arm64@4.44.0':
- optional: true
+ '@polka/url@1.0.0-next.29': {}
- '@rollup/rollup-darwin-arm64@4.44.0':
- optional: true
+ '@rollup/pluginutils@5.3.0(rollup@4.59.0)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.59.0
- '@rollup/rollup-darwin-x64@4.44.0':
+ '@rollup/rollup-android-arm-eabi@4.59.0':
optional: true
- '@rollup/rollup-freebsd-arm64@4.44.0':
+ '@rollup/rollup-android-arm64@4.59.0':
optional: true
- '@rollup/rollup-freebsd-x64@4.44.0':
+ '@rollup/rollup-darwin-arm64@4.59.0':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.44.0':
+ '@rollup/rollup-darwin-x64@4.59.0':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.44.0':
+ '@rollup/rollup-freebsd-arm64@4.59.0':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.44.0':
+ '@rollup/rollup-freebsd-x64@4.59.0':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.44.0':
+ '@rollup/rollup-linux-arm-gnueabihf@4.59.0':
optional: true
- '@rollup/rollup-linux-loongarch64-gnu@4.44.0':
+ '@rollup/rollup-linux-arm-musleabihf@4.59.0':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.44.0':
+ '@rollup/rollup-linux-arm64-gnu@4.59.0':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.44.0':
+ '@rollup/rollup-linux-arm64-musl@4.59.0':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.44.0':
+ '@rollup/rollup-linux-loong64-gnu@4.59.0':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.44.0':
+ '@rollup/rollup-linux-loong64-musl@4.59.0':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.44.0':
+ '@rollup/rollup-linux-ppc64-gnu@4.59.0':
optional: true
- '@rollup/rollup-linux-x64-musl@4.44.0':
+ '@rollup/rollup-linux-ppc64-musl@4.59.0':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.44.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.59.0':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.44.0':
+ '@rollup/rollup-linux-riscv64-musl@4.59.0':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.44.0':
+ '@rollup/rollup-linux-s390x-gnu@4.59.0':
optional: true
- '@swc/core-darwin-arm64@1.12.4':
+ '@rollup/rollup-linux-x64-gnu@4.59.0':
optional: true
- '@swc/core-darwin-x64@1.12.4':
+ '@rollup/rollup-linux-x64-musl@4.59.0':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.12.4':
+ '@rollup/rollup-openbsd-x64@4.59.0':
optional: true
- '@swc/core-linux-arm64-gnu@1.12.4':
+ '@rollup/rollup-openharmony-arm64@4.59.0':
optional: true
- '@swc/core-linux-arm64-musl@1.12.4':
+ '@rollup/rollup-win32-arm64-msvc@4.59.0':
optional: true
- '@swc/core-linux-x64-gnu@1.12.4':
+ '@rollup/rollup-win32-ia32-msvc@4.59.0':
optional: true
- '@swc/core-linux-x64-musl@1.12.4':
+ '@rollup/rollup-win32-x64-gnu@4.59.0':
optional: true
- '@swc/core-win32-arm64-msvc@1.12.4':
+ '@rollup/rollup-win32-x64-msvc@4.59.0':
optional: true
- '@swc/core-win32-ia32-msvc@1.12.4':
- optional: true
+ '@standard-schema/spec@1.1.0': {}
- '@swc/core-win32-x64-msvc@1.12.4':
- optional: true
+ '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)':
+ dependencies:
+ acorn: 8.16.0
- '@swc/core@1.12.4':
+ '@sveltejs/adapter-vercel@6.3.3(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(rollup@4.59.0)':
dependencies:
- '@swc/counter': 0.1.3
- '@swc/types': 0.1.23
- optionalDependencies:
- '@swc/core-darwin-arm64': 1.12.4
- '@swc/core-darwin-x64': 1.12.4
- '@swc/core-linux-arm-gnueabihf': 1.12.4
- '@swc/core-linux-arm64-gnu': 1.12.4
- '@swc/core-linux-arm64-musl': 1.12.4
- '@swc/core-linux-x64-gnu': 1.12.4
- '@swc/core-linux-x64-musl': 1.12.4
- '@swc/core-win32-arm64-msvc': 1.12.4
- '@swc/core-win32-ia32-msvc': 1.12.4
- '@swc/core-win32-x64-msvc': 1.12.4
-
- '@swc/counter@0.1.3': {}
-
- '@swc/types@0.1.23':
+ '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ '@vercel/nft': 1.3.2(rollup@4.59.0)
+ esbuild: 0.25.12
+ transitivePeerDependencies:
+ - encoding
+ - rollup
+ - supports-color
+
+ '@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ '@types/cookie': 0.6.0
+ acorn: 8.16.0
+ cookie: 0.6.0
+ devalue: 5.6.3
+ esm-env: 1.2.2
+ kleur: 4.1.5
+ magic-string: 0.30.21
+ mrmime: 2.0.1
+ set-cookie-parser: 3.0.1
+ sirv: 3.0.2
+ svelte: 5.53.9
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
+ optionalDependencies:
+ typescript: 5.9.3
+
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))':
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ obug: 2.1.1
+ svelte: 5.53.9
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
+
+ '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))':
+ dependencies:
+ '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+ deepmerge: 4.3.1
+ magic-string: 0.30.21
+ obug: 2.1.1
+ svelte: 5.53.9
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
+ vitefu: 1.1.2(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
+
+ '@swc/helpers@0.5.19':
dependencies:
- '@swc/counter': 0.1.3
+ tslib: 2.8.1
- '@tailwindcss/node@4.1.10':
+ '@tailwindcss/node@4.2.1':
dependencies:
- '@ampproject/remapping': 2.3.0
- enhanced-resolve: 5.18.1
- jiti: 2.4.2
- lightningcss: 1.30.1
- magic-string: 0.30.17
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.20.0
+ jiti: 2.6.1
+ lightningcss: 1.31.1
+ magic-string: 0.30.21
source-map-js: 1.2.1
- tailwindcss: 4.1.10
+ tailwindcss: 4.2.1
- '@tailwindcss/oxide-android-arm64@4.1.10':
+ '@tailwindcss/oxide-android-arm64@4.2.1':
optional: true
- '@tailwindcss/oxide-darwin-arm64@4.1.10':
+ '@tailwindcss/oxide-darwin-arm64@4.2.1':
optional: true
- '@tailwindcss/oxide-darwin-x64@4.1.10':
+ '@tailwindcss/oxide-darwin-x64@4.2.1':
optional: true
- '@tailwindcss/oxide-freebsd-x64@4.1.10':
+ '@tailwindcss/oxide-freebsd-x64@4.2.1':
optional: true
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1':
optional: true
- '@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.2.1':
optional: true
- '@tailwindcss/oxide-linux-arm64-musl@4.1.10':
+ '@tailwindcss/oxide-linux-arm64-musl@4.2.1':
optional: true
- '@tailwindcss/oxide-linux-x64-gnu@4.1.10':
+ '@tailwindcss/oxide-linux-x64-gnu@4.2.1':
optional: true
- '@tailwindcss/oxide-linux-x64-musl@4.1.10':
+ '@tailwindcss/oxide-linux-x64-musl@4.2.1':
optional: true
- '@tailwindcss/oxide-wasm32-wasi@4.1.10':
+ '@tailwindcss/oxide-wasm32-wasi@4.2.1':
optional: true
- '@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.2.1':
optional: true
- '@tailwindcss/oxide-win32-x64-msvc@4.1.10':
+ '@tailwindcss/oxide-win32-x64-msvc@4.2.1':
optional: true
- '@tailwindcss/oxide@4.1.10':
- dependencies:
- detect-libc: 2.0.4
- tar: 7.4.3
+ '@tailwindcss/oxide@4.2.1':
optionalDependencies:
- '@tailwindcss/oxide-android-arm64': 4.1.10
- '@tailwindcss/oxide-darwin-arm64': 4.1.10
- '@tailwindcss/oxide-darwin-x64': 4.1.10
- '@tailwindcss/oxide-freebsd-x64': 4.1.10
- '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10
- '@tailwindcss/oxide-linux-arm64-gnu': 4.1.10
- '@tailwindcss/oxide-linux-arm64-musl': 4.1.10
- '@tailwindcss/oxide-linux-x64-gnu': 4.1.10
- '@tailwindcss/oxide-linux-x64-musl': 4.1.10
- '@tailwindcss/oxide-wasm32-wasi': 4.1.10
- '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10
- '@tailwindcss/oxide-win32-x64-msvc': 4.1.10
-
- '@tailwindcss/postcss@4.1.10':
- dependencies:
- '@alloc/quick-lru': 5.2.0
- '@tailwindcss/node': 4.1.10
- '@tailwindcss/oxide': 4.1.10
- postcss: 8.5.6
- tailwindcss: 4.1.10
-
- '@tailwindcss/typography@0.5.16(tailwindcss@4.1.10)':
- dependencies:
- lodash.castarray: 4.4.0
- lodash.isplainobject: 4.0.6
- lodash.merge: 4.6.2
- postcss-selector-parser: 6.0.10
- tailwindcss: 4.1.10
-
- '@tailwindcss/vite@4.1.10(vite@5.4.19(@types/node@22.15.32)(lightningcss@1.30.1))':
- dependencies:
- '@tailwindcss/node': 4.1.10
- '@tailwindcss/oxide': 4.1.10
- tailwindcss: 4.1.10
- vite: 5.4.19(@types/node@22.15.32)(lightningcss@1.30.1)
-
- '@types/d3-array@3.2.1': {}
-
- '@types/d3-color@3.1.3': {}
+ '@tailwindcss/oxide-android-arm64': 4.2.1
+ '@tailwindcss/oxide-darwin-arm64': 4.2.1
+ '@tailwindcss/oxide-darwin-x64': 4.2.1
+ '@tailwindcss/oxide-freebsd-x64': 4.2.1
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.1
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.2.1
+ '@tailwindcss/oxide-linux-arm64-musl': 4.2.1
+ '@tailwindcss/oxide-linux-x64-gnu': 4.2.1
+ '@tailwindcss/oxide-linux-x64-musl': 4.2.1
+ '@tailwindcss/oxide-wasm32-wasi': 4.2.1
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.2.1
+ '@tailwindcss/oxide-win32-x64-msvc': 4.2.1
- '@types/d3-ease@3.0.2': {}
-
- '@types/d3-interpolate@3.0.4':
- dependencies:
- '@types/d3-color': 3.1.3
-
- '@types/d3-path@3.1.1': {}
-
- '@types/d3-scale@4.0.9':
+ '@tailwindcss/vite@4.2.1(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))':
dependencies:
- '@types/d3-time': 3.0.4
+ '@tailwindcss/node': 4.2.1
+ '@tailwindcss/oxide': 4.2.1
+ tailwindcss: 4.2.1
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
- '@types/d3-shape@3.1.7':
- dependencies:
- '@types/d3-path': 3.1.1
-
- '@types/d3-time@3.0.4': {}
-
- '@types/d3-timer@3.0.2': {}
+ '@types/cookie@0.6.0': {}
'@types/estree@1.0.8': {}
'@types/json-schema@7.0.15': {}
- '@types/node@22.15.32':
- dependencies:
- undici-types: 6.21.0
-
- '@types/prop-types@15.7.15': {}
-
- '@types/react-dom@18.3.7(@types/react@18.3.23)':
+ '@types/node@24.12.0':
dependencies:
- '@types/react': 18.3.23
+ undici-types: 7.16.0
- '@types/react@18.3.23':
- dependencies:
- '@types/prop-types': 15.7.15
- csstype: 3.1.3
+ '@types/trusted-types@2.0.7': {}
- '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/eslint-plugin@8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/scope-manager': 8.34.1
- '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.34.1
- eslint: 9.29.0(jiti@2.4.2)
- graphemer: 1.4.0
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.57.0
+ '@typescript-eslint/type-utils': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.57.0
+ eslint: 9.39.4(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.1.0(typescript@5.8.3)
- typescript: 5.8.3
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.34.1
- '@typescript-eslint/types': 8.34.1
- '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.34.1
- debug: 4.4.1
- eslint: 9.29.0(jiti@2.4.2)
- typescript: 5.8.3
+ '@typescript-eslint/scope-manager': 8.57.0
+ '@typescript-eslint/types': 8.57.0
+ '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.57.0
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)':
+ '@typescript-eslint/project-service@8.57.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3)
- '@typescript-eslint/types': 8.34.1
- debug: 4.4.1
- typescript: 5.8.3
+ '@typescript-eslint/tsconfig-utils': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.57.0
+ debug: 4.4.3
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.34.1':
+ '@typescript-eslint/scope-manager@8.57.0':
dependencies:
- '@typescript-eslint/types': 8.34.1
- '@typescript-eslint/visitor-keys': 8.34.1
+ '@typescript-eslint/types': 8.57.0
+ '@typescript-eslint/visitor-keys': 8.57.0
- '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)':
+ '@typescript-eslint/tsconfig-utils@8.57.0(typescript@5.9.3)':
dependencies:
- typescript: 5.8.3
+ typescript: 5.9.3
- '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/type-utils@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
- '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- debug: 4.4.1
- eslint: 9.29.0(jiti@2.4.2)
- ts-api-utils: 2.1.0(typescript@5.8.3)
- typescript: 5.8.3
+ '@typescript-eslint/types': 8.57.0
+ '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.6.1)
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.34.1': {}
+ '@typescript-eslint/types@8.57.0': {}
- '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)':
+ '@typescript-eslint/typescript-estree@8.57.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3)
- '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3)
- '@typescript-eslint/types': 8.34.1
- '@typescript-eslint/visitor-keys': 8.34.1
- debug: 4.4.1
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.7.2
- ts-api-utils: 2.1.0(typescript@5.8.3)
- typescript: 5.8.3
+ '@typescript-eslint/project-service': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.57.0
+ '@typescript-eslint/visitor-keys': 8.57.0
+ debug: 4.4.3
+ minimatch: 10.2.4
+ semver: 7.7.4
+ tinyglobby: 0.2.15
+ ts-api-utils: 2.4.0(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/utils@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2))
- '@typescript-eslint/scope-manager': 8.34.1
- '@typescript-eslint/types': 8.34.1
- '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
- eslint: 9.29.0(jiti@2.4.2)
- typescript: 5.8.3
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.57.0
+ '@typescript-eslint/types': 8.57.0
+ '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.34.1':
+ '@typescript-eslint/visitor-keys@8.57.0':
dependencies:
- '@typescript-eslint/types': 8.34.1
- eslint-visitor-keys: 4.2.1
+ '@typescript-eslint/types': 8.57.0
+ eslint-visitor-keys: 5.0.1
- '@vitejs/plugin-react-swc@3.10.2(vite@5.4.19(@types/node@22.15.32)(lightningcss@1.30.1))':
+ '@vercel/nft@1.3.2(rollup@4.59.0)':
dependencies:
- '@rolldown/pluginutils': 1.0.0-beta.11
- '@swc/core': 1.12.4
- vite: 5.4.19(@types/node@22.15.32)(lightningcss@1.30.1)
+ '@mapbox/node-pre-gyp': 2.0.3
+ '@rollup/pluginutils': 5.3.0(rollup@4.59.0)
+ acorn: 8.16.0
+ acorn-import-attributes: 1.9.5(acorn@8.16.0)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 13.0.6
+ graceful-fs: 4.2.11
+ node-gyp-build: 4.8.4
+ picomatch: 4.0.3
+ resolve-from: 5.0.0
transitivePeerDependencies:
- - '@swc/helpers'
+ - encoding
+ - rollup
+ - supports-color
+
+ abbrev@3.0.1: {}
- acorn-jsx@5.3.2(acorn@8.15.0):
+ acorn-import-attributes@1.9.5(acorn@8.16.0):
dependencies:
- acorn: 8.15.0
+ acorn: 8.16.0
- acorn@8.15.0: {}
+ acorn-jsx@5.3.2(acorn@8.16.0):
+ dependencies:
+ acorn: 8.16.0
+
+ acorn@8.16.0: {}
- ajv@6.12.6:
+ agent-base@7.1.4: {}
+
+ ajv@6.14.0:
dependencies:
fast-deep-equal: 3.1.3
fast-json-stable-stringify: 2.1.0
@@ -3636,26 +2400,41 @@ snapshots:
argparse@2.0.1: {}
- aria-hidden@1.2.6:
- dependencies:
- tslib: 2.8.1
+ aria-query@5.3.1: {}
+
+ async-sema@3.1.1: {}
+
+ axobject-query@4.1.0: {}
balanced-match@1.0.2: {}
- base64-arraybuffer@1.0.2: {}
+ balanced-match@4.0.4: {}
- brace-expansion@1.1.12:
+ bindings@1.5.0:
dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
+ file-uri-to-path: 1.0.0
+
+ bits-ui@2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9):
+ dependencies:
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/dom': 1.7.6
+ '@internationalized/date': 3.12.0
+ esm-env: 1.2.2
+ runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)
+ svelte: 5.53.9
+ svelte-toolbelt: 0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)
+ tabbable: 6.4.0
+ transitivePeerDependencies:
+ - '@sveltejs/kit'
- brace-expansion@2.0.2:
+ brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
+ concat-map: 0.0.1
- braces@3.0.3:
+ brace-expansion@5.0.4:
dependencies:
- fill-range: 7.1.1
+ balanced-match: 4.0.4
callsites@3.1.0: {}
@@ -3664,25 +2443,13 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chownr@3.0.0: {}
-
- class-variance-authority@0.7.1:
+ chokidar@4.0.3:
dependencies:
- clsx: 2.1.1
+ readdirp: 4.1.2
- clsx@2.1.1: {}
+ chownr@3.0.0: {}
- cmdk@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.23)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
+ clsx@2.1.1: {}
color-convert@2.0.1:
dependencies:
@@ -3692,129 +2459,118 @@ snapshots:
concat-map@0.0.1: {}
+ consola@3.4.2: {}
+
+ cookie@0.6.0: {}
+
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- css-line-break@2.1.0:
- dependencies:
- utrie: 1.0.2
-
cssesc@3.0.0: {}
- csstype@3.1.3: {}
-
- d3-array@3.2.4:
- dependencies:
- internmap: 2.0.3
-
- d3-color@3.1.0: {}
-
- d3-ease@3.0.1: {}
-
- d3-format@3.1.0: {}
-
- d3-interpolate@3.0.1:
- dependencies:
- d3-color: 3.1.0
-
- d3-path@3.1.0: {}
-
- d3-scale@4.0.2:
- dependencies:
- d3-array: 3.2.4
- d3-format: 3.1.0
- d3-interpolate: 3.0.1
- d3-time: 3.1.0
- d3-time-format: 4.1.0
-
- d3-shape@3.2.0:
- dependencies:
- d3-path: 3.1.0
-
- d3-time-format@4.1.0:
- dependencies:
- d3-time: 3.1.0
-
- d3-time@3.1.0:
- dependencies:
- d3-array: 3.2.4
-
- d3-timer@3.0.1: {}
-
- date-fns@3.6.0: {}
-
- debug@4.4.1:
+ debug@4.4.3:
dependencies:
ms: 2.1.3
- decimal.js-light@2.5.1: {}
-
deep-is@0.1.4: {}
- detect-libc@2.0.4: {}
-
- detect-node-es@1.1.0: {}
+ deepmerge@4.3.1: {}
- dom-helpers@5.2.1:
- dependencies:
- '@babel/runtime': 7.27.6
- csstype: 3.1.3
-
- embla-carousel-react@8.6.0(react@18.3.1):
- dependencies:
- embla-carousel: 8.6.0
- embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0)
- react: 18.3.1
+ dequal@2.0.3: {}
- embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0):
- dependencies:
- embla-carousel: 8.6.0
+ detect-libc@2.1.2: {}
- embla-carousel@8.6.0: {}
+ devalue@5.6.3: {}
- enhanced-resolve@5.18.1:
+ enhanced-resolve@5.20.0:
dependencies:
graceful-fs: 4.2.11
- tapable: 2.2.2
-
- esbuild@0.21.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
+ tapable: 2.3.0
+
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
+ esbuild@0.27.3:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.27.3
+ '@esbuild/android-arm': 0.27.3
+ '@esbuild/android-arm64': 0.27.3
+ '@esbuild/android-x64': 0.27.3
+ '@esbuild/darwin-arm64': 0.27.3
+ '@esbuild/darwin-x64': 0.27.3
+ '@esbuild/freebsd-arm64': 0.27.3
+ '@esbuild/freebsd-x64': 0.27.3
+ '@esbuild/linux-arm': 0.27.3
+ '@esbuild/linux-arm64': 0.27.3
+ '@esbuild/linux-ia32': 0.27.3
+ '@esbuild/linux-loong64': 0.27.3
+ '@esbuild/linux-mips64el': 0.27.3
+ '@esbuild/linux-ppc64': 0.27.3
+ '@esbuild/linux-riscv64': 0.27.3
+ '@esbuild/linux-s390x': 0.27.3
+ '@esbuild/linux-x64': 0.27.3
+ '@esbuild/netbsd-arm64': 0.27.3
+ '@esbuild/netbsd-x64': 0.27.3
+ '@esbuild/openbsd-arm64': 0.27.3
+ '@esbuild/openbsd-x64': 0.27.3
+ '@esbuild/openharmony-arm64': 0.27.3
+ '@esbuild/sunos-x64': 0.27.3
+ '@esbuild/win32-arm64': 0.27.3
+ '@esbuild/win32-ia32': 0.27.3
+ '@esbuild/win32-x64': 0.27.3
escape-string-regexp@4.0.0: {}
- eslint-plugin-react-hooks@5.2.0(eslint@9.29.0(jiti@2.4.2)):
+ eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.6.1)):
dependencies:
- eslint: 9.29.0(jiti@2.4.2)
+ eslint: 9.39.4(jiti@2.6.1)
- eslint-plugin-react-refresh@0.4.20(eslint@9.29.0(jiti@2.4.2)):
+ eslint-plugin-svelte@3.15.2(eslint@9.39.4(jiti@2.6.1))(svelte@5.53.9):
dependencies:
- eslint: 9.29.0(jiti@2.4.2)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
+ '@jridgewell/sourcemap-codec': 1.5.5
+ eslint: 9.39.4(jiti@2.6.1)
+ esutils: 2.0.3
+ globals: 16.5.0
+ known-css-properties: 0.37.0
+ postcss: 8.5.8
+ postcss-load-config: 3.1.4(postcss@8.5.8)
+ postcss-safe-parser: 7.0.1(postcss@8.5.8)
+ semver: 7.7.4
+ svelte-eslint-parser: 1.6.0(svelte@5.53.9)
+ optionalDependencies:
+ svelte: 5.53.9
+ transitivePeerDependencies:
+ - ts-node
eslint-scope@8.4.0:
dependencies:
@@ -3825,30 +2581,31 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.29.0(jiti@2.4.2):
+ eslint-visitor-keys@5.0.1: {}
+
+ eslint@9.39.4(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2))
- '@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.20.1
- '@eslint/config-helpers': 0.2.3
- '@eslint/core': 0.14.0
- '@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.29.0
- '@eslint/plugin-kit': 0.3.2
- '@humanfs/node': 0.16.6
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/config-array': 0.21.2
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.5
+ '@eslint/js': 9.39.4
+ '@eslint/plugin-kit': 0.4.1
+ '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
+ ajv: 6.14.0
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.1
+ debug: 4.4.3
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
- esquery: 1.6.0
+ esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0
@@ -3859,61 +2616,55 @@ snapshots:
is-glob: 4.0.3
json-stable-stringify-without-jsonify: 1.0.1
lodash.merge: 4.6.2
- minimatch: 3.1.2
+ minimatch: 3.1.5
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
- jiti: 2.4.2
+ jiti: 2.6.1
transitivePeerDependencies:
- supports-color
+ esm-env@1.2.2: {}
+
espree@10.4.0:
dependencies:
- acorn: 8.15.0
- acorn-jsx: 5.3.2(acorn@8.15.0)
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 4.2.1
- esquery@1.6.0:
+ esquery@1.7.0:
dependencies:
estraverse: 5.3.0
+ esrap@2.2.3:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
estraverse@5.3.0: {}
- esutils@2.0.3: {}
+ estree-walker@2.0.2: {}
- eventemitter3@4.0.7: {}
+ esutils@2.0.3: {}
fast-deep-equal@3.1.3: {}
- fast-equals@5.2.2: {}
-
- fast-glob@3.3.3:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
fast-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {}
- fastq@1.19.1:
- dependencies:
- reusify: 1.1.0
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
+ file-uri-to-path@1.0.0: {}
find-up@5.0.0:
dependencies:
@@ -3922,40 +2673,40 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.3
+ flatted: 3.4.1
keyv: 4.5.4
- flatted@3.3.3: {}
+ flatted@3.4.1: {}
fsevents@2.3.3:
optional: true
- get-nonce@1.0.1: {}
-
- glob-parent@5.1.2:
+ glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
- glob-parent@6.0.2:
+ glob@13.0.6:
dependencies:
- is-glob: 4.0.3
+ minimatch: 10.2.4
+ minipass: 7.1.3
+ path-scurry: 2.0.2
globals@14.0.0: {}
- globals@15.15.0: {}
+ globals@16.5.0: {}
- graceful-fs@4.2.11: {}
+ globals@17.4.0: {}
- graphemer@1.4.0: {}
+ graceful-fs@4.2.11: {}
has-flag@4.0.0: {}
- html2canvas@1.4.1:
+ https-proxy-agent@7.0.6:
dependencies:
- css-line-break: 2.1.0
- text-segmentation: 1.0.3
-
- idb-keyval@6.2.2: {}
+ agent-base: 7.1.4
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
ignore@5.3.2: {}
@@ -3968,12 +2719,7 @@ snapshots:
imurmurhash@0.1.4: {}
- input-otp@1.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- internmap@2.0.3: {}
+ inline-style-parser@0.2.7: {}
is-extglob@2.1.1: {}
@@ -3981,15 +2727,15 @@ snapshots:
dependencies:
is-extglob: 2.1.1
- is-number@7.0.0: {}
+ is-reference@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
isexe@2.0.0: {}
- jiti@2.4.2: {}
+ jiti@2.6.1: {}
- js-tokens@4.0.0: {}
-
- js-yaml@4.1.0:
+ js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
@@ -4003,102 +2749,99 @@ snapshots:
dependencies:
json-buffer: 3.0.1
+ kleur@4.1.5: {}
+
+ known-css-properties@0.37.0: {}
+
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- lightningcss-darwin-arm64@1.30.1:
+ lightningcss-android-arm64@1.31.1:
+ optional: true
+
+ lightningcss-darwin-arm64@1.31.1:
optional: true
- lightningcss-darwin-x64@1.30.1:
+ lightningcss-darwin-x64@1.31.1:
optional: true
- lightningcss-freebsd-x64@1.30.1:
+ lightningcss-freebsd-x64@1.31.1:
optional: true
- lightningcss-linux-arm-gnueabihf@1.30.1:
+ lightningcss-linux-arm-gnueabihf@1.31.1:
optional: true
- lightningcss-linux-arm64-gnu@1.30.1:
+ lightningcss-linux-arm64-gnu@1.31.1:
optional: true
- lightningcss-linux-arm64-musl@1.30.1:
+ lightningcss-linux-arm64-musl@1.31.1:
optional: true
- lightningcss-linux-x64-gnu@1.30.1:
+ lightningcss-linux-x64-gnu@1.31.1:
optional: true
- lightningcss-linux-x64-musl@1.30.1:
+ lightningcss-linux-x64-musl@1.31.1:
optional: true
- lightningcss-win32-arm64-msvc@1.30.1:
+ lightningcss-win32-arm64-msvc@1.31.1:
optional: true
- lightningcss-win32-x64-msvc@1.30.1:
+ lightningcss-win32-x64-msvc@1.31.1:
optional: true
- lightningcss@1.30.1:
+ lightningcss@1.31.1:
dependencies:
- detect-libc: 2.0.4
+ detect-libc: 2.1.2
optionalDependencies:
- lightningcss-darwin-arm64: 1.30.1
- lightningcss-darwin-x64: 1.30.1
- lightningcss-freebsd-x64: 1.30.1
- lightningcss-linux-arm-gnueabihf: 1.30.1
- lightningcss-linux-arm64-gnu: 1.30.1
- lightningcss-linux-arm64-musl: 1.30.1
- lightningcss-linux-x64-gnu: 1.30.1
- lightningcss-linux-x64-musl: 1.30.1
- lightningcss-win32-arm64-msvc: 1.30.1
- lightningcss-win32-x64-msvc: 1.30.1
+ lightningcss-android-arm64: 1.31.1
+ lightningcss-darwin-arm64: 1.31.1
+ lightningcss-darwin-x64: 1.31.1
+ lightningcss-freebsd-x64: 1.31.1
+ lightningcss-linux-arm-gnueabihf: 1.31.1
+ lightningcss-linux-arm64-gnu: 1.31.1
+ lightningcss-linux-arm64-musl: 1.31.1
+ lightningcss-linux-x64-gnu: 1.31.1
+ lightningcss-linux-x64-musl: 1.31.1
+ lightningcss-win32-arm64-msvc: 1.31.1
+ lightningcss-win32-x64-msvc: 1.31.1
+
+ lilconfig@2.1.0: {}
+
+ locate-character@3.0.0: {}
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
- lodash.castarray@4.4.0: {}
-
- lodash.isplainobject@4.0.6: {}
-
lodash.merge@4.6.2: {}
- lodash@4.17.21: {}
-
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
+ lru-cache@11.2.6: {}
- lucide-react@0.462.0(react@18.3.1):
- dependencies:
- react: 18.3.1
+ lz-string@1.5.0: {}
- magic-string@0.30.17:
+ magic-string@0.30.21:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
- merge2@1.4.1: {}
-
- micromatch@4.0.8:
+ minimatch@10.2.4:
dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
+ brace-expansion: 5.0.4
- minimatch@3.1.2:
+ minimatch@3.1.5:
dependencies:
brace-expansion: 1.1.12
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.2
-
- minipass@7.1.2: {}
+ minipass@7.1.3: {}
- minizlib@3.0.2:
+ minizlib@3.1.0:
dependencies:
- minipass: 7.1.2
+ minipass: 7.1.3
+
+ mri@1.2.0: {}
- mkdirp@3.0.1: {}
+ mrmime@2.0.1: {}
ms@2.1.3: {}
@@ -4106,12 +2849,17 @@ snapshots:
natural-compare@1.4.0: {}
- next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-gyp-build@4.8.4: {}
+
+ nopt@8.1.0:
dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
+ abbrev: 3.0.1
- object-assign@4.1.1: {}
+ obug@2.1.1: {}
optionator@0.9.4:
dependencies:
@@ -4138,173 +2886,111 @@ snapshots:
path-key@3.1.1: {}
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- postcss-selector-parser@6.0.10:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss@8.5.6:
- dependencies:
- nanoid: 3.3.11
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- prelude-ls@1.2.1: {}
-
- prop-types@15.8.1:
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
-
- punycode@2.3.1: {}
-
- queue-microtask@1.2.3: {}
-
- react-day-picker@8.10.1(date-fns@3.6.0)(react@18.3.1):
+ path-scurry@2.0.2:
dependencies:
- date-fns: 3.6.0
- react: 18.3.1
+ lru-cache: 11.2.6
+ minipass: 7.1.3
- react-dom@18.3.1(react@18.3.1):
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
-
- react-hook-form@7.58.1(react@18.3.1):
- dependencies:
- react: 18.3.1
-
- react-is@16.13.1: {}
+ picocolors@1.1.1: {}
- react-is@18.3.1: {}
+ picomatch@4.0.3: {}
- react-remove-scroll-bar@2.3.8(@types/react@18.3.23)(react@18.3.1):
+ postcss-load-config@3.1.4(postcss@8.5.8):
dependencies:
- react: 18.3.1
- react-style-singleton: 2.2.3(@types/react@18.3.23)(react@18.3.1)
- tslib: 2.8.1
+ lilconfig: 2.1.0
+ yaml: 1.10.2
optionalDependencies:
- '@types/react': 18.3.23
+ postcss: 8.5.8
- react-remove-scroll@2.7.1(@types/react@18.3.23)(react@18.3.1):
+ postcss-safe-parser@7.0.1(postcss@8.5.8):
dependencies:
- react: 18.3.1
- react-remove-scroll-bar: 2.3.8(@types/react@18.3.23)(react@18.3.1)
- react-style-singleton: 2.2.3(@types/react@18.3.23)(react@18.3.1)
- tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@18.3.23)(react@18.3.1)
- use-sidecar: 1.1.3(@types/react@18.3.23)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.23
+ postcss: 8.5.8
- react-resizable-panels@2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ postcss-scss@4.0.9(postcss@8.5.8):
dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
+ postcss: 8.5.8
- react-router-dom@6.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ postcss-selector-parser@7.1.1:
dependencies:
- '@remix-run/router': 1.23.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-router: 6.30.1(react@18.3.1)
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
- react-router@6.30.1(react@18.3.1):
+ postcss@8.5.8:
dependencies:
- '@remix-run/router': 1.23.0
- react: 18.3.1
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prelude-ls@1.2.1: {}
- react-smooth@4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ prettier-plugin-svelte@3.5.1(prettier@3.8.1)(svelte@5.53.9):
dependencies:
- fast-equals: 5.2.2
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ prettier: 3.8.1
+ svelte: 5.53.9
- react-style-singleton@2.2.3(@types/react@18.3.23)(react@18.3.1):
+ prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.5.1(prettier@3.8.1)(svelte@5.53.9))(prettier@3.8.1):
dependencies:
- get-nonce: 1.0.1
- react: 18.3.1
- tslib: 2.8.1
+ prettier: 3.8.1
optionalDependencies:
- '@types/react': 18.3.23
+ prettier-plugin-svelte: 3.5.1(prettier@3.8.1)(svelte@5.53.9)
- react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@babel/runtime': 7.27.6
- dom-helpers: 5.2.1
- loose-envify: 1.4.0
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- react@18.3.1:
- dependencies:
- loose-envify: 1.4.0
+ prettier@3.8.1: {}
- recharts-scale@0.4.5:
- dependencies:
- decimal.js-light: 2.5.1
+ punycode@2.3.1: {}
- recharts@2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- clsx: 2.1.1
- eventemitter3: 4.0.7
- lodash: 4.17.21
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-is: 18.3.1
- react-smooth: 4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- recharts-scale: 0.4.5
- tiny-invariant: 1.3.3
- victory-vendor: 36.9.2
+ readdirp@4.1.2: {}
resolve-from@4.0.0: {}
- reusify@1.1.0: {}
+ resolve-from@5.0.0: {}
- rollup@4.44.0:
+ rollup@4.59.0:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.44.0
- '@rollup/rollup-android-arm64': 4.44.0
- '@rollup/rollup-darwin-arm64': 4.44.0
- '@rollup/rollup-darwin-x64': 4.44.0
- '@rollup/rollup-freebsd-arm64': 4.44.0
- '@rollup/rollup-freebsd-x64': 4.44.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.44.0
- '@rollup/rollup-linux-arm-musleabihf': 4.44.0
- '@rollup/rollup-linux-arm64-gnu': 4.44.0
- '@rollup/rollup-linux-arm64-musl': 4.44.0
- '@rollup/rollup-linux-loongarch64-gnu': 4.44.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0
- '@rollup/rollup-linux-riscv64-gnu': 4.44.0
- '@rollup/rollup-linux-riscv64-musl': 4.44.0
- '@rollup/rollup-linux-s390x-gnu': 4.44.0
- '@rollup/rollup-linux-x64-gnu': 4.44.0
- '@rollup/rollup-linux-x64-musl': 4.44.0
- '@rollup/rollup-win32-arm64-msvc': 4.44.0
- '@rollup/rollup-win32-ia32-msvc': 4.44.0
- '@rollup/rollup-win32-x64-msvc': 4.44.0
+ '@rollup/rollup-android-arm-eabi': 4.59.0
+ '@rollup/rollup-android-arm64': 4.59.0
+ '@rollup/rollup-darwin-arm64': 4.59.0
+ '@rollup/rollup-darwin-x64': 4.59.0
+ '@rollup/rollup-freebsd-arm64': 4.59.0
+ '@rollup/rollup-freebsd-x64': 4.59.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.59.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.59.0
+ '@rollup/rollup-linux-arm64-gnu': 4.59.0
+ '@rollup/rollup-linux-arm64-musl': 4.59.0
+ '@rollup/rollup-linux-loong64-gnu': 4.59.0
+ '@rollup/rollup-linux-loong64-musl': 4.59.0
+ '@rollup/rollup-linux-ppc64-gnu': 4.59.0
+ '@rollup/rollup-linux-ppc64-musl': 4.59.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.59.0
+ '@rollup/rollup-linux-riscv64-musl': 4.59.0
+ '@rollup/rollup-linux-s390x-gnu': 4.59.0
+ '@rollup/rollup-linux-x64-gnu': 4.59.0
+ '@rollup/rollup-linux-x64-musl': 4.59.0
+ '@rollup/rollup-openbsd-x64': 4.59.0
+ '@rollup/rollup-openharmony-arm64': 4.59.0
+ '@rollup/rollup-win32-arm64-msvc': 4.59.0
+ '@rollup/rollup-win32-ia32-msvc': 4.59.0
+ '@rollup/rollup-win32-x64-gnu': 4.59.0
+ '@rollup/rollup-win32-x64-msvc': 4.59.0
fsevents: 2.3.3
- run-parallel@1.2.0:
+ runed@0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9):
dependencies:
- queue-microtask: 1.2.3
+ dequal: 2.0.3
+ esm-env: 1.2.2
+ lz-string: 1.5.0
+ svelte: 5.53.9
+ optionalDependencies:
+ '@sveltejs/kit': 2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1))
- scheduler@0.23.2:
+ sade@1.8.1:
dependencies:
- loose-envify: 1.4.0
+ mri: 1.2.0
+
+ semver@7.7.4: {}
- semver@7.7.2: {}
+ set-cookie-parser@3.0.1: {}
shebang-command@2.0.0:
dependencies:
@@ -4312,51 +2998,102 @@ snapshots:
shebang-regex@3.0.0: {}
- sonner@1.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ sirv@3.0.2:
dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
+ '@polka/url': 1.0.0-next.29
+ mrmime: 2.0.1
+ totalist: 3.0.1
source-map-js@1.2.1: {}
strip-json-comments@3.1.1: {}
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
- tailwind-merge@2.6.0: {}
+ svelte-check@4.4.5(picomatch@4.0.3)(svelte@5.53.9)(typescript@5.9.3):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ chokidar: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.3)
+ picocolors: 1.1.1
+ sade: 1.8.1
+ svelte: 5.53.9
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - picomatch
+
+ svelte-eslint-parser@1.6.0(svelte@5.53.9):
+ dependencies:
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ postcss: 8.5.8
+ postcss-scss: 4.0.9(postcss@8.5.8)
+ postcss-selector-parser: 7.1.1
+ semver: 7.7.4
+ optionalDependencies:
+ svelte: 5.53.9
+
+ svelte-toolbelt@0.10.6(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9):
+ dependencies:
+ clsx: 2.1.1
+ runed: 0.35.1(@sveltejs/kit@2.53.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.9)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)(typescript@5.9.3)(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)))(svelte@5.53.9)
+ style-to-object: 1.0.14
+ svelte: 5.53.9
+ transitivePeerDependencies:
+ - '@sveltejs/kit'
- tailwindcss-animate@1.0.7(tailwindcss@4.1.10):
+ svelte@5.53.9:
dependencies:
- tailwindcss: 4.1.10
+ '@jridgewell/remapping': 2.3.5
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
+ '@types/estree': 1.0.8
+ '@types/trusted-types': 2.0.7
+ acorn: 8.16.0
+ aria-query: 5.3.1
+ axobject-query: 4.1.0
+ clsx: 2.1.1
+ devalue: 5.6.3
+ esm-env: 1.2.2
+ esrap: 2.2.3
+ is-reference: 3.0.3
+ locate-character: 3.0.0
+ magic-string: 0.30.21
+ zimmerframe: 1.1.4
+
+ tabbable@6.4.0: {}
- tailwindcss@4.1.10: {}
+ tailwindcss@4.2.1: {}
- tapable@2.2.2: {}
+ tapable@2.3.0: {}
- tar@7.4.3:
+ tar@7.5.11:
dependencies:
'@isaacs/fs-minipass': 4.0.1
chownr: 3.0.0
- minipass: 7.1.2
- minizlib: 3.0.2
- mkdirp: 3.0.1
+ minipass: 7.1.3
+ minizlib: 3.1.0
yallist: 5.0.0
- text-segmentation@1.0.3:
+ tinyglobby@0.2.15:
dependencies:
- utrie: 1.0.2
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
- tiny-invariant@1.3.3: {}
+ totalist@3.0.1: {}
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
+ tr46@0.0.3: {}
- ts-api-utils@2.1.0(typescript@5.8.3):
+ ts-api-utils@2.4.0(typescript@5.9.3):
dependencies:
- typescript: 5.8.3
+ typescript: 5.9.3
tslib@2.8.1: {}
@@ -4364,84 +3101,58 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3):
+ typescript-eslint@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)
- eslint: 9.29.0(jiti@2.4.2)
- typescript: 5.8.3
+ '@typescript-eslint/eslint-plugin': 8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
+ eslint: 9.39.4(jiti@2.6.1)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- typescript@5.8.3: {}
+ typescript@5.9.3: {}
- undici-types@6.21.0: {}
+ undici-types@7.16.0: {}
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- use-callback-ref@1.3.3(@types/react@18.3.23)(react@18.3.1):
- dependencies:
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.23
-
- use-sidecar@1.1.3(@types/react@18.3.23)(react@18.3.1):
- dependencies:
- detect-node-es: 1.1.0
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 18.3.23
-
- use-sync-external-store@1.5.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
util-deprecate@1.0.2: {}
- utrie@1.0.2:
- dependencies:
- base64-arraybuffer: 1.0.2
+ uuid@11.1.0: {}
- vaul@0.9.9(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ vite-plugin-devtools-json@1.0.0(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)):
dependencies:
- '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
+ uuid: 11.1.0
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
- victory-vendor@36.9.2:
- dependencies:
- '@types/d3-array': 3.2.1
- '@types/d3-ease': 3.0.2
- '@types/d3-interpolate': 3.0.4
- '@types/d3-scale': 4.0.9
- '@types/d3-shape': 3.1.7
- '@types/d3-time': 3.0.4
- '@types/d3-timer': 3.0.2
- d3-array: 3.2.4
- d3-ease: 3.0.1
- d3-interpolate: 3.0.1
- d3-scale: 4.0.2
- d3-shape: 3.2.0
- d3-time: 3.1.0
- d3-timer: 3.0.1
-
- vite@5.4.19(@types/node@22.15.32)(lightningcss@1.30.1):
+ vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1):
dependencies:
- esbuild: 0.21.5
- postcss: 8.5.6
- rollup: 4.44.0
+ esbuild: 0.27.3
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.8
+ rollup: 4.59.0
+ tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 22.15.32
+ '@types/node': 24.12.0
fsevents: 2.3.3
- lightningcss: 1.30.1
+ jiti: 2.6.1
+ lightningcss: 1.31.1
+
+ vitefu@1.1.2(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)):
+ optionalDependencies:
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.31.1)
+
+ webidl-conversions@3.0.1: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
which@2.0.2:
dependencies:
@@ -4451,12 +3162,8 @@ snapshots:
yallist@5.0.0: {}
- yocto-queue@0.1.0: {}
+ yaml@1.10.2: {}
- zod@3.25.67: {}
+ yocto-queue@0.1.0: {}
- zustand@5.0.5(@types/react@18.3.23)(react@18.3.1)(use-sync-external-store@1.5.0(react@18.3.1)):
- optionalDependencies:
- '@types/react': 18.3.23
- react: 18.3.1
- use-sync-external-store: 1.5.0(react@18.3.1)
+ zimmerframe@1.1.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 9bcea73..efc037a 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,4 +1,2 @@
onlyBuiltDependencies:
- - '@swc/core'
- - '@tailwindcss/oxide'
- esbuild
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index e69de29..0000000
diff --git a/src/App.tsx b/src/App.tsx
deleted file mode 100644
index 6b4920a..0000000
--- a/src/App.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Toaster } from "@/components/ui/toaster";
-import { Toaster as Sonner } from "@/components/ui/sonner";
-import { TooltipProvider } from "@/components/ui/tooltip";
-import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom";
-import Index from "./pages/Index";
-
-const App = () => (
-
-
-
-
-
- } />
-
- {/* Send user to home */}
- } />
-
-
-
-);
-
-export default App;
diff --git a/src/app.d.ts b/src/app.d.ts
new file mode 100644
index 0000000..da08e6d
--- /dev/null
+++ b/src/app.d.ts
@@ -0,0 +1,13 @@
+// See https://svelte.dev/docs/kit/types#app.d.ts
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface PageState {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/src/app.html b/src/app.html
new file mode 100644
index 0000000..f273cc5
--- /dev/null
+++ b/src/app.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/src/components/editor/Backgrounds.tsx b/src/components/editor/Backgrounds.tsx
deleted file mode 100644
index b69ba40..0000000
--- a/src/components/editor/Backgrounds.tsx
+++ /dev/null
@@ -1,358 +0,0 @@
-import React from 'react';
-import { useMobile } from '@/hooks/use-mobile';
-import { Sheet, SheetContent } from '@/components/ui/sheet';
-import { Button } from '@/components/ui/button';
-import { ChevronUp, Image as ImageIcon, Clipboard } from 'lucide-react';
-import { useMockupStore } from '@/contexts/MockupContext';
-import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog';
-import { toast } from 'sonner';
-import { DialogDescription } from '@radix-ui/react-dialog';
-
-interface CustomBackground {
- name: string;
- image: string; // Base64 string
-}
-
-export const Backgrounds: React.FC = () => {
- const {
- backgroundImage,
- setBackgroundType,
- setGradientColors,
- setGradientDirection,
- setBackgroundImage,
- customBackgrounds,
- addCustomBackground,
- } = useMockupStore();
-
- const isMobile = useMobile();
- const [isOpen, setIsOpen] = React.useState(false);
- const [isDialogOpen, setIsDialogOpen] = React.useState(false);
- const [isDragOver, setIsDragOver] = React.useState(false);
- const fileInputRef = React.useRef(null);
-
- const MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB
-
- const gradientPresets = [
- {
- name: 'Deep Horizon',
- colors: ['#141e30', '#243b55'],
- direction: 'to-tl',
- image: '/assets/deep_horizon.webp'
- },
-
- {
- name: 'Ocean Glow',
- colors: ['#56ccf2', '#2f80ed'],
- direction: 'to-r',
- image: '/assets/ocean_glow.webp'
- },
- {
- name: 'Ocean Breeze',
- colors: ['#ff9a9e', '#fecfef'],
- direction: 'to-r',
- image: '/assets/ocean_breeze.png'
- },
- {
- name: 'Purple Haze',
- colors: ['#c471ed', '#f64f59'],
- direction: 'to-r',
- image: '/assets/purple_haze.png'
- },
- {
- name: 'Summer Vibes',
- colors: ['#56ab2f', '#a8e6cf'],
- direction: 'to-tr',
- image: '/assets/summer_vibes.png'
- },
- {
- name: 'Rainbow Dreams',
- colors: ['#ff6b6b', '#4ecdc4'],
- direction: 'to-br',
- image: '/assets/rainbow_dreams.png'
- },
- {
- name: 'Neon Heat',
- colors: ['#ff0844', '#ffb199'],
- direction: 'to-br',
- image: '/assets/neon_heat.webp'
- },
- {
- name: 'Purple Magic',
- colors: ['#667eea', '#764ba2'],
- direction: 'to-br',
- image: '/assets/purple_magic.png'
- },
- {
- name: 'Sunset Glow',
- colors: ['#ff9a56', '#ff6b9d'],
- direction: 'to-r',
- image: '/assets/sunset_glow.png'
- },
- {
- name: 'Warm Embrace',
- colors: ['#ff9472', '#f2d388'],
- direction: 'to-tr',
- image: '/assets/warm_embrace.png'
- },
- {
- name: 'Cosmic Night',
- colors: ['#667eea', '#764ba2'],
- direction: 'to-br',
- image: '/assets/cosmic_night.webp'
- },
- {
- name: 'Mint Breeze',
- colors: ['#a8edea', '#fed6e3'],
- direction: 'to-tr',
- image: '/assets/mint_breeze.webp'
- },
- {
- name: 'Neon Midnight',
- colors: ['#c471ed', '#f64f59'],
- direction: 'to-r',
- image: '/assets/neon_midnight.webp'
- },
- {
- name: 'Monochrome',
- colors: ['#2c3e50', '#34495e'],
- direction: 'to-br',
- image: '/assets/monochrome.png'
- },
- {
- name: 'Arctic Pulse',
- colors: ['#cce3df', '#3a6c7a', '#0e1a1f'],
- direction: 'to-r',
- image: '/assets/arctic_pulse.webp'
- },
- {
- name: 'Molten Dusk',
- colors: ['#f0e7da', '#f857a6', '#2c2c2c'],
- direction: 'to-l',
- image: '/assets/molten_dusk.webp'
- },
- {
- name: 'Twilight Ember',
- colors: ['#ffb88c', '#ea5753', '#111d2f'],
- direction: 'to-br',
- image: '/assets/twilight_ember.webp'
- }
- ];
-
- const handleGradientSelect = (gradient: typeof gradientPresets[0] | CustomBackground) => {
- setBackgroundType('pattern');
- if ('colors' in gradient && 'direction' in gradient) {
- setGradientColors(gradient.colors);
- setGradientDirection(gradient.direction);
- } else {
- setGradientColors(['#ffffff', '#ffffff']);
- setGradientDirection('to-r');
- }
- setBackgroundImage(gradient.image);
- if (isMobile) setIsOpen(false);
- };
-
- const handleImageUpload = (file: File) => {
- if (!['image/jpeg', 'image/png'].includes(file.type)) {
- toast.error('Invalid file format! Please use JPG, PNG.');
- setIsDragOver(false);
- setIsDialogOpen(false);
- return;
- }
-
- if (file.size > MAX_FILE_SIZE) {
- toast.error('File too large! Maximum size is 10MB.');
- setIsDragOver(false);
- setIsDialogOpen(false);
- return;
- }
-
- const reader = new FileReader();
- reader.onload = (e) => {
- const base64Image = e.target?.result as string;
- if (base64Image) {
- const newBackground: CustomBackground = {
- name: `Custom ${customBackgrounds.length + 1}`,
- image: base64Image
- };
- addCustomBackground(newBackground);
- handleGradientSelect(newBackground);
- toast('Background added successfully!');
- setTimeout(() => setIsDialogOpen(false), 300); // Delay for toast visibility
- setIsDragOver(false);
- }
- };
- reader.onerror = () => {
- toast.error('Failed to read the file. Please try again.');
- setIsDragOver(false);
- setIsDialogOpen(false);
- };
- reader.readAsDataURL(file);
- };
-
- const handleDrop = (e: React.DragEvent) => {
- e.preventDefault();
- setIsDragOver(false);
- const file = e.dataTransfer.files[0];
- if (file) {
- handleImageUpload(file);
- } else {
- toast.error('No valid file dropped.');
- setIsDialogOpen(false);
- }
- };
-
- const handleFileInput = (e: React.ChangeEvent) => {
- const file = e.target.files?.[0];
- if (file) {
- handleImageUpload(file);
- } else {
- toast.error('No file selected.');
- setIsDialogOpen(false);
- }
- };
-
- const handlePaste = (e: React.ClipboardEvent) => {
- const file = e.clipboardData.files[0];
- if (file) {
- handleImageUpload(file);
- } else {
- toast.error('No valid image pasted.');
- setIsDialogOpen(false);
- }
- };
-
- const getDropZoneClasses = () => {
- const baseClasses = "relative transition-all duration-300 cursor-pointer border-2 border-dashed rounded-xl bg-primary/20";
- const hoverClasses = "hover:bg-primary/10";
- const dragOverClasses = isDragOver ? "scale-105 border-primary" : "border-gray-400";
- return `${baseClasses} ${hoverClasses} ${dragOverClasses}`;
- };
-
- const GradientGrid = () => (
-
-
-
-
Background Gradients
-
-
-
-
- {[...customBackgrounds, ...gradientPresets].map((gradient, index) => (
-
- ))}
-
-
-
-
- );
-
- if (isMobile) {
- return (
- <>
-
-
-
-
-
-
-
-
-
- >
- );
- }
-
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/src/components/editor/Canvas.tsx b/src/components/editor/Canvas.tsx
deleted file mode 100644
index 4800841..0000000
--- a/src/components/editor/Canvas.tsx
+++ /dev/null
@@ -1,536 +0,0 @@
-import React, { useRef, useState, useEffect } from 'react';
-import { toast } from 'sonner';
-import { extractDominantColor } from '@/utils/colorExtractor';
-import { ImageIcon, Clipboard } from 'lucide-react';
-import { useMockupStore } from '@/contexts/MockupContext';
-import { Button } from '@/components/ui/button';
-
-// Responsive configuration
-const getResponsiveConfig = () => {
- const viewportWidth = window.innerWidth;
- const viewportHeight = window.innerHeight;
- const isMobile = viewportWidth < 768;
- const isTablet = viewportWidth >= 768 && viewportWidth < 1024;
- const basePadding = isMobile ? 40 : isTablet ? 100 : 200;
- const scaleMultiplier = isMobile ? 0.95 : isTablet ? 0.85 : 0.8;
- const maxWidth = isMobile ? 1000 : isTablet ? 1100 : 1200;
- const maxHeight = isMobile ? 700 : isTablet ? 750 : 800;
- const availableWidth = viewportWidth - basePadding;
- const availableHeight = viewportHeight - basePadding;
- const maxContainerWidth = Math.min(availableWidth * scaleMultiplier, maxWidth);
- const maxContainerHeight = Math.min(availableHeight * scaleMultiplier, maxHeight);
- return {
- isMobile,
- isTablet,
- basePadding,
- scaleMultiplier,
- maxContainerWidth,
- maxContainerHeight,
- dropZoneWidth: isMobile ? '95%' : isTablet ? '70%' : '60%',
- dropZoneHeight: isMobile ? '60%' : '50%',
- };
-};
-
-// Smart image optimization utility - only compress if needed
-const optimizeImage = (file: File): Promise => {
- return new Promise((resolve, reject) => {
- if (file.size < 2 * 1024 * 1024) {
- const reader = new FileReader();
- reader.onload = (e) => resolve(e.target?.result as string);
- reader.onerror = reject;
- reader.readAsDataURL(file);
- return;
- }
- const canvas = document.createElement('canvas');
- const ctx = canvas.getContext('2d');
- const img = new Image();
- img.onload = () => {
- const MAX_WIDTH = 2400;
- const MAX_HEIGHT = 1800;
- let { width, height } = img;
- if (width > MAX_WIDTH || height > MAX_HEIGHT) {
- const ratio = Math.min(MAX_WIDTH / width, MAX_HEIGHT / height);
- width = Math.round(width * ratio);
- height = Math.round(height * ratio);
- }
- canvas.width = width;
- canvas.height = height;
- ctx?.drawImage(img, 0, 0, width, height);
- let optimizedDataUrl;
- try {
- optimizedDataUrl = canvas.toDataURL('image/png');
- if (optimizedDataUrl.length > 5 * 1024 * 1024) {
- optimizedDataUrl = canvas.toDataURL('image/jpeg', 0.92);
- }
- } catch (e) {
- optimizedDataUrl = canvas.toDataURL('image/jpeg', 0.92);
- }
- resolve(optimizedDataUrl);
- };
- img.onerror = reject;
- img.src = URL.createObjectURL(file);
- });
-};
-
-// Fetch demo image as a File object
-const fetchDemoImage = async (): Promise => {
- try {
- const response = await fetch('/assets/demo.webp');
- if (!response.ok) throw new Error('Failed to fetch demo image');
- const blob = await response.blob();
- return new File([blob], 'demo.webp', { type: 'image/webp' });
- } catch (error) {
- throw new Error('Error fetching demo image: ' + error);
- }
-};
-
-export const Canvas: React.FC = () => {
- const {
- uploadedImage,
- backgroundType,
- backgroundImage,
- backgroundColor,
- gradientDirection,
- gradientColors,
- devicePosition,
- rotation3D,
- imageBorder,
- margin,
- fixedMargin,
- setUploadedImage,
- setImageBorder,
- } = useMockupStore();
-
- const fileInputRef = useRef(null);
- const [isDragOver, setIsDragOver] = useState(false);
- const [imageDimensions, setImageDimensions] = useState<{ width: number; height: number } | null>(null);
- const [responsiveConfig, setResponsiveConfig] = useState(getResponsiveConfig());
- const [showPasteHint, setShowPasteHint] = useState(false);
-
- // Update responsive config on window resize
- useEffect(() => {
- const handleResize = () => {
- setResponsiveConfig(getResponsiveConfig());
- };
- window.addEventListener('resize', handleResize);
- return () => window.removeEventListener('resize', handleResize);
- }, []);
-
- // Clipboard paste functionality
- useEffect(() => {
- const handlePaste = async (e: ClipboardEvent) => {
- const items = e.clipboardData?.items;
- if (!items) return;
- for (const item of Array.from(items)) {
- if (item.type.startsWith('image/')) {
- const file = item.getAsFile();
- if (file) {
- if (uploadedImage) {
- setShowPasteHint(true);
- toast('Image in clipboard detected! Clear current image to paste new one.', {
- duration: 3000,
- action: {
- label: 'Clear & Paste',
- onClick: () => {
- setUploadedImage(null);
- localStorage.removeItem('demoImage');
- setTimeout(() => handleImageUpload(file), 100);
- },
- },
- });
- setTimeout(() => setShowPasteHint(false), 3000);
- } else {
- await handleImageUpload(file);
- localStorage.removeItem('demoImage');
- toast('Image pasted successfully!');
- }
- }
- break;
- }
- }
- };
- document.addEventListener('paste', handlePaste);
- return () => document.removeEventListener('paste', handlePaste);
- }, [uploadedImage, setUploadedImage]);
-
- // Load demo image from local storage on mount
- // useEffect(() => {
- // const savedDemoImage = localStorage.getItem('demoImage');
- // if (savedDemoImage === '/assets/demo.webp') {
- // handleDemoImage();
- // }
- // }, [setUploadedImage]);
-
- const handleDrop = (e: React.DragEvent) => {
- e.preventDefault();
- e.stopPropagation();
- setIsDragOver(false);
- const files = Array.from(e.dataTransfer.files);
- const imageFile = files.find((file) => file.type.startsWith('image/'));
- if (imageFile) {
- localStorage.removeItem('demoImage');
- handleImageUpload(imageFile);
- }
- };
-
- const handleDragOver = (e: React.DragEvent) => {
- e.preventDefault();
- e.stopPropagation();
- setIsDragOver(true);
- };
-
- const hexToRgb = (hex: string): { r: number; g: number; b: number } => {
- const r = parseInt(hex.slice(1, 3), 16);
- const g = parseInt(hex.slice(3, 5), 16);
- const b = parseInt(hex.slice(5, 7), 16);
- return { r, g, b };
- };
-
- const handleImageUpload = async (file: File) => {
- let loadingToast: string | number | undefined;
- if (file.size > 1024 * 1024) {
- loadingToast = toast('Processing image...', { duration: Infinity });
- }
- try {
- const optimizedDataUrl = await optimizeImage(file);
- setUploadedImage(optimizedDataUrl);
- requestAnimationFrame(async () => {
- try {
- const dominantColor = await extractDominantColor(optimizedDataUrl);
- const validHex = /^#[0-9A-Fa-f]{6}$/.test(dominantColor) ? dominantColor : '#9CA389';
- const { r, g, b } = hexToRgb(validHex);
- const borderWidth = responsiveConfig.isMobile ? 4 : 8;
- const initialOpacity = 0.5;
- setImageBorder({
- enabled: true,
- width: borderWidth,
- color: `rgba(${r}, ${g}, ${b}, ${initialOpacity})`,
- shadow: `rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px`,
- });
- if (loadingToast) {
- toast.dismiss(loadingToast);
- }
- toast('Image uploaded with transparent border!');
- } catch (error) {
- const borderWidth = responsiveConfig.isMobile ? 4 : 8;
- const initialOpacity = 0.5;
- setImageBorder({
- enabled: true,
- width: borderWidth,
- color: `rgba(156, 163, 137, ${initialOpacity})`,
- shadow: `rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px`,
- });
- if (loadingToast) {
- toast.dismiss(loadingToast);
- }
- toast('Image uploaded with default transparent border!');
- }
- });
- } catch (error) {
- const reader = new FileReader();
- reader.onload = async (e) => {
- const result = e.target?.result as string;
- setUploadedImage(result);
- try {
- const dominantColor = await extractDominantColor(result);
- const validHex = /^#[0-9A-Fa-f]{6}$/.test(dominantColor) ? dominantColor : '#9CA389';
- const { r, g, b } = hexToRgb(validHex);
- const borderWidth = responsiveConfig.isMobile ? 4 : 8;
- const initialOpacity = 0.5;
- setImageBorder({
- enabled: true,
- width: borderWidth,
- color: `rgba(${r}, ${g}, ${b}, ${initialOpacity})`,
- shadow: `rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px`,
- });
- toast('Image uploaded with transparent border!');
- } catch (error) {
- const borderWidth = responsiveConfig.isMobile ? 4 : 8;
- const initialOpacity = 0.5;
- setImageBorder({
- enabled: true,
- width: borderWidth,
- color: `rgba(156, 163, 137, ${initialOpacity})`,
- shadow: `rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px`,
- });
- toast('Image uploaded with default transparent border!');
- }
- };
- reader.readAsDataURL(file);
- if (loadingToast) {
- toast.dismiss(loadingToast);
- }
- console.error('Image optimization failed, using fallback:', error);
- }
- };
-
- const handleFileSelect = (e: React.ChangeEvent) => {
- const file = e.target.files?.[0];
- if (file) {
- localStorage.removeItem('demoImage');
- handleImageUpload(file);
- }
- };
-
- const handleDemoImage = async (e?: React.MouseEvent) => {
- try {
- e?.stopPropagation();
- const demoFile = await fetchDemoImage();
- await handleImageUpload(demoFile);
- localStorage.setItem('demoImage', '/assets/demo.webp');
- toast('Demo image applied successfully!');
- } catch (error) {
- toast.error('Failed to load demo image.');
- console.error(error);
- }
- };
-
- // Calculate image dimensions with responsive scaling
- useEffect(() => {
- if (uploadedImage) {
- const img = new Image();
- img.onload = () => {
- const { maxContainerWidth, maxContainerHeight } = responsiveConfig;
- const originalWidth = img.width;
- const originalHeight = img.height;
- const scaleX = maxContainerWidth / originalWidth;
- const scaleY = maxContainerHeight / originalHeight;
- const optimalScale = Math.min(scaleX, scaleY, 1);
- const scaledWidth = originalWidth * optimalScale;
- const scaledHeight = originalHeight * optimalScale;
- setImageDimensions({
- width: Math.round(scaledWidth),
- height: Math.round(scaledHeight),
- });
- };
- img.src = uploadedImage;
- } else {
- setImageDimensions(null);
- }
- }, [uploadedImage, responsiveConfig]);
-
- // Calculate canvas style based on fixed margin setting
- const getCanvasStyle = () => {
- if (!fixedMargin || !imageDimensions || !uploadedImage) {
- // Default behavior - canvas takes full flex-1 space
- return {
- width: '100%',
- height: '100%',
- };
- }
-
- // Fixed margin behavior - shrink canvas to image + margin
- const totalWidth = imageDimensions.width + margin.left + margin.right;
- const totalHeight = imageDimensions.height + margin.top + margin.bottom;
-
- return {
- width: `${totalWidth}px`,
- height: `${totalHeight}px`,
- };
- };
-
- const getBackgroundStyle = () => {
- const baseStyle: React.CSSProperties = {};
-
- if (backgroundType === 'pattern' && backgroundImage) {
- baseStyle.backgroundImage = `url(${backgroundImage})`;
- baseStyle.backgroundSize = 'cover';
- baseStyle.backgroundPosition = 'center';
- baseStyle.backgroundRepeat = 'no-repeat';
- } else if (backgroundType === 'gradient') {
- const direction = gradientDirection.replace('to-', '');
- const degreeMap: { [key: string]: string } = {
- r: '90deg',
- br: '135deg',
- b: '180deg',
- bl: '225deg',
- l: '270deg',
- tl: '315deg',
- t: '0deg',
- tr: '45deg',
- };
- const angle = degreeMap[direction] || '135deg';
- baseStyle.background = `linear-gradient(${angle}, ${gradientColors.join(', ')})`;
- } else {
- baseStyle.backgroundColor = backgroundColor;
- }
-
- if (fixedMargin && imageDimensions && uploadedImage) {
- // When fixed margin is enabled, background takes full canvas size
- baseStyle.width = '100%';
- baseStyle.height = '100%';
- } else {
- // Default behavior - background fills the entire flex space
- baseStyle.width = '100%';
- baseStyle.height = '100%';
- }
-
- return baseStyle;
- };
-
- const getImageContainerStyle = () => {
- if (!fixedMargin || !imageDimensions || !uploadedImage) {
- // Default behavior - center the image
- return {
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- width: '100%',
- height: '100%',
- };
- }
-
- // Fixed margin behavior - position image with exact margins
- return {
- position: 'absolute' as const,
- top: `${margin.top}px`,
- right: `${margin.right}px`,
- bottom: `${margin.bottom}px`,
- left: `${margin.left}px`,
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- };
- };
-
- const getImageStyle = () => {
- const dimensions = imageDimensions || { width: 400, height: 300 };
- const baseStyles = {
- width: `${dimensions.width}px`,
- height: `${dimensions.height}px`,
- transform: `
- translate(${devicePosition.x}px, ${devicePosition.y}px)
- scale(${devicePosition.scale})
- rotate(${devicePosition.rotation}deg)
- rotateX(${rotation3D.rotateX}deg)
- rotateY(${rotation3D.rotateY}deg)
- rotateZ(${rotation3D.rotateZ}deg)
- skew(${rotation3D.skew}deg)
- `,
- transformOrigin: 'center center',
- transformStyle: 'preserve-3d' as const,
- };
-
- if (imageBorder.enabled) {
- return {
- ...baseStyles,
- border: `${imageBorder.width}px solid ${imageBorder.color}`,
- borderRadius: `${imageBorder.radius}px`,
- boxShadow: imageBorder.shadow,
- };
- }
- return baseStyles;
- };
-
- const getDropZoneClasses = () => {
- const baseClasses = 'relative transition-all duration-300 cursor-pointer border-2 border-dashed rounded-xl bg-gray-900/50 mx-auto top-[15%] md:top-[25%]';
- const hoverClasses = 'hover:bg-gray-900/70';
- const dragOverClasses = isDragOver ? 'scale-105 border-primary' : 'border-gray-400';
- return `${baseClasses} ${hoverClasses} ${dragOverClasses}`;
- };
-
- const getDropZoneOverlayText = () => {
- const primaryText = uploadedImage ? 'Drop to replace image' : 'Drop image here';
- const iconSize = responsiveConfig.isMobile ? 32 : 48;
- const textSize = responsiveConfig.isMobile ? 'text-base' : 'text-xl';
- return { primaryText, iconSize, textSize };
- };
-
- return (
-
-
-
- {uploadedImage ? (
-
-
-

e.stopPropagation()}
- />
- {isDragOver && (
-
-
- {getDropZoneOverlayText().primaryText}
-
-
- )}
- {showPasteHint && (
-
-
-
- Image ready to paste!
-
-
- )}
-
-
- ) : (
-
fileInputRef.current?.click()}
- >
-
-
-
-
- Drop image here or click to upload
-
-
- Supports JPG, PNG
-
-
-
-
- Or paste image (Ctrl+V)
-
-
-
-
-
- {isDragOver && (
-
- )}
-
- )}
-
-
-
-
- );
-};
\ No newline at end of file
diff --git a/src/components/editor/Editor.tsx b/src/components/editor/Editor.tsx
deleted file mode 100644
index c8cf22e..0000000
--- a/src/components/editor/Editor.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-
-import React from 'react';
-import { Canvas } from './Canvas';
-import { Backgrounds } from './Backgrounds';
-import { Navbar } from './Navbar';
-import { FloatingBar } from './FloatingBar';
-
-export const Editor: React.FC = () => {
- return (
-
- );
-};
diff --git a/src/components/editor/FloatingBar.tsx b/src/components/editor/FloatingBar.tsx
deleted file mode 100644
index b10cb54..0000000
--- a/src/components/editor/FloatingBar.tsx
+++ /dev/null
@@ -1,228 +0,0 @@
-import React, { useState, useRef } from 'react';
-import { Button } from '@/components/ui/button';
-import {
- Tooltip,
- TooltipContent,
- TooltipTrigger,
-} from '@/components/ui/tooltip';
-import { Separator } from '@/components/ui/separator';
-import {
- Move,
- Undo,
- SquareDashed,
- Rotate3D
-} from 'lucide-react';
-import { RotationSkewPanel } from './RotationSkewPanel';
-import { PositionScalePanel } from './PositionScalePanel';
-import { ImageBorderPanel } from './ImageBorderPanel';
-import { useMobile } from '@/hooks/use-mobile';
-import { Sheet, SheetContent } from '@/components/ui/sheet';
-import { useMockupStore } from '@/contexts/MockupContext';
-
-export const FloatingBar: React.FC = () => {
- const {
- uploadedImage,
- setUploadedImage,
- updateDevicePosition,
- set3DRotation,
- setImageBorder,
- setMargin,
- setFixedMargin
- } = useMockupStore();
-
- const [activePanel, setActivePanel] = useState(null);
- const [navPosition, setNavPosition] = useState({ x: 0, y: 0 });
- const isMobile = useMobile();
- const hasImageRef = useRef(false);
-
- // Only update hasImageRef when uploadedImage actually changes between null and non-null
- const hasImage = !!uploadedImage;
- if (hasImageRef.current !== hasImage) {
- hasImageRef.current = hasImage;
- }
-
- const handleReset = () => {
- setMargin({ top: 0, right: 0, bottom: 0, left: 0 });
- setFixedMargin(false);
- setUploadedImage(null);
- updateDevicePosition({ x: 0, y: 0, scale: 1, rotation: 0 });
- set3DRotation({ rotateX: 0, rotateY: 0, rotateZ: 0, skew: 0 });
- setImageBorder({ width: 8, color: '#FF6B6B', radius: 22, enabled: false });
- setActivePanel(null);
- };
-
- const togglePanel = (panelName: string) => {
- setActivePanel(prev => prev === panelName ? null : panelName);
- };
-
- // Separate the position calculation logic to only run when necessary
- React.useEffect(() => {
- if (!isMobile && hasImageRef.current) {
- const updatePosition = () => {
- const canvasElement = document.querySelector('[data-mockup-canvas]') as HTMLElement;
- if (canvasElement) {
- const rect = canvasElement.getBoundingClientRect();
- const navHeight = 60;
- const navWidth = 280;
- const padding = 20;
-
- let centerX = rect.left + rect.width / 2;
- let bottomY = rect.bottom - 80;
-
- const maxX = window.innerWidth - navWidth / 2 - padding;
- const minX = navWidth / 2 + padding;
- centerX = Math.max(minX, Math.min(maxX, centerX));
-
- const maxY = window.innerHeight - navHeight - padding;
- const minY = padding;
- bottomY = Math.max(minY, Math.min(maxY, bottomY));
-
- setNavPosition({
- x: centerX,
- y: bottomY
- });
- }
- };
-
- updatePosition();
- window.addEventListener('resize', updatePosition);
- window.addEventListener('scroll', updatePosition);
-
- return () => {
- window.removeEventListener('resize', updatePosition);
- window.removeEventListener('scroll', updatePosition);
- };
- }
- }, [isMobile, hasImageRef.current]); // Remove uploadedImage dependency
-
- // Render panel components only once and keep them stable
- const panelComponents = React.useMemo(() => ({
- rotation: setActivePanel(null)} />,
- position: setActivePanel(null)} />,
- border: setActivePanel(null)} />
- }), []); // Empty dependency array - components are stable
-
- const renderPanel = () => {
- if (!activePanel) return null;
-
- const PanelContent = panelComponents[activePanel as keyof typeof panelComponents];
-
- if (isMobile) {
- return (
- setActivePanel(null)}>
-
- {PanelContent}
-
-
- );
- }
-
- return PanelContent;
- };
-
- const NavButtons = () => (
- <>
-
-
-
-
- Reset Transformations
-
-
- {!isMobile && }
-
-
-
-
-
- 3D Rotation
-
-
-
-
-
-
- Position & Scale
-
-
-
-
-
-
- Image Border
-
- >
- );
-
- if (isMobile) {
- return (
- <>
- {renderPanel()}
-
-
-
- >
- );
- }
-
- return (
- <>
- {renderPanel()}
-
- >
- );
-};
\ No newline at end of file
diff --git a/src/components/editor/ImageBorderPanel.tsx b/src/components/editor/ImageBorderPanel.tsx
deleted file mode 100644
index 214ed3d..0000000
--- a/src/components/editor/ImageBorderPanel.tsx
+++ /dev/null
@@ -1,301 +0,0 @@
-import React, { useState, useRef } from 'react';
-import { Card, CardContent } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Slider } from '@/components/ui/slider';
-import { Switch } from '@/components/ui/switch';
-import { GripVertical, Undo, RectangleHorizontal, Palette, CornerUpLeft, Wand2 } from 'lucide-react';
-import { useMockupStore } from '@/contexts/MockupContext';
-import { extractDominantColor } from '@/utils/colorExtractor';
-
-interface ImageBorderPanelProps {
- onClose: () => void;
-}
-
-export const ImageBorderPanel: React.FC = ({ onClose }) => {
- const {
- imageBorder,
- setImageBorder,
- uploadedImage,
- } = useMockupStore();
-
- // Parse RGBA to initialize isTransparent and opacity
- const parseRgba = (color: string): { r: number; g: number; b: number; a: number } => {
- const matches = color.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);
- if (matches) {
- return {
- r: parseInt(matches[1]),
- g: parseInt(matches[2]),
- b: parseInt(matches[3]),
- a: parseFloat(matches[4]),
- };
- }
- // Fallback to default color if parsing fails
- return { r: 156, g: 163, b: 137, a: 1 }; // #9CA389
- };
-
- const initialRgba = parseRgba(imageBorder.color);
- const [isDragging, setIsDragging] = useState(false);
- const [windowPosition, setWindowPosition] = useState({ x: 300, y: 100 });
- const windowRef = useRef(null);
- const dragStartRef = useRef({ x: 0, y: 0 });
- const [isTransparent, setIsTransparent] = useState(initialRgba.a < 1);
- const [isLoadingColor, setIsLoadingColor] = useState(false);
- const [opacity, setOpacity] = useState(Math.max(0.3, initialRgba.a));
-
- const handleWindowDragStart = (e: React.MouseEvent) => {
- e.preventDefault();
- setIsDragging(true);
- dragStartRef.current = {
- x: e.clientX - windowPosition.x,
- y: e.clientY - windowPosition.y
- };
- };
-
- const handleWindowDrag = (e: MouseEvent) => {
- if (!isDragging) return;
- setWindowPosition({
- x: e.clientX - dragStartRef.current.x,
- y: e.clientY - dragStartRef.current.y
- });
- };
-
- const handleWindowDragEnd = () => {
- setIsDragging(false);
- };
-
- React.useEffect(() => {
- if (isDragging) {
- window.addEventListener('mousemove', handleWindowDrag);
- window.addEventListener('mouseup', handleWindowDragEnd);
- return () => {
- window.removeEventListener('mousemove', handleWindowDrag);
- window.removeEventListener('mouseup', handleWindowDragEnd);
- };
- }
- }, [isDragging]);
-
- const resetBorder = () => {
- setImageBorder({
- width: 8,
- color: 'rgba(156, 163, 137, 1)', // #9CA389
- radius: 22,
- enabled: false,
- shadow: 'rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px',
- });
- setIsTransparent(false);
- setOpacity(1);
- };
-
- const handleMagicWandClick = async () => {
- if (!uploadedImage) return;
- setIsLoadingColor(true);
- try {
- const dominantColor = await extractDominantColor(uploadedImage);
- const matches = dominantColor.match(/^#[0-9A-Fa-f]{6}$/) ? dominantColor : '#9CA389';
- const { r, g, b } = hexToRgb(matches);
- setImageBorder({
- color: `rgba(${r}, ${g}, ${b}, ${isTransparent ? opacity : 1})`
- });
- } catch (error) {
- console.error('Error extracting dominant color:', error);
- setImageBorder({
- color: `rgba(156, 163, 137, ${isTransparent ? opacity : 1})` // #9CA389
- });
- } finally {
- setIsLoadingColor(false);
- }
- };
-
- const colorOptions = [
- 'magic-wand',
- 'rgba(255, 255, 255, 1)', // #FFFFFF
- 'rgba(156, 163, 137, 1)', // #9CA389
- 'rgba(0, 0, 0, 1)', // #000000
- 'rgba(255, 107, 107, 1)', // #FF6B6B
- 'rgba(254, 202, 87, 1)', // #FECA57
- 'rgba(78, 205, 196, 1)', // #4ECDC4
- 'rgba(69, 183, 209, 1)', // #45B7D1
- ];
-
- const hexToRgb = (hex: string): { r: number; g: number; b: number } => {
- const r = parseInt(hex.slice(1, 3), 16);
- const g = parseInt(hex.slice(3, 5), 16);
- const b = parseInt(hex.slice(5, 7), 16);
- return { r, g, b };
- };
-
- const convertToRgba = (r: number, g: number, b: number, opacity: number): string => {
- return `rgba(${r}, ${g}, ${b}, ${opacity})`;
- };
-
- const handleColorSelect = (color: string) => {
- if (color === 'magic-wand') return;
- const { r, g, b } = parseRgba(color);
- setImageBorder({
- color: convertToRgba(r, g, b, isTransparent ? opacity : 1)
- });
- };
-
- const handleTransparencyToggle = (checked: boolean) => {
- setIsTransparent(checked);
- const newOpacity = checked ? 0.5 : 1;
- setOpacity(newOpacity);
- const { r, g, b } = parseRgba(imageBorder.color);
- setImageBorder({
- color: convertToRgba(r, g, b, newOpacity)
- });
- };
-
- const handleOpacityChange = (value: number[]) => {
- const newOpacity = Math.max(0.3, value[0]);
- setOpacity(newOpacity);
- if (isTransparent) {
- const { r, g, b } = parseRgba(imageBorder.color);
- setImageBorder({
- color: convertToRgba(r, g, b, newOpacity)
- });
- }
- };
-
- return (
-
-
-
-
-
- Image Border
-
-
-
-
-
-
- {/* Enable Border Section */}
-
- Enable Border
- setImageBorder({ enabled: checked })}
- />
-
-
- {imageBorder.enabled && (
- <>
- {/* Transparent Border Section */}
-
-
- Transparent Border
-
-
- {isTransparent && (
-
-
- Opacity
- {Math.round(opacity * 100)}%
-
-
-
- )}
-
-
- {/* Color Section */}
-
-
-
- {colorOptions.map((color) => (
- color === 'magic-wand' ? (
-
- ) : (
-
-
-
- {/* Width Section */}
-
-
-
-
- Width
-
-
{imageBorder.width}px
-
-
setImageBorder({ width: value[0] })}
- min={0}
- max={20}
- step={1}
- />
-
-
- {/* Radius (Corners) Section */}
-
-
-
-
- Radius
-
-
{imageBorder.radius}px
-
-
setImageBorder({ radius: value[0] })}
- min={0}
- max={50}
- step={1}
- />
-
- >
- )}
-
-
-
-
- );
-};
\ No newline at end of file
diff --git a/src/components/editor/Navbar.tsx b/src/components/editor/Navbar.tsx
deleted file mode 100644
index 658e69a..0000000
--- a/src/components/editor/Navbar.tsx
+++ /dev/null
@@ -1,471 +0,0 @@
-import { useState } from "react";
-import { Button } from "@/components/ui/button";
-import { Card, CardContent, CardHeader } from "@/components/ui/card";
-import {
- Dialog,
- DialogContent,
- DialogTrigger,
- DialogHeader,
- DialogTitle,
-} from "@/components/ui/dialog";
-import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";
-import upiQR from "/assets/upiQR.png";
-import {
- Download,
- ChevronDown,
- Coffee,
- ExternalLink,
- Loader2,
- Heart,
- X,
- CheckCircle,
-} from "lucide-react";
-import { Github } from "@/components/icons/Github";
-import { Bluesky } from "@/components/icons/Bluesky";
-import { X as XIcon } from "@/components/icons/X";
-
-import { toast } from "sonner";
-import { useMockupStore } from "@/contexts/MockupContext";
-import html2canvas from "html2canvas";
-import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
-
-export function Navbar() {
- const [showExportOptions, setShowExportOptions] = useState(false);
- const [exportFormat, setExportFormat] = useState("PNG");
- const [quality, setQuality] = useState([2]);
- const [isExporting, setIsExporting] = useState(false);
- const [isDialogOpen, setIsDialogOpen] = useState(false);
-
- const { uploadedImage, imageBorder, fixedMargin, margin } = useMockupStore();
-
- const isMobile = typeof window !== "undefined" ? window.innerWidth < 768 : false;
-
- const getQualityLabel = (value) => {
- switch (value) {
- case 1:
- return "Standard (1x)";
- case 2:
- return "High (2x)";
- case 3:
- return "Ultra (3x)";
- default:
- return `${value}x`;
- }
- };
-
- const exportImage = async (format: string, qualityMultiplier: number) => {
- if (!uploadedImage) return;
-
- try {
- const mockupElement = document.querySelector("[data-mockup-canvas]") as HTMLDivElement;
- if (!mockupElement) throw new Error("Mockup canvas not found");
-
- const imgElement = mockupElement.querySelector("img") as HTMLImageElement;
- if (!imgElement) throw new Error("Image element not found");
-
- // For fixed margin mode: capture the entire canvas (image + background margins)
- const canvas = await html2canvas(mockupElement, {
- scale: qualityMultiplier * 2,
- useCORS: true,
- allowTaint: true,
- backgroundColor: null,
- // Capture the entire mockup element without any cropping
- });
-
- const mimeType = `image/${format.toLowerCase()}`;
- const imageQuality = format === "JPEG" ? 1 : undefined;
-
- canvas.toBlob(
- (blob) => {
- if (blob) {
- const url = URL.createObjectURL(blob);
- const a = document.createElement("a");
- a.href = url;
- a.download = `mockup-${Date.now()}.${format.toLowerCase()}`;
- document.body.appendChild(a);
- a.click();
- document.body.removeChild(a);
- URL.revokeObjectURL(url);
- } else {
- throw new Error("Failed to create blob");
- }
- },
- mimeType,
- imageQuality,
- );
- } catch (error) {
- console.error("Export error:", error);
- throw error;
- }
- };
-
- const handleSingleExport = async () => {
- if (!uploadedImage) {
- toast.error("Please upload an image first");
- return;
- }
-
- setIsExporting(true);
- try {
- await exportImage(exportFormat, quality[0]);
- toast.success(`Successfully exported as ${exportFormat}!`, {
- icon: ,
- });
- } catch (error) {
- toast.error("Failed to export image. Please try again.");
- } finally {
- setIsExporting(false);
- }
- };
-
- const handleAllFormatsExport = async () => {
- if (!uploadedImage) {
- toast.error("Please upload an image first");
- return;
- }
-
- setIsExporting(true);
- const formats = ["PNG", "JPEG", "WebP"];
- const qualityMultiplier = quality[0];
-
- try {
- await Promise.all(formats.map((format) => exportImage(format, qualityMultiplier)));
-
- toast.success(`Successfully exported all formats (${formats.join(", ")})!`, {
- icon: ,
- });
- } catch (error) {
- console.error("Export all formats error:", error);
- toast.error("Failed to export some formats. Please try again.");
- } finally {
- setIsExporting(false);
- }
- };
-
- const ExportOptionsContent = () => (
-
-
-
-
-
- Export Settings
-
-
-
-
-
-
value && setExportFormat(value)}
- className="flex gap-1 bg-sidebar/80 rounded-full ring-2 ring-secondary p-1"
- >
- {["PNG", "JPEG", "WebP"].map((format) => (
-
- {format}
-
- ))}
-
-
-
-
-
-
-
-
value && setQuality([parseInt(value)])}
- className="flex gap-1 bg-sidebar/80 rounded-full ring-2 ring-secondary p-1"
- >
-
- Standard
-
-
- High
-
-
- Ultra
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hi, I'm
-
- Jaydip
-
-
-
-
- moocup is a simple offline tool.
-
-
- focus on your craft, we'll take care of rest.
-
-
- you can show your support by sponsoring my work!
-
-
-
-
-
-
-
-
- Say Hi!
-
- I'm always up for quick chat :)
-
-
-
-
-
-
-
- );
-
- return (
-
-
-
-
- {!isMobile && (
-
- )}
-
-
-
-
-
- {isMobile ? (
-
- ) : (
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
-
-
- );
-}
diff --git a/src/components/editor/PositionScalePanel.tsx b/src/components/editor/PositionScalePanel.tsx
deleted file mode 100644
index 584c647..0000000
--- a/src/components/editor/PositionScalePanel.tsx
+++ /dev/null
@@ -1,309 +0,0 @@
-import { useEffect, useRef, useState } from 'react';
-import { Card, CardContent } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Slider } from '@/components/ui/slider';
-import { Switch } from '@/components/ui/switch';
-import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
-import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
-import { GripVertical, Undo, Move, Maximize2 } from 'lucide-react';
-import { useMockupStore } from '@/contexts/MockupContext';
-
-interface PositionScalePanelProps {
- onClose: () => void;
-}
-
-export const PositionScalePanel: React.FC = ({ onClose }) => {
- const {
- devicePosition,
- updateDevicePosition,
- fixedMargin,
- setFixedMargin,
- margin,
- setMargin,
- } = useMockupStore();
-
- const [isDragging, setIsDragging] = useState(false);
- const [windowPosition, setWindowPosition] = useState({ x: 200, y: 100 });
- const [scale, setScale] = useState(() => devicePosition.scale);
- const [activeTab, setActiveTab] = useState('position');
- const [marginPreset, setMarginPreset] = useState('medium');
-
- const windowRef = useRef(null);
- const dragStartRef = useRef({ x: 0, y: 0 });
- const gridRef = useRef(null);
-
- const handleWindowDragStart = (e: React.MouseEvent) => {
- e.preventDefault();
- setIsDragging(true);
- dragStartRef.current = {
- x: e.clientX - windowPosition.x,
- y: e.clientY - windowPosition.y,
- };
- };
-
- const handleWindowDrag = (e: MouseEvent) => {
- if (!isDragging) return;
- setWindowPosition({
- x: e.clientX - dragStartRef.current.x,
- y: e.clientY - dragStartRef.current.y,
- });
- };
-
- const handleWindowDragEnd = () => {
- setIsDragging(false);
- };
-
- useEffect(() => {
- if (isDragging) {
- window.addEventListener('mousemove', handleWindowDrag);
- window.addEventListener('mouseup', handleWindowDragEnd);
- return () => {
- window.removeEventListener('mousemove', handleWindowDrag);
- window.removeEventListener('mouseup', handleWindowDragEnd);
- };
- }
- }, [isDragging]);
-
- const handleFixedMarginToggle = (checked) => {
- setFixedMargin(checked)
- handleMarginPresetChange('medium')
- }
-
- const handleBallClick = (e: React.MouseEvent, ballIndex: number) => {
- e.preventDefault();
- if (!gridRef.current) return;
-
- const rect = gridRef.current.getBoundingClientRect();
- const ballElement = e.currentTarget as HTMLElement;
- const ballRect = ballElement.getBoundingClientRect();
-
- const ballCenterX = ballRect.left + ballRect.width / 2 - rect.left;
- const ballCenterY = ballRect.top + ballRect.height / 2 - rect.top;
-
- const ballRadius = 25;
- const gridWidth = rect.width;
- const gridHeight = rect.height;
-
- const deviceX = ((ballCenterX - ballRadius) / (gridWidth - ballRadius * 2)) * 400 - 200;
- const deviceY = ((ballCenterY - ballRadius) / (gridHeight - ballRadius * 2)) * 400 - 200;
-
- updateDevicePosition({ x: deviceX, y: deviceY });
- };
-
- const resetPosition = () => {
- setScale(1);
- updateDevicePosition({ x: 0, y: 0, scale: 1 });
- setFixedMargin(false);
- setMargin({ top: 35, right: 35, bottom: 35, left: 35 });
- setMarginPreset('medium');
- };
-
- const handleMarginPresetChange = (preset: string) => {
- if (!preset) return;
- setMarginPreset(preset);
- let marginValue;
- switch (preset) {
- case 'small':
- marginValue = 20;
- break;
- case 'medium':
- marginValue = 35;
- break;
- case 'large':
- marginValue = 50;
- break;
- default:
- marginValue = 35;
- }
- setMargin({ top: marginValue, right: marginValue, bottom: marginValue, left: marginValue });
- };
-
- const positionBalls = [
- { style: { left: '25px', top: '25px' } },
- { style: { right: '25px', top: '25px' } },
- { style: { left: '25px', bottom: '25px' } },
- { style: { right: '25px', bottom: '25px' } },
- { style: { left: '50%', top: '25px', transform: 'translateX(-50%)' } },
- { style: { left: '50%', bottom: '25px', transform: 'translateX(-50%)' } },
- { style: { left: '25px', top: '50%', transform: 'translateY(-50%)' } },
- { style: { right: '25px', top: '50%', transform: 'translateY(-50%)' } },
- { style: { left: '50%', top: '50%', transform: 'translate(-50%, -50%)' } },
- ];
-
- return (
-
-
-
-
-
- Position / Scale
-
-
-
-
-
-
-
-
-
- Position
-
-
-
- Margins
-
-
-
-
-
- {positionBalls.map((ball, index) => (
-
handleBallClick(e, index)}
- />
- ))}
-
-
-
-
- Scale
- {scale.toFixed(1)}x
-
-
{
- setScale(value[0]);
- updateDevicePosition({ scale: value[0] });
- }}
- min={0.1}
- max={3}
- step={0.1}
- />
-
-
-
-
-
-
- Fixed Margin
-
-
-
- {fixedMargin && (
-
-
-
- Small
-
-
- Medium
-
-
- Large
-
-
-
-
- Top Margin
- {Math.round(margin.top)}
-
-
{
- setMargin({ ...margin, top: value[0] });
- setMarginPreset('');
- }}
- min={0}
- max={100}
- step={1}
- />
-
- Right Margin
- {Math.round(margin.right)}
-
- {
- setMargin({ ...margin, right: value[0] });
- setMarginPreset('');
- }}
- min={0}
- max={100}
- step={1}
- />
-
- Bottom Margin
- {Math.round(margin.bottom)}
-
- {
- setMargin({ ...margin, bottom: value[0] });
- setMarginPreset('');
- }}
- min={0}
- max={100}
- step={1}
- />
-
- Left Margin
- {Math.round(margin.left)}
-
- {
- setMargin({ ...margin, left: value[0] });
- setMarginPreset('');
- }}
- min={0}
- max={100}
- step={1}
- />
-
-
- )}
-
-
-
-
-
-
- );
-};
\ No newline at end of file
diff --git a/src/components/editor/RotationSkewPanel.tsx b/src/components/editor/RotationSkewPanel.tsx
deleted file mode 100644
index c1fb3b1..0000000
--- a/src/components/editor/RotationSkewPanel.tsx
+++ /dev/null
@@ -1,190 +0,0 @@
-import React, { useState, useRef, useEffect } from 'react';
-import { Card, CardContent } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Slider } from '@/components/ui/slider';
-import { GripVertical, Undo, FlipHorizontal, FlipVertical, RotateCw, Move3D, ArrowUp } from 'lucide-react';
-import { useMockupStore } from '@/contexts/MockupContext';
-
-
-interface RotationSkewPanelProps {
- onClose: () => void;
-}
-
-export const RotationSkewPanel: React.FC = ({ onClose }) => {
- // 2. Select only the state and actions this component needs from the store.
- // This is more performant than pulling the entire state.
- const rotation3D = useMockupStore((state) => state.rotation3D);
- const set3DRotation = useMockupStore((state) => state.set3DRotation);
-
- // Local component state remains the same
- const [isDragging, setIsDragging] = useState(false);
- const [windowPosition, setWindowPosition] = useState({ x: 100, y: 100 });
- const windowRef = useRef(null);
- const dragStartRef = useRef({ x: 0, y: 0 });
-
- // Window dragging logic remains unchanged
- const handleWindowDragStart = (e: React.MouseEvent) => {
- e.preventDefault();
- setIsDragging(true);
- dragStartRef.current = {
- x: e.clientX - windowPosition.x,
- y: e.clientY - windowPosition.y
- };
- };
-
- const handleWindowDrag = (e: MouseEvent) => {
- if (!isDragging) return;
- setWindowPosition({
- x: e.clientX - dragStartRef.current.x,
- y: e.clientY - dragStartRef.current.y
- });
- };
-
- const handleWindowDragEnd = () => {
- setIsDragging(false);
- };
-
- useEffect(() => {
- if (isDragging) {
- window.addEventListener('mousemove', handleWindowDrag);
- window.addEventListener('mouseup', handleWindowDragEnd);
- return () => {
- window.removeEventListener('mousemove', handleWindowDrag);
- window.removeEventListener('mouseup', handleWindowDragEnd);
- };
- }
- }, [isDragging]);
-
- // 3. Update action calls to use the new Zustand actions directly.
- const handleRotationChange = (type: 'rotateX' | 'rotateY' | 'rotateZ' | 'skew', value: number[]) => {
- // OLD: dispatch({ type: 'SET_3D_ROTATION', payload: { [type]: value[0] } });
- set3DRotation({ [type]: value[0] });
- };
-
- const resetRotation = () => {
- // OLD: dispatch({ type: 'SET_3D_ROTATION', payload: { rotateX: 0, rotateY: 0, rotateZ: 0, skew: 0 } });
- set3DRotation({ rotateX: 0, rotateY: 0, rotateZ: 0, skew: 0 });
- };
-
- const presets = [
- { rotateX: 20, rotateY: 0, rotateZ: 0, skew: 0 },
- { rotateX: 30, rotateY: -15, rotateZ: 25, skew: 0 },
- { rotateX: 0, rotateY: 0, rotateZ: 15, skew: 0 },
- { rotateX: -20, rotateY: 0, rotateZ: 0, skew: 0 },
- { rotateX: 0, rotateY: -20, rotateZ: 0, skew: 0 },
- { rotateX: 0, rotateY: 0, rotateZ: -15, skew: 0 },
- ];
-
- return (
-
-
-
-
-
-
- Rotation & Skew
-
-
-
-
-
-
-
-
- {/* 4. Update state access to use the selected state directly (no more 'state.' prefix) */}
-
-
-
- handleRotationChange('rotateX', value)}
- min={-45}
- max={45}
- step={1}
- />
-
-
{rotation3D.rotateX}
-
-
-
-
-
- handleRotationChange('rotateY', value)}
- min={-45}
- max={45}
- step={1}
- />
-
-
{rotation3D.rotateY}
-
-
-
-
-
- handleRotationChange('rotateZ', value)}
- min={-180}
- max={180}
- step={1}
- />
-
-
{rotation3D.rotateZ}
-
-
-
-
-
- handleRotationChange('skew', value)}
- min={0}
- max={45}
- step={1}
- />
-
-
{rotation3D.skew}
-
-
-
-
- {presets.map((preset, index) => (
-
- ))}
-
-
-
-
-
- );
-};
\ No newline at end of file
diff --git a/src/components/icons/Bluesky.tsx b/src/components/icons/Bluesky.tsx
deleted file mode 100644
index f007e45..0000000
--- a/src/components/icons/Bluesky.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-export function Bluesky(props: React.SVGProps) {
- return (
-
- );
-}
diff --git a/src/components/icons/Github.tsx b/src/components/icons/Github.tsx
deleted file mode 100644
index 03af7e7..0000000
--- a/src/components/icons/Github.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-export function Github(props: React.SVGProps) {
- return (
-
- );
-}
diff --git a/src/components/icons/X.tsx b/src/components/icons/X.tsx
deleted file mode 100644
index 8d99e23..0000000
--- a/src/components/icons/X.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-export function X(props: React.SVGProps) {
- return (
-
- );
-}
diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx
deleted file mode 100644
index e6a723d..0000000
--- a/src/components/ui/accordion.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import * as React from "react"
-import * as AccordionPrimitive from "@radix-ui/react-accordion"
-import { ChevronDown } from "lucide-react"
-
-import { cn } from "@/lib/utils"
-
-const Accordion = AccordionPrimitive.Root
-
-const AccordionItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AccordionItem.displayName = "AccordionItem"
-
-const AccordionTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
- svg]:rotate-180",
- className
- )}
- {...props}
- >
- {children}
-
-
-
-))
-AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName
-
-const AccordionContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
- {children}
-
-))
-
-AccordionContent.displayName = AccordionPrimitive.Content.displayName
-
-export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx
deleted file mode 100644
index 5996ee6..0000000
--- a/src/components/ui/alert-dialog.tsx
+++ /dev/null
@@ -1,139 +0,0 @@
-import * as React from "react"
-import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
-
-import { cn } from "@/lib/utils"
-import { buttonVariants } from "@/components/ui/button"
-
-const AlertDialog = AlertDialogPrimitive.Root
-
-const AlertDialogTrigger = AlertDialogPrimitive.Trigger
-
-const AlertDialogPortal = AlertDialogPrimitive.Portal
-
-const AlertDialogOverlay = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName
-
-const AlertDialogContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-
-))
-AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName
-
-const AlertDialogHeader = ({
- className,
- ...props
-}: React.HTMLAttributes) => (
-
-)
-AlertDialogHeader.displayName = "AlertDialogHeader"
-
-const AlertDialogFooter = ({
- className,
- ...props
-}: React.HTMLAttributes) => (
-
-)
-AlertDialogFooter.displayName = "AlertDialogFooter"
-
-const AlertDialogTitle = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName
-
-const AlertDialogDescription = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AlertDialogDescription.displayName =
- AlertDialogPrimitive.Description.displayName
-
-const AlertDialogAction = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName
-
-const AlertDialogCancel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName
-
-export {
- AlertDialog,
- AlertDialogPortal,
- AlertDialogOverlay,
- AlertDialogTrigger,
- AlertDialogContent,
- AlertDialogHeader,
- AlertDialogFooter,
- AlertDialogTitle,
- AlertDialogDescription,
- AlertDialogAction,
- AlertDialogCancel,
-}
diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx
deleted file mode 100644
index 41fa7e0..0000000
--- a/src/components/ui/alert.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import * as React from "react"
-import { cva, type VariantProps } from "class-variance-authority"
-
-import { cn } from "@/lib/utils"
-
-const alertVariants = cva(
- "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
- {
- variants: {
- variant: {
- default: "bg-background text-foreground",
- destructive:
- "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
- },
- },
- defaultVariants: {
- variant: "default",
- },
- }
-)
-
-const Alert = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes & VariantProps
->(({ className, variant, ...props }, ref) => (
-
-))
-Alert.displayName = "Alert"
-
-const AlertTitle = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-AlertTitle.displayName = "AlertTitle"
-
-const AlertDescription = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-AlertDescription.displayName = "AlertDescription"
-
-export { Alert, AlertTitle, AlertDescription }
diff --git a/src/components/ui/aspect-ratio.tsx b/src/components/ui/aspect-ratio.tsx
deleted file mode 100644
index c4abbf3..0000000
--- a/src/components/ui/aspect-ratio.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"
-
-const AspectRatio = AspectRatioPrimitive.Root
-
-export { AspectRatio }
diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx
deleted file mode 100644
index 991f56e..0000000
--- a/src/components/ui/avatar.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import * as React from "react"
-import * as AvatarPrimitive from "@radix-ui/react-avatar"
-
-import { cn } from "@/lib/utils"
-
-const Avatar = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-Avatar.displayName = AvatarPrimitive.Root.displayName
-
-const AvatarImage = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AvatarImage.displayName = AvatarPrimitive.Image.displayName
-
-const AvatarFallback = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-))
-AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
-
-export { Avatar, AvatarImage, AvatarFallback }
diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx
deleted file mode 100644
index f6eae7c..0000000
--- a/src/components/ui/badge.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import * as React from "react"
-import { cva, type VariantProps } from "class-variance-authority"
-
-import { cn } from "@/lib/utils"
-
-const badgeVariants = cva(
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
- {
- variants: {
- variant: {
- default:
- "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
- secondary:
- "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
- destructive:
- "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
- outline: "text-foreground",
- },
- },
- defaultVariants: {
- variant: "default",
- },
- }
-)
-
-export interface BadgeProps
- extends React.HTMLAttributes,
- VariantProps {}
-
-function Badge({ className, variant, ...props }: BadgeProps) {
- return (
-
- )
-}
-
-export { Badge, badgeVariants }
diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx
deleted file mode 100644
index 71a5c32..0000000
--- a/src/components/ui/breadcrumb.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { ChevronRight, MoreHorizontal } from "lucide-react"
-
-import { cn } from "@/lib/utils"
-
-const Breadcrumb = React.forwardRef<
- HTMLElement,
- React.ComponentPropsWithoutRef<"nav"> & {
- separator?: React.ReactNode
- }
->(({ ...props }, ref) => )
-Breadcrumb.displayName = "Breadcrumb"
-
-const BreadcrumbList = React.forwardRef<
- HTMLOListElement,
- React.ComponentPropsWithoutRef<"ol">
->(({ className, ...props }, ref) => (
-
-))
-BreadcrumbList.displayName = "BreadcrumbList"
-
-const BreadcrumbItem = React.forwardRef<
- HTMLLIElement,
- React.ComponentPropsWithoutRef<"li">
->(({ className, ...props }, ref) => (
-
-))
-BreadcrumbItem.displayName = "BreadcrumbItem"
-
-const BreadcrumbLink = React.forwardRef<
- HTMLAnchorElement,
- React.ComponentPropsWithoutRef<"a"> & {
- asChild?: boolean
- }
->(({ asChild, className, ...props }, ref) => {
- const Comp = asChild ? Slot : "a"
-
- return (
-
- )
-})
-BreadcrumbLink.displayName = "BreadcrumbLink"
-
-const BreadcrumbPage = React.forwardRef<
- HTMLSpanElement,
- React.ComponentPropsWithoutRef<"span">
->(({ className, ...props }, ref) => (
-
-))
-BreadcrumbPage.displayName = "BreadcrumbPage"
-
-const BreadcrumbSeparator = ({
- children,
- className,
- ...props
-}: React.ComponentProps<"li">) => (
- svg]:size-3.5", className)}
- {...props}
- >
- {children ?? }
-
-)
-BreadcrumbSeparator.displayName = "BreadcrumbSeparator"
-
-const BreadcrumbEllipsis = ({
- className,
- ...props
-}: React.ComponentProps<"span">) => (
-
-
- More
-
-)
-BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"
-
-export {
- Breadcrumb,
- BreadcrumbList,
- BreadcrumbItem,
- BreadcrumbLink,
- BreadcrumbPage,
- BreadcrumbSeparator,
- BreadcrumbEllipsis,
-}
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx
deleted file mode 100644
index d35e8a8..0000000
--- a/src/components/ui/button.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { cva, type VariantProps } from "class-variance-authority"
-
-import { cn } from "@/lib/utils"
-
-const buttonVariants = cva(
- "inline-flex items-center justify-center gap-2 whitespace-nowrap cursor-pointer rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0",
- {
- variants: {
- variant: {
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
- destructive:
- "bg-destructive text-destructive-foreground hover:bg-destructive/90",
- outline:
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
- secondary:
- "bg-secondary text-secondary-foreground hover:bg-secondary/80",
- ghost: "hover:bg-accent hover:text-accent-foreground",
- link: "text-primary underline-offset-4 hover:underline",
- },
- size: {
- default: "h-10 px-4 py-2",
- sm: "h-9 rounded-md px-3",
- lg: "h-11 rounded-md px-8",
- icon: "h-10 w-10",
- },
- },
- defaultVariants: {
- variant: "default",
- size: "default",
- },
- }
-)
-
-export interface ButtonProps
- extends React.ButtonHTMLAttributes,
- VariantProps {
- asChild?: boolean
-}
-
-const Button = React.forwardRef(
- ({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : "button"
- return (
-
- )
- }
-)
-Button.displayName = "Button"
-
-export { Button, buttonVariants }
diff --git a/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx
deleted file mode 100644
index 87dfded..0000000
--- a/src/components/ui/calendar.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import * as React from "react";
-import { ChevronLeft, ChevronRight } from "lucide-react";
-import { DayPicker } from "react-day-picker";
-
-import { cn } from "@/lib/utils";
-import { buttonVariants } from "@/components/ui/button";
-
-export type CalendarProps = React.ComponentProps;
-
-function Calendar({
- className,
- classNames,
- showOutsideDays = true,
- ...props
-}: CalendarProps) {
- return (
- ,
- IconRight: ({ ..._props }) => ,
- }}
- {...props}
- />
- );
-}
-Calendar.displayName = "Calendar";
-
-export { Calendar };
diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx
deleted file mode 100644
index fbe4077..0000000
--- a/src/components/ui/card.tsx
+++ /dev/null
@@ -1,79 +0,0 @@
-import * as React from "react"
-
-import { cn } from "@/lib/utils"
-
-const Card = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-Card.displayName = "Card"
-
-const CardHeader = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-CardHeader.displayName = "CardHeader"
-
-const CardTitle = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-CardTitle.displayName = "CardTitle"
-
-const CardDescription = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-CardDescription.displayName = "CardDescription"
-
-const CardContent = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-CardContent.displayName = "CardContent"
-
-const CardFooter = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
-CardFooter.displayName = "CardFooter"
-
-export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
diff --git a/src/components/ui/carousel.tsx b/src/components/ui/carousel.tsx
deleted file mode 100644
index 9454584..0000000
--- a/src/components/ui/carousel.tsx
+++ /dev/null
@@ -1,260 +0,0 @@
-import * as React from "react"
-import useEmblaCarousel, {
- type UseEmblaCarouselType,
-} from "embla-carousel-react"
-import { ArrowLeft, ArrowRight } from "lucide-react"
-
-import { cn } from "@/lib/utils"
-import { Button } from "@/components/ui/button"
-
-type CarouselApi = UseEmblaCarouselType[1]
-type UseCarouselParameters = Parameters
-type CarouselOptions = UseCarouselParameters[0]
-type CarouselPlugin = UseCarouselParameters[1]
-
-type CarouselProps = {
- opts?: CarouselOptions
- plugins?: CarouselPlugin
- orientation?: "horizontal" | "vertical"
- setApi?: (api: CarouselApi) => void
-}
-
-type CarouselContextProps = {
- carouselRef: ReturnType[0]
- api: ReturnType[1]
- scrollPrev: () => void
- scrollNext: () => void
- canScrollPrev: boolean
- canScrollNext: boolean
-} & CarouselProps
-
-const CarouselContext = React.createContext(null)
-
-function useCarousel() {
- const context = React.useContext(CarouselContext)
-
- if (!context) {
- throw new Error("useCarousel must be used within a ")
- }
-
- return context
-}
-
-const Carousel = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes & CarouselProps
->(
- (
- {
- orientation = "horizontal",
- opts,
- setApi,
- plugins,
- className,
- children,
- ...props
- },
- ref
- ) => {
- const [carouselRef, api] = useEmblaCarousel(
- {
- ...opts,
- axis: orientation === "horizontal" ? "x" : "y",
- },
- plugins
- )
- const [canScrollPrev, setCanScrollPrev] = React.useState(false)
- const [canScrollNext, setCanScrollNext] = React.useState(false)
-
- const onSelect = React.useCallback((api: CarouselApi) => {
- if (!api) {
- return
- }
-
- setCanScrollPrev(api.canScrollPrev())
- setCanScrollNext(api.canScrollNext())
- }, [])
-
- const scrollPrev = React.useCallback(() => {
- api?.scrollPrev()
- }, [api])
-
- const scrollNext = React.useCallback(() => {
- api?.scrollNext()
- }, [api])
-
- const handleKeyDown = React.useCallback(
- (event: React.KeyboardEvent) => {
- if (event.key === "ArrowLeft") {
- event.preventDefault()
- scrollPrev()
- } else if (event.key === "ArrowRight") {
- event.preventDefault()
- scrollNext()
- }
- },
- [scrollPrev, scrollNext]
- )
-
- React.useEffect(() => {
- if (!api || !setApi) {
- return
- }
-
- setApi(api)
- }, [api, setApi])
-
- React.useEffect(() => {
- if (!api) {
- return
- }
-
- onSelect(api)
- api.on("reInit", onSelect)
- api.on("select", onSelect)
-
- return () => {
- api?.off("select", onSelect)
- }
- }, [api, onSelect])
-
- return (
-
-
- {children}
-
-
- )
- }
-)
-Carousel.displayName = "Carousel"
-
-const CarouselContent = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => {
- const { carouselRef, orientation } = useCarousel()
-
- return (
-
- )
-})
-CarouselContent.displayName = "CarouselContent"
-
-const CarouselItem = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => {
- const { orientation } = useCarousel()
-
- return (
-
- )
-})
-CarouselItem.displayName = "CarouselItem"
-
-const CarouselPrevious = React.forwardRef<
- HTMLButtonElement,
- React.ComponentProps
->(({ className, variant = "outline-solid", size = "icon", ...props }, ref) => {
- const { orientation, scrollPrev, canScrollPrev } = useCarousel()
-
- return (
-
- )
-})
-CarouselPrevious.displayName = "CarouselPrevious"
-
-const CarouselNext = React.forwardRef<
- HTMLButtonElement,
- React.ComponentProps
->(({ className, variant = "outline-solid", size = "icon", ...props }, ref) => {
- const { orientation, scrollNext, canScrollNext } = useCarousel()
-
- return (
-
- )
-})
-CarouselNext.displayName = "CarouselNext"
-
-export {
- type CarouselApi,
- Carousel,
- CarouselContent,
- CarouselItem,
- CarouselPrevious,
- CarouselNext,
-}
diff --git a/src/components/ui/chart.tsx b/src/components/ui/chart.tsx
deleted file mode 100644
index 51534cc..0000000
--- a/src/components/ui/chart.tsx
+++ /dev/null
@@ -1,363 +0,0 @@
-import * as React from "react"
-import * as RechartsPrimitive from "recharts"
-
-import { cn } from "@/lib/utils"
-
-// Format: { THEME_NAME: CSS_SELECTOR }
-const THEMES = { light: "", dark: ".dark" } as const
-
-export type ChartConfig = {
- [k in string]: {
- label?: React.ReactNode
- icon?: React.ComponentType
- } & (
- | { color?: string; theme?: never }
- | { color?: never; theme: Record }
- )
-}
-
-type ChartContextProps = {
- config: ChartConfig
-}
-
-const ChartContext = React.createContext(null)
-
-function useChart() {
- const context = React.useContext(ChartContext)
-
- if (!context) {
- throw new Error("useChart must be used within a ")
- }
-
- return context
-}
-
-const ChartContainer = React.forwardRef<
- HTMLDivElement,
- React.ComponentProps<"div"> & {
- config: ChartConfig
- children: React.ComponentProps<
- typeof RechartsPrimitive.ResponsiveContainer
- >["children"]
- }
->(({ id, className, children, config, ...props }, ref) => {
- const uniqueId = React.useId()
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`
-
- return (
-
-
-
-
- {children}
-
-
-
- )
-})
-ChartContainer.displayName = "Chart"
-
-const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
- const colorConfig = Object.entries(config).filter(
- ([_, config]) => config.theme || config.color
- )
-
- if (!colorConfig.length) {
- return null
- }
-
- return (
-