From 97b704561c5cb7e34267b38e824fdf6a3aa8b156 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 15 Mar 2026 04:55:17 +0100 Subject: [PATCH] Vite init --- .gitignore | 56 +- .prettierrc | 4 - README.md | 95 +- eslint.config.js | 23 + index.html | 13 + next.config.ts | 7 - package-lock.json | 5215 ++++++++++--------------- package.json | 75 +- postcss.config.mjs | 8 - public/OSUI.svg | 21 - public/favicon.ico | Bin 102469 -> 0 bytes public/favicon.svg | 1 + public/fonts/Kodchasan-Medium.ttf | Bin 98740 -> 0 bytes public/fonts/Kodchasan-Regular.ttf | Bin 98392 -> 0 bytes public/fonts/Kodchasan-SemiBold.ttf | Bin 98824 -> 0 bytes public/icons.svg | 24 + public/logo.png | Bin 13118 -> 0 bytes src/App.css | 184 + src/App.tsx | 121 + src/app/const.ts | 17 - src/app/globals.css | 280 -- src/app/layout.tsx | 32 - src/app/not-found.tsx | 49 - src/app/page.tsx | 30 - src/assets/hero.png | Bin 0 -> 44919 bytes src/assets/react.svg | 1 + src/assets/vite.svg | 1 + src/components/AboutSection.tsx | 165 - src/components/ContactSection.tsx | 175 - src/components/ErrorBoundary.tsx | 62 - src/components/Footer.tsx | 59 - src/components/HeroSection.tsx | 167 - src/components/ManusDialog.tsx | 85 - src/components/Map.tsx | 155 - src/components/Navbar.tsx | 124 - src/components/ProjectsSection.tsx | 282 -- src/components/SkillsSection.tsx | 218 -- src/components/ui/accordion.tsx | 64 - src/components/ui/alert-dialog.tsx | 155 - src/components/ui/alert.tsx | 66 - src/components/ui/aspect-ratio.tsx | 9 - src/components/ui/avatar.tsx | 51 - src/components/ui/badge.tsx | 46 - src/components/ui/breadcrumb.tsx | 109 - src/components/ui/button-group.tsx | 83 - src/components/ui/button.tsx | 60 - src/components/ui/calendar.tsx | 211 - src/components/ui/card.tsx | 92 - src/components/ui/carousel.tsx | 239 -- src/components/ui/chart.tsx | 355 -- src/components/ui/checkbox.tsx | 30 - src/components/ui/collapsible.tsx | 31 - src/components/ui/command.tsx | 184 - src/components/ui/context-menu.tsx | 250 -- src/components/ui/dialog.tsx | 209 - src/components/ui/drawer.tsx | 133 - src/components/ui/dropdown-menu.tsx | 255 -- src/components/ui/empty.tsx | 104 - src/components/ui/field.tsx | 242 -- src/components/ui/form.tsx | 168 - src/components/ui/hover-card.tsx | 42 - src/components/ui/input-group.tsx | 168 - src/components/ui/input-otp.tsx | 75 - src/components/ui/input.tsx | 70 - src/components/ui/item.tsx | 193 - src/components/ui/kbd.tsx | 28 - src/components/ui/label.tsx | 22 - src/components/ui/menubar.tsx | 274 -- src/components/ui/navigation-menu.tsx | 168 - src/components/ui/pagination.tsx | 127 - src/components/ui/popover.tsx | 46 - src/components/ui/progress.tsx | 29 - src/components/ui/radio-group.tsx | 43 - src/components/ui/resizable.tsx | 54 - src/components/ui/scroll-area.tsx | 56 - src/components/ui/select.tsx | 185 - src/components/ui/separator.tsx | 26 - src/components/ui/sheet.tsx | 139 - src/components/ui/sidebar.tsx | 734 ---- src/components/ui/skeleton.tsx | 13 - src/components/ui/slider.tsx | 61 - src/components/ui/sonner.tsx | 23 - src/components/ui/spinner.tsx | 16 - src/components/ui/switch.tsx | 29 - src/components/ui/table.tsx | 114 - src/components/ui/tabs.tsx | 64 - src/components/ui/textarea.tsx | 67 - src/components/ui/toggle-group.tsx | 73 - src/components/ui/toggle.tsx | 45 - src/components/ui/tooltip.tsx | 59 - src/contexts/ThemeContext.tsx | 64 - src/hooks/useComposition.ts | 81 - src/hooks/useMobile.tsx | 21 - src/hooks/usePersistFn.ts | 20 - src/index.css | 111 + src/lib/utils.ts | 6 - src/main.tsx | 10 + tailwind.config.ts | 112 - tsconfig.app.json | 28 + tsconfig.json | 42 +- tsconfig.node.json | 26 + vite.config.ts | 7 + 102 files changed, 2723 insertions(+), 11743 deletions(-) delete mode 100644 .prettierrc create mode 100644 eslint.config.js create mode 100644 index.html delete mode 100644 next.config.ts delete mode 100644 postcss.config.mjs delete mode 100644 public/OSUI.svg delete mode 100644 public/favicon.ico create mode 100644 public/favicon.svg delete mode 100644 public/fonts/Kodchasan-Medium.ttf delete mode 100644 public/fonts/Kodchasan-Regular.ttf delete mode 100644 public/fonts/Kodchasan-SemiBold.ttf create mode 100644 public/icons.svg delete mode 100644 public/logo.png create mode 100644 src/App.css create mode 100644 src/App.tsx delete mode 100644 src/app/const.ts delete mode 100644 src/app/globals.css delete mode 100644 src/app/layout.tsx delete mode 100644 src/app/not-found.tsx delete mode 100644 src/app/page.tsx create mode 100644 src/assets/hero.png create mode 100644 src/assets/react.svg create mode 100644 src/assets/vite.svg delete mode 100644 src/components/AboutSection.tsx delete mode 100644 src/components/ContactSection.tsx delete mode 100644 src/components/ErrorBoundary.tsx delete mode 100644 src/components/Footer.tsx delete mode 100644 src/components/HeroSection.tsx delete mode 100644 src/components/ManusDialog.tsx delete mode 100644 src/components/Map.tsx delete mode 100644 src/components/Navbar.tsx delete mode 100644 src/components/ProjectsSection.tsx delete mode 100644 src/components/SkillsSection.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-group.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/empty.tsx delete mode 100644 src/components/ui/field.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-group.tsx delete mode 100644 src/components/ui/input-otp.tsx delete mode 100644 src/components/ui/input.tsx delete mode 100644 src/components/ui/item.tsx delete mode 100644 src/components/ui/kbd.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/spinner.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/toggle-group.tsx delete mode 100644 src/components/ui/toggle.tsx delete mode 100644 src/components/ui/tooltip.tsx delete mode 100644 src/contexts/ThemeContext.tsx delete mode 100644 src/hooks/useComposition.ts delete mode 100644 src/hooks/useMobile.tsx delete mode 100644 src/hooks/usePersistFn.ts create mode 100644 src/index.css delete mode 100644 src/lib/utils.ts create mode 100644 src/main.tsx delete mode 100644 tailwind.config.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore index 811b81c..a547bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,42 +1,24 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/versions - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug +# Logs +logs +*.log npm-debug.log* yarn-debug.log* yarn-error.log* -.pnpm-debug.log* +pnpm-debug.log* +lerna-debug.log* -# env files (can opt-in for committing if needed) -.env* - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 222861c..0000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "tabWidth": 2, - "useTabs": false -} diff --git a/README.md b/README.md index e215bc4..7dbf7eb 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,73 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +# React + TypeScript + Vite -## Getting Started +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. -First, run the development server: +Currently, two official plugins are available: -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + + // Remove tseslint.configs.recommended and replace with this + tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + tseslint.configs.stylisticTypeChecked, + + // Other configs... + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + // Enable lint rules for React + reactX.configs['recommended-typescript'], + // Enable lint rules for React DOM + reactDom.configs.recommended, + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..5e6b472 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,23 @@ +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 { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + }, +]) diff --git a/index.html b/index.html new file mode 100644 index 0000000..518cf63 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + portfolio + + +
+ + + diff --git a/next.config.ts b/next.config.ts deleted file mode 100644 index e9ffa30..0000000 --- a/next.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { NextConfig } from "next"; - -const nextConfig: NextConfig = { - /* config options here */ -}; - -export default nextConfig; diff --git a/package-lock.json b/package-lock.json index 15f2c78..2c77cb6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,590 +1,512 @@ { "name": "portfolio", - "version": "1.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "portfolio", - "version": "1.0.0", + "version": "0.0.0", "dependencies": { - "@radix-ui/react-accordion": "^1.2.12", - "@radix-ui/react-alert-dialog": "^1.1.15", - "@radix-ui/react-aspect-ratio": "^1.1.7", - "@radix-ui/react-avatar": "^1.1.10", - "@radix-ui/react-checkbox": "^1.3.3", - "@radix-ui/react-collapsible": "^1.1.12", - "@radix-ui/react-context-menu": "^2.2.16", - "@radix-ui/react-dialog": "^1.1.15", - "@radix-ui/react-dropdown-menu": "^2.1.16", - "@radix-ui/react-hover-card": "^1.1.15", - "@radix-ui/react-label": "^2.1.7", - "@radix-ui/react-menubar": "^1.1.16", - "@radix-ui/react-navigation-menu": "^1.2.14", - "@radix-ui/react-popover": "^1.1.15", - "@radix-ui/react-progress": "^1.1.7", - "@radix-ui/react-radio-group": "^1.3.8", - "@radix-ui/react-scroll-area": "^1.2.10", - "@radix-ui/react-select": "^2.2.6", - "@radix-ui/react-separator": "^1.1.7", - "@radix-ui/react-slider": "^1.3.6", - "@radix-ui/react-slot": "^1.2.3", - "@radix-ui/react-switch": "^1.2.6", - "@radix-ui/react-tabs": "^1.1.13", - "@radix-ui/react-toggle": "^1.1.10", - "@radix-ui/react-toggle-group": "^1.1.11", - "@radix-ui/react-tooltip": "^1.2.8", - "axios": "^1.12.0", - "clsx": "^2.1.1", - "framer-motion": "^12.23.22", - "lucide-react": "^0.554.0", - "next": "^16.0.7", - "next-themes": "^0.4.6", - "react": "^19.2.1", - "react-dom": "^19.2.1", - "react-hook-form": "^7.64.0", - "sonner": "^2.0.7", - "tailwind-merge": "^3.4.0", - "tailwindcss-animate": "^1.0.7", - "zod": "^4.1.12" + "react": "^19.2.4", + "react-dom": "^19.2.4" }, "devDependencies": { - "@tailwindcss/postcss": "^4.2.1", - "@types/node": "^20.19.30", - "@types/react": "^19.2.1", - "@types/react-dom": "^19.2.1", - "autoprefixer": "^10.4.20", - "postcss": "^8.4.47", - "prettier": "^3.6.2", - "tailwindcss": "^4.1.14", - "typescript": "^5.6.3" + "@eslint/js": "^9.39.4", + "@types/node": "^24.12.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.0", + "eslint": "^9.39.4", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.56.1", + "vite": "^8.0.0" } }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", + "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.0", + "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "dev": true, "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" } }, - "node_modules/@floating-ui/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", - "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@floating-ui/utils": "^0.2.11" + "tslib": "^2.4.0" } }, - "node_modules/@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", - "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.6" + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" }, "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@floating-ui/utils": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", - "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", - "license": "MIT" + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, "license": "MIT", - "optional": true, "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" + "url": "https://eslint.org/donate" } }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, "dependencies": { - "@emnapi/runtime": "^1.7.0" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" + "node": ">=18.18.0" } }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=12.22" }, "funding": { - "url": "https://opencollective.com/libvips" + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@jridgewell/gen-mapping": { @@ -637,1802 +559,47 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@next/env": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.7.tgz", - "integrity": "sha512-gpaNgUh5nftFKRkRQGnVi5dpcYSKGcZZkQffZ172OrG/XkrnS7UBTQ648YY+8ME92cC4IojpI2LqTC8sTDhAaw==", - "license": "MIT" - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.7.tgz", - "integrity": "sha512-LlDtCYOEj/rfSnEn/Idi+j1QKHxY9BJFmxx7108A6D8K0SB+bNgfYQATPk/4LqOl4C0Wo3LACg2ie6s7xqMpJg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.7.tgz", - "integrity": "sha512-rtZ7BhnVvO1ICf3QzfW9H3aPz7GhBrnSIMZyr4Qy6boXF0b5E3QLs+cvJmg3PsTCG2M1PBoC+DANUi4wCOKXpA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.7.tgz", - "integrity": "sha512-mloD5WcPIeIeeZqAIP5c2kdaTa6StwP4/2EGy1mUw8HiexSHGK/jcM7lFuS3u3i2zn+xH9+wXJs6njO7VrAqww==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.7.tgz", - "integrity": "sha512-+ksWNrZrthisXuo9gd1XnjHRowCbMtl/YgMpbRvFeDEqEBd523YHPWpBuDjomod88U8Xliw5DHhekBC3EOOd9g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.7.tgz", - "integrity": "sha512-4WtJU5cRDxpEE44Ana2Xro1284hnyVpBb62lIpU5k85D8xXxatT+rXxBgPkc7C1XwkZMWpK5rXLXTh9PFipWsA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.7.tgz", - "integrity": "sha512-HYlhqIP6kBPXalW2dbMTSuB4+8fe+j9juyxwfMwCe9kQPPeiyFn7NMjNfoFOfJ2eXkeQsoUGXg+O2SE3m4Qg2w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.7.tgz", - "integrity": "sha512-EviG+43iOoBRZg9deGauXExjRphhuYmIOJ12b9sAPy0eQ6iwcPxfED2asb/s2/yiLYOdm37kPaiZu8uXSYPs0Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.7.tgz", - "integrity": "sha512-gniPjy55zp5Eg0896qSrf3yB1dw4F/3s8VK1ephdsZZ129j2n6e1WqCbE2YgcKhW9hPB9TVZENugquWJD5x0ug==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@radix-ui/number": { + "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", - "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", - "license": "MIT" - }, - "node_modules/@radix-ui/primitive": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", - "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", - "license": "MIT" - }, - "node_modules/@radix-ui/react-accordion": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz", - "integrity": "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collapsible": "1.1.12", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-alert-dialog": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz", - "integrity": "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dialog": "1.1.15", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", - "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-aspect-ratio": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.8.tgz", - "integrity": "sha512-5nZrJTF7gH+e0nZS7/QxFz6tJV4VimhQb1avEgtsJxvvIp5JilL+c58HICsKzPxghdwaDt48hEfPM1au4zGy+w==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-aspect-ratio/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-avatar": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.11.tgz", - "integrity": "sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-context": "1.1.3", - "@radix-ui/react-primitive": "2.1.4", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-is-hydrated": "0.1.0", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", - "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-checkbox": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz", - "integrity": "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collapsible": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", - "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", - "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context-menu": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.16.tgz", - "integrity": "sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-menu": "2.1.16", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dialog": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", - "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-direction": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", - "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", - "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", - "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-menu": "2.1.16", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", - "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", - "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-hover-card": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz", - "integrity": "sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-label": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz", - "integrity": "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", - "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menubar": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.1.16.tgz", - "integrity": "sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-menu": "2.1.16", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-navigation-menu": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", - "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-visually-hidden": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popover": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", - "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popper": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", - "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", - "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-rect": "1.1.1", - "@radix-ui/react-use-size": "1.1.1", - "@radix-ui/rect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", - "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", - "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", - "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.8.tgz", - "integrity": "sha512-+gISHcSPUJ7ktBy9RnTqbdKW78bcGke3t6taawyZ71pio1JewwGSJizycs7rLhGTvMJYCQB1DBK4KQsxs7U8dA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-context": "1.1.3", - "@radix-ui/react-primitive": "2.1.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", - "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-radio-group": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.3.8.tgz", - "integrity": "sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", - "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-scroll-area": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz", - "integrity": "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz", - "integrity": "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-visually-hidden": "1.2.3", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-separator": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.8.tgz", - "integrity": "sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.4" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slider": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.6.tgz", - "integrity": "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", - "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-switch": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.2.6.tgz", - "integrity": "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tabs": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", - "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", - "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-toggle-group": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz", - "integrity": "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-toggle": "1.1.10", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz", - "integrity": "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-visually-hidden": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", - "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", - "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-effect-event": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", - "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", - "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-is-hydrated": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", - "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", - "license": "MIT", - "dependencies": { - "use-sync-external-store": "^1.5.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", - "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", - "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", - "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", - "license": "MIT", - "dependencies": { - "@radix-ui/rect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", - "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", - "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/rect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", - "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", - "license": "MIT" - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", - "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.31.1", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.2.1" + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" } }, - "node_modules/@tailwindcss/oxide": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", - "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "node_modules/@oxc-project/runtime": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.115.0.tgz", + "integrity": "sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@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" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", - "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "node_modules/@oxc-project/types": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.115.0.tgz", + "integrity": "sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==", "cpu": [ "arm64" ], @@ -2443,13 +610,13 @@ "android" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", - "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==", "cpu": [ "arm64" ], @@ -2460,13 +627,13 @@ "darwin" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", - "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==", "cpu": [ "x64" ], @@ -2477,13 +644,13 @@ "darwin" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", - "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==", "cpu": [ "x64" ], @@ -2494,13 +661,13 @@ "freebsd" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", - "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.9.tgz", + "integrity": "sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==", "cpu": [ "arm" ], @@ -2511,13 +678,13 @@ "linux" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", - "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==", "cpu": [ "arm64" ], @@ -2528,13 +695,13 @@ "linux" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", - "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==", "cpu": [ "arm64" ], @@ -2545,13 +712,47 @@ "linux" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", - "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==", "cpu": [ "x64" ], @@ -2562,13 +763,13 @@ "linux" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", - "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==", "cpu": [ "x64" ], @@ -2579,21 +780,30 @@ "linux" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", - "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==", + "cpu": [ + "arm64" ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.9.tgz", + "integrity": "sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==", "cpu": [ "wasm32" ], @@ -2601,21 +811,16 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.8.1", - "@emnapi/runtime": "^1.8.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.1", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.8.1" + "@napi-rs/wasm-runtime": "^1.1.1" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", - "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==", "cpu": [ "arm64" ], @@ -2626,13 +831,13 @@ "win32" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", - "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==", "cpu": [ "x64" ], @@ -2643,38 +848,56 @@ "win32" ], "engines": { - "node": ">= 20" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tailwindcss/postcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", - "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.1", - "@tailwindcss/oxide": "4.2.1", - "postcss": "^8.5.6", - "tailwindcss": "4.2.1" + "tslib": "^2.4.0" } }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { - "version": "20.19.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.30.tgz", - "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==", + "version": "24.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.0.tgz", + "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/react": { "version": "19.2.14", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "csstype": "^3.2.2" @@ -2684,78 +907,403 @@ "version": "19.2.3", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "devOptional": true, + "dev": true, "license": "MIT", "peerDependencies": { "@types/react": "^19.2.0" } }, - "node_modules/aria-hidden": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.0.tgz", + "integrity": "sha512-qeu4rTHR3/IaFORbD16gmjq9+rEs9fGKdX0kF6BKSfi+gCuG3RCKLlSBYzn/bGsY9Tj7KE/DAQStbp8AHJGHEQ==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.0" + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.57.0", + "@typescript-eslint/type-utils": "8.57.0", + "@typescript-eslint/utils": "8.57.0", + "@typescript-eslint/visitor-keys": "8.57.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.57.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.57.0.tgz", + "integrity": "sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.57.0", + "@typescript-eslint/types": "8.57.0", + "@typescript-eslint/typescript-estree": "8.57.0", + "@typescript-eslint/visitor-keys": "8.57.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.0.tgz", + "integrity": "sha512-pR+dK0BlxCLxtWfaKQWtYr7MhKmzqZxuii+ZjuFlZlIGRZm22HnXFqa2eY+90MUz8/i80YJmzFGDUsi8dMOV5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.57.0", + "@typescript-eslint/types": "^8.57.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.0.tgz", + "integrity": "sha512-nvExQqAHF01lUM66MskSaZulpPL5pgy5hI5RfrxviLgzZVffB5yYzw27uK/ft8QnKXI2X0LBrHJFr1TaZtAibw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.0", + "@typescript-eslint/visitor-keys": "8.57.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.0.tgz", + "integrity": "sha512-LtXRihc5ytjJIQEH+xqjB0+YgsV4/tW35XKX3GTZHpWtcC8SPkT/d4tqdf1cKtesryHm2bgp6l555NYcT2NLvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.57.0.tgz", + "integrity": "sha512-yjgh7gmDcJ1+TcEg8x3uWQmn8ifvSupnPfjP21twPKrDP/pTHlEQgmKcitzF/rzPSmv7QjJ90vRpN4U+zoUjwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.0", + "@typescript-eslint/typescript-estree": "8.57.0", + "@typescript-eslint/utils": "8.57.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.0.tgz", + "integrity": "sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.0.tgz", + "integrity": "sha512-m7faHcyVg0BT3VdYTlX8GdJEM7COexXxS6KqGopxdtkQRvBanK377QDHr4W/vIPAR+ah9+B/RclSW5ldVniO1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.57.0", + "@typescript-eslint/tsconfig-utils": "8.57.0", + "@typescript-eslint/types": "8.57.0", + "@typescript-eslint/visitor-keys": "8.57.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/autoprefixer": { - "version": "10.4.27", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", - "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", + "node_modules/@typescript-eslint/utils": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.0.tgz", + "integrity": "sha512-5iIHvpD3CZe06riAsbNxxreP+MuYgVUsV0n4bwLH//VJmgtt54sQeY2GszntJ4BjYCpMzrfVh2SBnUQTtys2lQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001774", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.57.0", + "@typescript-eslint/types": "8.57.0", + "@typescript-eslint/typescript-estree": "8.57.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "postcss": "^8.1.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.0.tgz", + "integrity": "sha512-zm6xx8UT/Xy2oSr2ZXD0pZo7Jx2XsCoID2IUh9YSTFRu7z+WdwYTRk6LhUftm1crwqbuoF6I8zAFeCMw0YjwDg==", + "dev": true, "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", - "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "@typescript-eslint/types": "8.57.0", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/baseline-browser-mapping": { "version": "2.10.8", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", @@ -2769,6 +1317,17 @@ "node": ">=6.0.0" } }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/browserslist": { "version": "4.28.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", @@ -2803,23 +1362,21 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" } }, "node_modules/caniuse-lite": { "version": "1.0.30001779", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001779.tgz", "integrity": "sha512-U5og2PN7V4DMgF50YPNtnZJGWVLFjjsN3zb6uMT5VGYIewieDj1upwfuVNXf4Kor+89c3iCRJnSzMD5LmTvsfA==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2836,79 +1393,114 @@ ], "license": "CC-BY-4.0" }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "devOptional": true, + "dev": true, "license": "MIT" }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": ">=0.4.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "license": "MIT" - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/electron-to-chromium": { "version": "1.5.313", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", @@ -2916,65 +1508,6 @@ "dev": true, "license": "ISC" }, - "node_modules/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -2985,210 +1518,533 @@ "node": ">=6" } }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/framer-motion": { - "version": "12.28.1", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.28.1.tgz", - "integrity": "sha512-72GkO7DS4FfcSjf26wx0v+rzkW8Fhn4Djh04aDbuEg7NYG8X8MhJZc6/5weG/YeEgIP+fCo8FS2y1HnXH8k8fQ==", + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, "license": "MIT", "dependencies": { - "motion-dom": "^12.28.1", - "motion-utils": "^12.27.2", - "tslib": "^2.4.0" + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@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.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" }, "peerDependencies": { - "@emotion/is-prop-valid": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" + "jiti": "*" }, "peerDependenciesMeta": { - "@emotion/is-prop-valid": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { + "jiti": { "optional": true } } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.1.tgz", + "integrity": "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", + "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, "engines": { "node": ">=6" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", "bin": { - "jiti": "lib/jiti-cli.mjs" + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/lightningcss": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", - "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -3202,23 +2058,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "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" + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", - "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", "cpu": [ "arm64" ], @@ -3237,9 +2093,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", - "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", "cpu": [ "arm64" ], @@ -3258,9 +2114,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", - "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", "cpu": [ "x64" ], @@ -3279,9 +2135,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", - "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", "cpu": [ "x64" ], @@ -3300,9 +2156,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", - "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", "cpu": [ "arm" ], @@ -3321,9 +2177,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", - "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", "cpu": [ "arm64" ], @@ -3342,9 +2198,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", - "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", "cpu": [ "arm64" ], @@ -3363,9 +2219,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", - "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", "cpu": [ "x64" ], @@ -3384,9 +2240,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", - "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", "cpu": [ "x64" ], @@ -3405,9 +2261,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", - "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", "cpu": [ "arm64" ], @@ -3426,9 +2282,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", - "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", "cpu": [ "x64" ], @@ -3446,74 +2302,64 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lucide-react": { - "version": "0.554.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.554.0.tgz", - "integrity": "sha512-St+z29uthEJVx0Is7ellNkgTEhaeSoA42I7JjOCBCrc5X6LYMGSv0P/2uS5HDLTExP5tpiqRD2PyUEOS6s9UXA==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/motion-dom": { - "version": "12.28.1", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.28.1.tgz", - "integrity": "sha512-xqgID69syDvXwFJnUd5bW6ajGUAr/qevRoUe/EqpsXUbVIopyWrAOiwQOhpgVQD+B7Ra60zTdj5gVkmwncebMg==", - "license": "MIT", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", "dependencies": { - "motion-utils": "^12.27.2" + "yallist": "^3.0.2" } }, - "node_modules/motion-utils": { - "version": "12.27.2", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.27.2.tgz", - "integrity": "sha512-B55gcoL85Mcdt2IEStY5EEAsrMSVE2sI14xQ/uAdPL+mfQxhKKFaEag9JmfxedJOR4vZpBGoPeC/Gm13I/4g5Q==", + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, "funding": [ { "type": "github", @@ -3528,95 +2374,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/next": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/next/-/next-16.0.7.tgz", - "integrity": "sha512-3mBRJyPxT4LOxAJI6IsXeFtKfiJUbjCLgvXO02fV8Wy/lIhPvP94Fe7dGhUgHXcQy4sSuYwQNcOLhIfOm0rL0A==", - "license": "MIT", - "dependencies": { - "@next/env": "16.0.7", - "@swc/helpers": "0.5.15", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=20.9.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "16.0.7", - "@next/swc-darwin-x64": "16.0.7", - "@next/swc-linux-arm64-gnu": "16.0.7", - "@next/swc-linux-arm64-musl": "16.0.7", - "@next/swc-linux-x64-gnu": "16.0.7", - "@next/swc-linux-x64-musl": "16.0.7", - "@next/swc-win32-arm64-msvc": "16.0.7", - "@next/swc-win32-x64-msvc": "16.0.7", - "sharp": "^0.34.4" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.51.1", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-themes": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", - "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.36", @@ -3625,12 +2388,109 @@ "dev": true, "license": "MIT" }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, "license": "ISC" }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/postcss": { "version": "8.5.8", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", @@ -3660,34 +2520,25 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/react": { "version": "19.2.4", @@ -3710,90 +2561,56 @@ "react": "^19.2.4" } }, - "node_modules/react-hook-form": { - "version": "7.71.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.2.tgz", - "integrity": "sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, "license": "MIT", "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/react-hook-form" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18 || ^19" + "node": ">=4" } }, - "node_modules/react-remove-scroll": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", - "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "node_modules/rolldown": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.9.tgz", + "integrity": "sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==", + "dev": true, "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.7", - "react-style-singleton": "^2.2.3", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.3", - "use-sidecar": "^1.1.3" + "@oxc-project/types": "=0.115.0", + "@rolldown/pluginutils": "1.0.0-rc.9" + }, + "bin": { + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=10" + "node": "^20.19.0 || >=22.12.0" }, - "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 - } + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-x64": "1.0.0-rc.9", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.9", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.9", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.9", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.9", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.9", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.9", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.9" } }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", - "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", - "license": "MIT", - "dependencies": { - "react-style-singleton": "^2.2.2", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-style-singleton": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", - "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", - "license": "MIT", - "dependencies": { - "get-nonce": "^1.0.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.9.tgz", + "integrity": "sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==", + "dev": true, + "license": "MIT" }, "node_modules/scheduler": { "version": "0.27.0", @@ -3802,154 +2619,129 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "license": "ISC", - "optional": true, "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/sonner": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", - "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "license": "MIT", - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", - "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/tailwind-merge": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", - "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", - "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", - "license": "MIT" - }, - "node_modules/tailwindcss-animate": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", - "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } }, "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3960,10 +2752,34 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.57.0.tgz", + "integrity": "sha512-W8GcigEMEeB07xEZol8oJ26rigm3+bfPHxHvwbYUlu1fUDsGuQ7Hiskx5xGW/xM4USc9Ephe3jtv7ZYPQntHeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.57.0", + "@typescript-eslint/parser": "8.57.0", + "@typescript-eslint/typescript-estree": "8.57.0", + "@typescript-eslint/utils": "8.57.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, @@ -3998,66 +2814,163 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/use-callback-ref": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", - "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0.tgz", + "integrity": "sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.0" + "@oxc-project/runtime": "0.115.0", + "lightningcss": "^1.32.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.9", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=10" + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.0.0-alpha.31", + "esbuild": "^0.27.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { - "@types/react": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { "optional": true } } }, - "node_modules/use-sidecar": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", - "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" + "isexe": "^2.0.0" }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zod": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } } } } diff --git a/package.json b/package.json index 9daa8cb..3ebb7d2 100644 --- a/package.json +++ b/package.json @@ -1,65 +1,30 @@ { "name": "portfolio", - "version": "1.0.0", "private": true, + "version": "0.0.0", + "type": "module", "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "format": "prettier --write .", - "check": "tsc --noEmit" + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" }, "dependencies": { - "@radix-ui/react-accordion": "^1.2.12", - "@radix-ui/react-alert-dialog": "^1.1.15", - "@radix-ui/react-aspect-ratio": "^1.1.7", - "@radix-ui/react-avatar": "^1.1.10", - "@radix-ui/react-checkbox": "^1.3.3", - "@radix-ui/react-collapsible": "^1.1.12", - "@radix-ui/react-context-menu": "^2.2.16", - "@radix-ui/react-dialog": "^1.1.15", - "@radix-ui/react-dropdown-menu": "^2.1.16", - "@radix-ui/react-hover-card": "^1.1.15", - "@radix-ui/react-label": "^2.1.7", - "@radix-ui/react-menubar": "^1.1.16", - "@radix-ui/react-navigation-menu": "^1.2.14", - "@radix-ui/react-popover": "^1.1.15", - "@radix-ui/react-progress": "^1.1.7", - "@radix-ui/react-radio-group": "^1.3.8", - "@radix-ui/react-scroll-area": "^1.2.10", - "@radix-ui/react-select": "^2.2.6", - "@radix-ui/react-separator": "^1.1.7", - "@radix-ui/react-slider": "^1.3.6", - "@radix-ui/react-slot": "^1.2.3", - "@radix-ui/react-switch": "^1.2.6", - "@radix-ui/react-tabs": "^1.1.13", - "@radix-ui/react-toggle": "^1.1.10", - "@radix-ui/react-toggle-group": "^1.1.11", - "@radix-ui/react-tooltip": "^1.2.8", - "axios": "^1.12.0", - "clsx": "^2.1.1", - "framer-motion": "^12.23.22", - "lucide-react": "^0.554.0", - "next": "^16.0.7", - "next-themes": "^0.4.6", - "react": "^19.2.1", - "react-dom": "^19.2.1", - "react-hook-form": "^7.64.0", - "sonner": "^2.0.7", - "tailwind-merge": "^3.4.0", - "tailwindcss-animate": "^1.0.7", - "zod": "^4.1.12" + "react": "^19.2.4", + "react-dom": "^19.2.4" }, "devDependencies": { - "@tailwindcss/postcss": "^4.2.1", - "@types/node": "^20.19.30", - "@types/react": "^19.2.1", - "@types/react-dom": "^19.2.1", - "autoprefixer": "^10.4.20", - "postcss": "^8.4.47", - "prettier": "^3.6.2", - "tailwindcss": "^4.1.14", - "typescript": "^5.6.3" + "@eslint/js": "^9.39.4", + "@types/node": "^24.12.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.0", + "eslint": "^9.39.4", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "typescript": "~5.9.3", + "typescript-eslint": "^8.56.1", + "vite": "^8.0.0" } } diff --git a/postcss.config.mjs b/postcss.config.mjs deleted file mode 100644 index 1a69fd2..0000000 --- a/postcss.config.mjs +++ /dev/null @@ -1,8 +0,0 @@ -/** @type {import('postcss-load-config').Config} */ -const config = { - plugins: { - tailwindcss: {}, - }, -}; - -export default config; diff --git a/public/OSUI.svg b/public/OSUI.svg deleted file mode 100644 index dd20761..0000000 --- a/public/OSUI.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 12b955ba1e550386e74eb63d8dddab226d589886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102469 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 \ No newline at end of file diff --git a/public/fonts/Kodchasan-Medium.ttf b/public/fonts/Kodchasan-Medium.ttf deleted file mode 100644 index de8f84349b72c01012e2070be27ffc5f54252b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98740 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 Nn!#xn{yp=v{|6rH5-$J% diff --git a/public/fonts/Kodchasan-Regular.ttf b/public/fonts/Kodchasan-Regular.ttf deleted file mode 100644 index b6cb5d5662a77fca238c828e402c997d1c3cd5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98392 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%0AQegyZ&w9e)*iP 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 diff --git a/public/icons.svg b/public/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logo.png b/public/logo.png deleted file mode 100644 index af0314a09fb6959ccda54236f51f59af30db4edc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13118 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 diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..f90339d --- /dev/null +++ b/src/App.css @@ -0,0 +1,184 @@ +.counter { + font-size: 16px; + padding: 5px 10px; + border-radius: 5px; + color: var(--accent); + background: var(--accent-bg); + border: 2px solid transparent; + transition: border-color 0.3s; + margin-bottom: 24px; + + &:hover { + border-color: var(--accent-border); + } + &:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; + } +} + +.hero { + position: relative; + + .base, + .framework, + .vite { + inset-inline: 0; + margin: 0 auto; + } + + .base { + width: 170px; + position: relative; + z-index: 0; + } + + .framework, + .vite { + position: absolute; + } + + .framework { + z-index: 1; + top: 34px; + height: 28px; + transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) + scale(1.4); + } + + .vite { + z-index: 0; + top: 107px; + height: 26px; + width: auto; + transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) + scale(0.8); + } +} + +#center { + display: flex; + flex-direction: column; + gap: 25px; + place-content: center; + place-items: center; + flex-grow: 1; + + @media (max-width: 1024px) { + padding: 32px 20px 24px; + gap: 18px; + } +} + +#next-steps { + display: flex; + border-top: 1px solid var(--border); + text-align: left; + + & > div { + flex: 1 1 0; + padding: 32px; + @media (max-width: 1024px) { + padding: 24px 20px; + } + } + + .icon { + margin-bottom: 16px; + width: 22px; + height: 22px; + } + + @media (max-width: 1024px) { + flex-direction: column; + text-align: center; + } +} + +#docs { + border-right: 1px solid var(--border); + + @media (max-width: 1024px) { + border-right: none; + border-bottom: 1px solid var(--border); + } +} + +#next-steps ul { + list-style: none; + padding: 0; + display: flex; + gap: 8px; + margin: 32px 0 0; + + .logo { + height: 18px; + } + + a { + color: var(--text-h); + font-size: 16px; + border-radius: 6px; + background: var(--social-bg); + display: flex; + padding: 6px 12px; + align-items: center; + gap: 8px; + text-decoration: none; + transition: box-shadow 0.3s; + + &:hover { + box-shadow: var(--shadow); + } + .button-icon { + height: 18px; + width: 18px; + } + } + + @media (max-width: 1024px) { + margin-top: 20px; + flex-wrap: wrap; + justify-content: center; + + li { + flex: 1 1 calc(50% - 8px); + } + + a { + width: 100%; + justify-content: center; + box-sizing: border-box; + } + } +} + +#spacer { + height: 88px; + border-top: 1px solid var(--border); + @media (max-width: 1024px) { + height: 48px; + } +} + +.ticks { + position: relative; + width: 100%; + + &::before, + &::after { + content: ''; + position: absolute; + top: -4.5px; + border: 5px solid transparent; + } + + &::before { + left: 0; + border-left-color: var(--border); + } + &::after { + right: 0; + border-right-color: var(--border); + } +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..46a5992 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,121 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from './assets/vite.svg' +import heroImg from './assets/hero.png' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> +
+
+ + React logo + Vite logo +
+
+

Get started

+

+ Edit src/App.tsx and save to test HMR +

+
+ +
+ +
+ +
+ +
+
+ + ) +} + +export default App diff --git a/src/app/const.ts b/src/app/const.ts deleted file mode 100644 index 9999063..0000000 --- a/src/app/const.ts +++ /dev/null @@ -1,17 +0,0 @@ -export { COOKIE_NAME, ONE_YEAR_MS } from "@shared/const"; - -// Generate login URL at runtime so redirect URI reflects the current origin. -export const getLoginUrl = () => { - const oauthPortalUrl = import.meta.env.VITE_OAUTH_PORTAL_URL; - const appId = import.meta.env.VITE_APP_ID; - const redirectUri = `${window.location.origin}/api/oauth/callback`; - const state = btoa(redirectUri); - - const url = new URL(`${oauthPortalUrl}/app-auth`); - url.searchParams.set("appId", appId); - url.searchParams.set("redirectUri", redirectUri); - url.searchParams.set("state", state); - url.searchParams.set("type", "signIn"); - - return url.toString(); -}; diff --git a/src/app/globals.css b/src/app/globals.css deleted file mode 100644 index 6acad1a..0000000 --- a/src/app/globals.css +++ /dev/null @@ -1,280 +0,0 @@ -/* - * DESIGN SYSTEM — selimaj.dev - * Philosophy: Glassmorphic Terminal - * Background: near-black (#080808), Glass cards: rgba(255,255,255,0.04) + blur - * Typography: Syne (headings) + JetBrains Mono (labels/code) + Geist (body) - * Accent: White only — no color distractions - */ - -@import "tailwindcss"; -@import "tw-animate-css"; - -@custom-variant dark (&:is(.dark *)); - -@theme inline { - --radius-sm: calc(var(--radius) - 4px); - --radius-md: calc(var(--radius) - 2px); - --radius-lg: var(--radius); - --radius-xl: calc(var(--radius) + 4px); - --color-background: var(--background); - --color-foreground: var(--foreground); - --color-card: var(--card); - --color-card-foreground: var(--card-foreground); - --color-popover: var(--popover); - --color-popover-foreground: var(--popover-foreground); - --color-primary: var(--primary); - --color-primary-foreground: var(--primary-foreground); - --color-secondary: var(--secondary); - --color-secondary-foreground: var(--secondary-foreground); - --color-muted: var(--muted); - --color-muted-foreground: var(--muted-foreground); - --color-accent: var(--accent); - --color-accent-foreground: var(--accent-foreground); - --color-destructive: var(--destructive); - --color-destructive-foreground: var(--destructive-foreground); - --color-border: var(--border); - --color-input: var(--input); - --color-ring: var(--ring); -} - -:root { - --radius: 0.75rem; - --background: oklch(0.06 0 0); - --foreground: oklch(0.95 0 0); - --card: oklch(0.09 0 0); - --card-foreground: oklch(0.95 0 0); - --popover: oklch(0.09 0 0); - --popover-foreground: oklch(0.95 0 0); - --primary: oklch(0.95 0 0); - --primary-foreground: oklch(0.06 0 0); - --secondary: oklch(0.12 0 0); - --secondary-foreground: oklch(0.85 0 0); - --muted: oklch(0.14 0 0); - --muted-foreground: oklch(0.55 0 0); - --accent: oklch(0.14 0 0); - --accent-foreground: oklch(0.95 0 0); - --destructive: oklch(0.577 0.245 27.325); - --destructive-foreground: oklch(0.985 0 0); - --border: oklch(1 0 0 / 8%); - --input: oklch(1 0 0 / 10%); - --ring: oklch(0.95 0 0); -} - -@layer base { - * { - @apply border-border outline-ring/50; - } - html { - scroll-behavior: smooth; - } - body { - @apply bg-background text-foreground; - font-family: 'Geist', 'DM Sans', sans-serif; - background-color: #080808; - color: #f0f0f0; - overflow-x: hidden; - } - button:not(:disabled), - [role="button"]:not([aria-disabled="true"]), - [type="button"]:not(:disabled), - [type="submit"]:not(:disabled), - a[href], - select:not(:disabled) { - @apply cursor-pointer; - } -} - -@layer components { - .container { - width: 100%; - margin-left: auto; - margin-right: auto; - padding-left: 1rem; - padding-right: 1rem; - } - - .flex { - min-height: 0; - min-width: 0; - } - - @media (min-width: 640px) { - .container { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - } - - @media (min-width: 1024px) { - .container { - padding-left: 2rem; - padding-right: 2rem; - max-width: 1280px; - } - } - - /* Glass card utility */ - .glass { - background: rgba(255, 255, 255, 0.04); - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); - border: 1px solid rgba(255, 255, 255, 0.08); - } - - .glass-strong { - background: rgba(255, 255, 255, 0.07); - backdrop-filter: blur(20px); - -webkit-backdrop-filter: blur(20px); - border: 1px solid rgba(255, 255, 255, 0.12); - } - - /* Navbar glass */ - .navbar-glass { - background: rgba(8, 8, 8, 0.6); - backdrop-filter: blur(20px); - -webkit-backdrop-filter: blur(20px); - border-bottom: 1px solid rgba(255, 255, 255, 0.06); - } - - .navbar-glass-solid { - background: rgba(8, 8, 8, 0.92); - backdrop-filter: blur(20px); - -webkit-backdrop-filter: blur(20px); - border-bottom: 1px solid rgba(255, 255, 255, 0.08); - } - - /* Terminal label style */ - .terminal-label { - font-family: 'JetBrains Mono', 'Fira Code', monospace; - font-size: 0.75rem; - color: rgba(255, 255, 255, 0.45); - letter-spacing: 0.05em; - } - - /* Section heading style */ - .section-heading { - font-family: 'Syne', sans-serif; - font-weight: 700; - letter-spacing: -0.02em; - } - - /* Subtle glow on hover for cards */ - .card-hover { - transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; - } - .card-hover:hover { - border-color: rgba(255, 255, 255, 0.2); - box-shadow: 0 0 30px rgba(255, 255, 255, 0.04), 0 8px 32px rgba(0,0,0,0.4); - transform: translateY(-2px); - } - - /* Animated gradient text */ - .gradient-text { - background: linear-gradient(135deg, #ffffff 0%, rgba(255,255,255,0.6) 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - } - - /* Noise overlay */ - .noise-overlay::before { - content: ''; - position: absolute; - inset: 0; - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"); - pointer-events: none; - z-index: 0; - } - - /* Scroll reveal animation */ - .reveal { - opacity: 0; - transform: translateY(24px); - transition: opacity 0.6s ease, transform 0.6s ease; - } - .reveal.visible { - opacity: 1; - transform: translateY(0); - } - - /* Skill chip */ - .skill-chip { - display: inline-flex; - align-items: center; - gap: 0.375rem; - padding: 0.375rem 0.875rem; - background: rgba(255, 255, 255, 0.05); - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 9999px; - font-family: 'JetBrains Mono', monospace; - font-size: 0.75rem; - color: rgba(255, 255, 255, 0.75); - transition: background 0.2s, border-color 0.2s, color 0.2s; - } - .skill-chip:hover { - background: rgba(255, 255, 255, 0.1); - border-color: rgba(255, 255, 255, 0.2); - color: #ffffff; - } - - /* Cursor blink */ - @keyframes blink { - 0%, 100% { opacity: 1; } - 50% { opacity: 0; } - } - .cursor-blink { - animation: blink 1s step-end infinite; - } - - /* Floating animation */ - @keyframes float { - 0%, 100% { transform: translateY(0px); } - 50% { transform: translateY(-8px); } - } - .float-anim { - animation: float 4s ease-in-out infinite; - } - - /* Fade in up */ - @keyframes fadeInUp { - from { opacity: 0; transform: translateY(30px); } - to { opacity: 1; transform: translateY(0); } - } - .fade-in-up { - opacity: 0; - animation: fadeInUp 0.7s ease forwards; - } - - /* Stagger delays */ - .delay-100 { animation-delay: 0.1s; } - .delay-200 { animation-delay: 0.2s; } - .delay-300 { animation-delay: 0.3s; } - .delay-400 { animation-delay: 0.4s; } - .delay-500 { animation-delay: 0.5s; } - .delay-600 { animation-delay: 0.6s; } - .delay-700 { animation-delay: 0.7s; } - .delay-800 { animation-delay: 0.8s; } - - /* White dot separator */ - .dot-sep::after { - content: '·'; - margin: 0 0.5rem; - color: rgba(255,255,255,0.3); - } - - /* Project language badge */ - .lang-badge { - display: inline-flex; - align-items: center; - gap: 0.25rem; - font-family: 'JetBrains Mono', monospace; - font-size: 0.7rem; - color: rgba(255,255,255,0.5); - } - .lang-dot { - width: 8px; - height: 8px; - border-radius: 50%; - display: inline-block; - } -} diff --git a/src/app/layout.tsx b/src/app/layout.tsx deleted file mode 100644 index e7998c8..0000000 --- a/src/app/layout.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { Metadata } from "next"; -import "./globals.css"; -import { Toaster } from "@/components/ui/sonner"; -import { TooltipProvider } from "@/components/ui/tooltip"; -import { ThemeProvider } from "../contexts/ThemeContext"; -import ErrorBoundary from "../components/ErrorBoundary"; - -export const metadata: Metadata = { - title: "Selimaj.dev", - description: "", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - - - - - - {children} - - - - - - ); -} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx deleted file mode 100644 index ac86095..0000000 --- a/src/app/not-found.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { Button } from "@/components/ui/button"; -import { Card, CardContent } from "@/components/ui/card"; -import { AlertCircle, Home } from "lucide-react"; -import { useRouter } from "next/navigation"; - -export default function NotFound() { - const router = useRouter(); - - const handleGoHome = () => { - router.push("/"); - }; - - return ( -
- - -
-
-
- -
-
- -

404

- -

- Page Not Found -

- -

- Sorry, the page you are looking for doesn't exist. -
- It may have been moved or deleted. -

- -
- -
- - -
- ); -} diff --git a/src/app/page.tsx b/src/app/page.tsx deleted file mode 100644 index a792d7e..0000000 --- a/src/app/page.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/* - * HOME PAGE — selimaj.dev - * Design: Glassmorphic Terminal - * Assembles all sections: Navbar, Hero, About, Projects, Skills, Contact, Footer - */ - -import Navbar from "@/components/Navbar"; -import HeroSection from "@/components/HeroSection"; -import AboutSection from "@/components/AboutSection"; -import ProjectsSection from "@/components/ProjectsSection"; -import SkillsSection from "@/components/SkillsSection"; -import ContactSection from "@/components/ContactSection"; -import Footer from "@/components/Footer"; - -export default function Home() { - return ( -
- - - - - - -
-
- ); -} diff --git a/src/assets/hero.png b/src/assets/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..cc51a3d20ad4bc961b596a6adfd686685cd84bb0 GIT binary patch literal 44919 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 JPDHLkV1myZcL)Fg literal 0 HcmV?d00001 diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/vite.svg b/src/assets/vite.svg new file mode 100644 index 0000000..5101b67 --- /dev/null +++ b/src/assets/vite.svg @@ -0,0 +1 @@ +Vite diff --git a/src/components/AboutSection.tsx b/src/components/AboutSection.tsx deleted file mode 100644 index b3d42d9..0000000 --- a/src/components/AboutSection.tsx +++ /dev/null @@ -1,165 +0,0 @@ -/* - * ABOUT SECTION — selimaj.dev - * Design: Glassmorphic Terminal - * Asymmetric layout: text left, abstract visual right - */ - -import { useEffect, useRef } from "react"; - -const ABOUT_VISUAL = "https://d2xsxph8kpxj0f.cloudfront.net/310519663439135967/RkRL4wd7YzNoLyaN7suWbR/about-visual-Y4xCyLgcmnZTRAJCDCgU7o.webp"; - -function useReveal() { - const ref = useRef(null); - useEffect(() => { - const el = ref.current; - if (!el) return; - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) { - el.classList.add("visible"); - observer.disconnect(); - } - }, - { threshold: 0.15 } - ); - observer.observe(el); - return () => observer.disconnect(); - }, []); - return ref; -} - -const highlights = [ - { icon: "⚡", label: "Currently", value: "Grinding on SaaS products" }, - { icon: "🦀", label: "Fav Stack", value: "Rust · TypeScript · Linux" }, - { icon: "🎯", label: "Focus", value: "Low-level systems & UI/UX" }, - { icon: "🌍", label: "Based in", value: "Albania" }, -]; - -export default function AboutSection() { - const ref1 = useReveal(); - const ref2 = useReveal(); - - return ( -
- {/* Subtle top border */} -
- -
- {/* Section label */} -
> about.me
- -
- {/* Left: Text */} -
-

- Building the future, -
- one commit at a time. -

- -
-

- I'm Klesti Selimaj — a 16-year-old software developer - and entrepreneur from Albania with 6 years of hands-on experience. I started coding at 10 and - never stopped. -

-

- My passion lies in low-level systems programming, building - developer tools, and crafting polished user experiences. I work primarily in{" "} - Rust and{" "} - TypeScript, and I'm deeply interested in - hacking, Linux internals, and TUI applications. -

-

- Beyond code, I'm building towards a successful SaaS product — combining my technical depth - with an entrepreneurial mindset to create tools that developers actually want to use. -

-
- - {/* Highlights grid */} -
- {highlights.map((h) => ( -
-
{h.icon}
-
{h.label}
-
- {h.value} -
-
- ))} -
- - {/* Social links */} -
- {[ - { label: "GitHub", href: "https://github.com/selimaj-dev", icon: "⌥" }, - { label: "YouTube", href: "https://youtube.com/@SelimajDev", icon: "▶" }, - { label: "Instagram", href: "https://instagram.com/selimaj.dev", icon: "◈" }, - ].map((s) => ( - - {s.icon} - {s.label} - - ))} -
-
- - {/* Right: Visual */} -
-
- {/* Glow behind image */} -
-
- Abstract tech visualization - {/* Overlay with terminal text */} -
-
- ${" "} - whoami -
-
- Klesti Selimaj -
-
- uid=1000(klesti) groups=dev,entrepreneur -
-
-
-
-
-
-
-
- ); -} diff --git a/src/components/ContactSection.tsx b/src/components/ContactSection.tsx deleted file mode 100644 index 162cecb..0000000 --- a/src/components/ContactSection.tsx +++ /dev/null @@ -1,175 +0,0 @@ -/* - * CONTACT SECTION — selimaj.dev - * Design: Glassmorphic Terminal - * Clean contact links with glass cards - */ - -import { useEffect, useRef } from "react"; -import { Github, Youtube, Instagram, ExternalLink, Mail } from "lucide-react"; - -function useReveal(threshold = 0.1) { - const ref = useRef(null); - useEffect(() => { - const el = ref.current; - if (!el) return; - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) { - el.classList.add("visible"); - observer.disconnect(); - } - }, - { threshold } - ); - observer.observe(el); - return () => observer.disconnect(); - }, [threshold]); - return ref; -} - -const contactLinks = [ - { - icon: Github, - label: "GitHub", - handle: "@selimaj-dev", - href: "https://github.com/selimaj-dev", - description: "35+ repositories · 2,670 contributions/year", - }, - { - icon: Youtube, - label: "YouTube", - handle: "@SelimajDev", - href: "https://youtube.com/@SelimajDev", - description: "Dev content, tutorials, and builds", - }, - { - icon: Instagram, - label: "Instagram", - handle: "@selimaj.dev", - href: "https://instagram.com/selimaj.dev", - description: "Behind the scenes and updates", - }, - { - icon: ExternalLink, - label: "Website", - handle: "selimaj.dev", - href: "https://selimaj.dev", - description: "You're already here!", - }, -]; - -export default function ContactSection() { - const headerRef = useReveal(); - const contentRef = useReveal(0.1); - - return ( -
-
- - {/* Subtle radial glow */} -
- -
- {/* Header */} -
-
> contact --open
-

- Let's Build -
- Something Together -

-

- I'm always open to interesting projects, collaborations, or just a good conversation - about tech. Reach out through any of the channels below. -

-
- - {/* Contact cards */} -
-
- {contactLinks.map((link) => { - const Icon = link.icon; - return ( - -
-
- -
- -
-
-
- {link.label} -
-
{link.handle}
-
- {link.description} -
-
-
- ); - })} -
- - {/* Big CTA */} -
-
> open_to_work --status
-

- Open to freelance & collaboration -

-

- Looking for interesting projects, SaaS co-founders, or clients who need - a developer who ships fast and cares about quality. -

- -
-
-
-
- ); -} diff --git a/src/components/ErrorBoundary.tsx b/src/components/ErrorBoundary.tsx deleted file mode 100644 index 1422986..0000000 --- a/src/components/ErrorBoundary.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { cn } from "@/lib/utils"; -import { AlertTriangle, RotateCcw } from "lucide-react"; -import { Component, ReactNode } from "react"; - -interface Props { - children: ReactNode; -} - -interface State { - hasError: boolean; - error: Error | null; -} - -class ErrorBoundary extends Component { - constructor(props: Props) { - super(props); - this.state = { hasError: false, error: null }; - } - - static getDerivedStateFromError(error: Error): State { - return { hasError: true, error }; - } - - render() { - if (this.state.hasError) { - return ( -
-
- - -

An unexpected error occurred.

- -
-
-                {this.state.error?.stack}
-              
-
- - -
-
- ); - } - - return this.props.children; - } -} - -export default ErrorBoundary; diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx deleted file mode 100644 index 29de32f..0000000 --- a/src/components/Footer.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* - * FOOTER — selimaj.dev - * Design: Glassmorphic Terminal - * Minimal footer with branding and links - */ - -export default function Footer() { - const year = new Date().getFullYear(); - - return ( -
-
-
- {/* Brand */} -
- - selimaj.dev - - · - Klesti Selimaj -
- - {/* Links */} -
- {[ - { label: "GitHub", href: "https://github.com/selimaj-dev" }, - { label: "YouTube", href: "https://youtube.com/@SelimajDev" }, - { label: "Instagram", href: "https://instagram.com/selimaj.dev" }, - ].map((link) => ( - - {link.label} - - ))} -
- - {/* Copyright */} -
- © {year} selimaj.dev -
-
-
-
- ); -} diff --git a/src/components/HeroSection.tsx b/src/components/HeroSection.tsx deleted file mode 100644 index 3d67121..0000000 --- a/src/components/HeroSection.tsx +++ /dev/null @@ -1,167 +0,0 @@ -/* - * HERO SECTION — selimaj.dev - * Design: Glassmorphic Terminal - * Full-viewport dark hero with animated background image, typewriter effect, and glass CTA - */ - -import { useEffect, useState } from "react"; - -const HERO_BG = "https://d2xsxph8kpxj0f.cloudfront.net/310519663439135967/RkRL4wd7YzNoLyaN7suWbR/hero-bg-G3393XyTzqxu3D4dR63od8.webp"; - -const typewriterPhrases = [ - "Software Developer.", - "Entrepreneur.", - "SaaS Builder.", - "Systems Programmer.", - "Open Source Contributor.", -]; - -function useTypewriter(phrases: string[], speed = 60, pause = 1800) { - const [display, setDisplay] = useState(""); - const [phraseIdx, setPhraseIdx] = useState(0); - const [charIdx, setCharIdx] = useState(0); - const [deleting, setDeleting] = useState(false); - - useEffect(() => { - const current = phrases[phraseIdx]; - let timeout: ReturnType; - - if (!deleting && charIdx < current.length) { - timeout = setTimeout(() => setCharIdx((c) => c + 1), speed); - } else if (!deleting && charIdx === current.length) { - timeout = setTimeout(() => setDeleting(true), pause); - } else if (deleting && charIdx > 0) { - timeout = setTimeout(() => setCharIdx((c) => c - 1), speed / 2); - } else if (deleting && charIdx === 0) { - setDeleting(false); - setPhraseIdx((i) => (i + 1) % phrases.length); - } - - setDisplay(current.slice(0, charIdx)); - return () => clearTimeout(timeout); - }, [charIdx, deleting, phraseIdx, phrases, speed, pause]); - - return display; -} - -export default function HeroSection() { - const typed = useTypewriter(typewriterPhrases); - - return ( -
- {/* Background image */} -
- - {/* Gradient overlays */} -
-
- - {/* Animated glow orb */} -
- - {/* Content */} -
- {/* Terminal label */} -
- - - > klesti@selimaj.dev ~ $ - -
- - {/* Main heading */} -

- Klesti -
- Selimaj -

- - {/* Typewriter subtitle */} -
- {typed} - | -
- - {/* Description */} -

- 16 years old · 6 years of experience · Albania -
- Passionate about low-level systems, hacking, UI/UX, and making cool tools. -

- - {/* CTA Buttons */} -
- - -
- - {/* Stats row */} -
- {[ - { value: "6+", label: "Years Experience" }, - { value: "35+", label: "Repositories" }, - { value: "2,670+", label: "Contributions / Year" }, - { value: "177+", label: "Stars Earned" }, - ].map((stat) => ( -
-
- {stat.value} -
-
{stat.label}
-
- ))} -
-
- - {/* Scroll indicator */} -
-
- scroll -
-
- ); -} diff --git a/src/components/ManusDialog.tsx b/src/components/ManusDialog.tsx deleted file mode 100644 index 0aeff4b..0000000 --- a/src/components/ManusDialog.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { useEffect, useState } from "react"; - -import { Button } from "@/components/ui/button"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogTitle, -} from "@/components/ui/dialog"; - -interface ManusDialogProps { - title?: string; - logo?: string; - open?: boolean; - onLogin: () => void; - onOpenChange?: (open: boolean) => void; - onClose?: () => void; -} - -export function ManusDialog({ - title, - logo, - open = false, - onLogin, - onOpenChange, - onClose, -}: ManusDialogProps) { - const [internalOpen, setInternalOpen] = useState(open); - - useEffect(() => { - if (!onOpenChange) { - setInternalOpen(open); - } - }, [open, onOpenChange]); - - const handleOpenChange = (nextOpen: boolean) => { - if (onOpenChange) { - onOpenChange(nextOpen); - } else { - setInternalOpen(nextOpen); - } - - if (!nextOpen) { - onClose?.(); - } - }; - - return ( - - -
- {logo ? ( -
- Dialog graphic -
- ) : null} - - {/* Title and subtitle */} - {title ? ( - - {title} - - ) : null} - - Please login with Manus to continue - -
- - - {/* Login button */} - - -
-
- ); -} diff --git a/src/components/Map.tsx b/src/components/Map.tsx deleted file mode 100644 index 4849e05..0000000 --- a/src/components/Map.tsx +++ /dev/null @@ -1,155 +0,0 @@ -/** - * GOOGLE MAPS FRONTEND INTEGRATION - ESSENTIAL GUIDE - * - * USAGE FROM PARENT COMPONENT: - * ====== - * - * const mapRef = useRef(null); - * - * { - * mapRef.current = map; // Store to control map from parent anytime, google map itself is in charge of the re-rendering, not react state. - * - * - * ====== - * Available Libraries and Core Features: - * ------------------------------- - * 📍 MARKER (from `marker` library) - * - Attaches to map using { map, position } - * new google.maps.marker.AdvancedMarkerElement({ - * map, - * position: { lat: 37.7749, lng: -122.4194 }, - * title: "San Francisco", - * }); - * - * ------------------------------- - * 🏢 PLACES (from `places` library) - * - Does not attach directly to map; use data with your map manually. - * const place = new google.maps.places.Place({ id: PLACE_ID }); - * await place.fetchFields({ fields: ["displayName", "location"] }); - * map.setCenter(place.location); - * new google.maps.marker.AdvancedMarkerElement({ map, position: place.location }); - * - * ------------------------------- - * 🧭 GEOCODER (from `geocoding` library) - * - Standalone service; manually apply results to map. - * const geocoder = new google.maps.Geocoder(); - * geocoder.geocode({ address: "New York" }, (results, status) => { - * if (status === "OK" && results[0]) { - * map.setCenter(results[0].geometry.location); - * new google.maps.marker.AdvancedMarkerElement({ - * map, - * position: results[0].geometry.location, - * }); - * } - * }); - * - * ------------------------------- - * 📐 GEOMETRY (from `geometry` library) - * - Pure utility functions; not attached to map. - * const dist = google.maps.geometry.spherical.computeDistanceBetween(p1, p2); - * - * ------------------------------- - * 🛣️ ROUTES (from `routes` library) - * - Combines DirectionsService (standalone) + DirectionsRenderer (map-attached) - * const directionsService = new google.maps.DirectionsService(); - * const directionsRenderer = new google.maps.DirectionsRenderer({ map }); - * directionsService.route( - * { origin, destination, travelMode: "DRIVING" }, - * (res, status) => status === "OK" && directionsRenderer.setDirections(res) - * ); - * - * ------------------------------- - * 🌦️ MAP LAYERS (attach directly to map) - * - new google.maps.TrafficLayer().setMap(map); - * - new google.maps.TransitLayer().setMap(map); - * - new google.maps.BicyclingLayer().setMap(map); - * - * ------------------------------- - * ✅ SUMMARY - * - “map-attached” → AdvancedMarkerElement, DirectionsRenderer, Layers. - * - “standalone” → Geocoder, DirectionsService, DistanceMatrixService, ElevationService. - * - “data-only” → Place, Geometry utilities. - */ - -/// - -import { useEffect, useRef } from "react"; -import { usePersistFn } from "@/hooks/usePersistFn"; -import { cn } from "@/lib/utils"; - -declare global { - interface Window { - google?: typeof google; - } -} - -const API_KEY = import.meta.env.VITE_FRONTEND_FORGE_API_KEY; -const FORGE_BASE_URL = - import.meta.env.VITE_FRONTEND_FORGE_API_URL || - "https://forge.butterfly-effect.dev"; -const MAPS_PROXY_URL = `${FORGE_BASE_URL}/v1/maps/proxy`; - -function loadMapScript() { - return new Promise(resolve => { - const script = document.createElement("script"); - script.src = `${MAPS_PROXY_URL}/maps/api/js?key=${API_KEY}&v=weekly&libraries=marker,places,geocoding,geometry`; - script.async = true; - script.crossOrigin = "anonymous"; - script.onload = () => { - resolve(null); - script.remove(); // Clean up immediately - }; - script.onerror = () => { - console.error("Failed to load Google Maps script"); - }; - document.head.appendChild(script); - }); -} - -interface MapViewProps { - className?: string; - initialCenter?: google.maps.LatLngLiteral; - initialZoom?: number; - onMapReady?: (map: google.maps.Map) => void; -} - -export function MapView({ - className, - initialCenter = { lat: 37.7749, lng: -122.4194 }, - initialZoom = 12, - onMapReady, -}: MapViewProps) { - const mapContainer = useRef(null); - const map = useRef(null); - - const init = usePersistFn(async () => { - await loadMapScript(); - if (!mapContainer.current) { - console.error("Map container not found"); - return; - } - map.current = new window.google.maps.Map(mapContainer.current, { - zoom: initialZoom, - center: initialCenter, - mapTypeControl: true, - fullscreenControl: true, - zoomControl: true, - streetViewControl: true, - mapId: "DEMO_MAP_ID", - }); - if (onMapReady) { - onMapReady(map.current); - } - }); - - useEffect(() => { - init(); - }, [init]); - - return ( -
- ); -} diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx deleted file mode 100644 index fc18ad3..0000000 --- a/src/components/Navbar.tsx +++ /dev/null @@ -1,124 +0,0 @@ -/* - * NAVBAR — selimaj.dev - * Design: Glassmorphic Terminal - * Glass effect: backdrop-blur + rgba background - * Becomes more opaque on scroll - */ - -import { useEffect, useState } from "react"; - -const navLinks = [ - { label: "About", href: "#about" }, - { label: "Projects", href: "#projects" }, - { label: "Skills", href: "#skills" }, - { label: "Contact", href: "#contact" }, -]; - -export default function Navbar() { - const [scrolled, setScrolled] = useState(false); - const [menuOpen, setMenuOpen] = useState(false); - - useEffect(() => { - const handleScroll = () => { - setScrolled(window.scrollY > 40); - }; - window.addEventListener("scroll", handleScroll, { passive: true }); - return () => window.removeEventListener("scroll", handleScroll); - }, []); - - const handleNavClick = (href: string) => { - setMenuOpen(false); - const el = document.querySelector(href); - if (el) { - el.scrollIntoView({ behavior: "smooth" }); - } - }; - - return ( - - ); -} diff --git a/src/components/ProjectsSection.tsx b/src/components/ProjectsSection.tsx deleted file mode 100644 index 430bcfe..0000000 --- a/src/components/ProjectsSection.tsx +++ /dev/null @@ -1,282 +0,0 @@ -/* - * PROJECTS SECTION — selimaj.dev - * Design: Glassmorphic Terminal - * Masonry-style grid with glass cards, language badges, and star counts - */ - -import { useEffect, useRef } from "react"; -import { ExternalLink, Star, GitFork } from "lucide-react"; - -function useReveal(threshold = 0.1) { - const ref = useRef(null); - useEffect(() => { - const el = ref.current; - if (!el) return; - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) { - el.classList.add("visible"); - observer.disconnect(); - } - }, - { threshold } - ); - observer.observe(el); - return () => observer.disconnect(); - }, [threshold]); - return ref; -} - -const LANG_COLORS: Record = { - TypeScript: "#3178c6", - Rust: "#ce422b", - Java: "#b07219", - JavaScript: "#f1e05a", - Python: "#3572A5", - Shell: "#89e051", - "C#": "#178600", -}; - -interface Project { - name: string; - org?: string; - description: string; - language: string; - stars: number; - forks?: number; - href: string; - featured?: boolean; - tag?: string; -} - -const projects: Project[] = [ - { - name: "osui", - org: "osui-rs", - description: "A TUI library written in Rust — build terminal UIs with a component-based approach.", - language: "Rust", - stars: 7, - href: "https://github.com/osui-rs/osui", - featured: true, - tag: "Library", - }, - { - name: "saturnclient", - org: "saturnclientmc", - description: "Saturn Client — a Minecraft client full of customizability and free cosmetics.", - language: "Java", - stars: 7, - forks: 2, - href: "https://github.com/saturnclientmc/saturnclient", - featured: true, - tag: "Game Client", - }, - { - name: "dev-run", - org: "orus-dev", - description: "DevRun — a community-driven competitive programming platform inspired by speedrunning.", - language: "TypeScript", - stars: 3, - href: "https://github.com/orus-dev/dev-run", - featured: true, - tag: "Platform", - }, - { - name: "linear-linux", - description: "Linux support for linear.app — bringing the popular project management tool to Linux.", - language: "JavaScript", - stars: 27, - forks: 5, - href: "https://github.com/selimaj-dev/linear-linux", - featured: true, - tag: "Tool", - }, - { - name: "dockship", - org: "orus-dev", - description: "A powerful self-hosted deployment platform for managing your applications.", - language: "TypeScript", - stars: 1, - href: "https://github.com/orus-dev/dockship", - tag: "DevOps", - }, - { - name: "axiom", - org: "AxiomChat", - description: "A modern real-time chat application built with TypeScript.", - language: "TypeScript", - stars: 1, - href: "https://github.com/AxiomChat/axiom", - tag: "App", - }, - { - name: "nexa-trade", - org: "nexa-sol", - description: "The Solana trading terminal supercharged by AI — trade smarter.", - language: "TypeScript", - stars: 1, - href: "https://github.com/nexa-sol/nexa-trade", - tag: "FinTech", - }, - { - name: "osmium", - description: "A TUI component-based game engine built on top of OSUI.", - language: "Rust", - stars: 1, - href: "https://github.com/selimaj-dev/osmium", - tag: "Engine", - }, - { - name: "spark", - description: "AI documentation generator that takes context from your repository's source code.", - language: "Python", - stars: 2, - href: "https://github.com/selimaj-dev/spark", - tag: "AI Tool", - }, - { - name: "flux", - description: "A tool and library for using multiple languages in one codebase seamlessly.", - language: "Rust", - stars: 1, - href: "https://github.com/selimaj-dev/flux", - tag: "Tool", - }, - { - name: "session-rs", - description: "A lightweight async WebSocket protocol library for Rust.", - language: "Rust", - stars: 1, - href: "https://github.com/selimaj-dev/session-rs", - tag: "Library", - }, - { - name: "tailwind-motlib", - description: "A motion and stagger animation library for Tailwind CSS.", - language: "TypeScript", - stars: 0, - href: "https://github.com/selimaj-dev/tailwind-motlib", - tag: "Library", - }, -]; - -function ProjectCard({ project, delay }: { project: Project; delay: number }) { - const langColor = LANG_COLORS[project.language] || "#888"; - - return ( - - {/* Header */} -
-
- {project.tag && ( - - {project.tag} - - )} -

- {project.org ? ( - {project.org}/ - ) : null} - {project.name} -

-
- -
- - {/* Description */} -

- {project.description} -

- - {/* Footer */} -
- - - {project.language} - - - - {project.stars} - - {project.forks !== undefined && ( - - - {project.forks} - - )} -
-
- ); -} - -export default function ProjectsSection() { - const headerRef = useReveal(); - const gridRef = useReveal(0.05); - - const featured = projects.filter((p) => p.featured); - const rest = projects.filter((p) => !p.featured); - - return ( -
-
- -
- {/* Header */} -
-
> ls projects/
-
-

- Things I've -
- Built -

- - View all 35+ repos → - -
-
- - {/* Featured projects (larger cards) */} -
-
// featured
-
- {featured.map((project, i) => ( - - ))} -
- - {/* Rest of projects (smaller grid) */} -
// more projects
-
- {rest.map((project, i) => ( - - ))} -
-
-
-
- ); -} diff --git a/src/components/SkillsSection.tsx b/src/components/SkillsSection.tsx deleted file mode 100644 index bed9bcf..0000000 --- a/src/components/SkillsSection.tsx +++ /dev/null @@ -1,218 +0,0 @@ -/* - * SKILLS SECTION — selimaj.dev - * Design: Glassmorphic Terminal - * Flowing chip layout with category grouping - */ - -import { useEffect, useRef } from "react"; - -function useReveal(threshold = 0.1) { - const ref = useRef(null); - useEffect(() => { - const el = ref.current; - if (!el) return; - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) { - el.classList.add("visible"); - observer.disconnect(); - } - }, - { threshold } - ); - observer.observe(el); - return () => observer.disconnect(); - }, [threshold]); - return ref; -} - -const CODE_VISUAL = "https://d2xsxph8kpxj0f.cloudfront.net/310519663439135967/RkRL4wd7YzNoLyaN7suWbR/code-visual-96fdFEYLcFy2ct3UAAmiG6.webp"; - -interface SkillCategory { - label: string; - terminalLabel: string; - skills: { name: string; level?: "expert" | "proficient" | "learning" }[]; -} - -const skillCategories: SkillCategory[] = [ - { - label: "Languages", - terminalLabel: "languages/", - skills: [ - { name: "Rust", level: "expert" }, - { name: "TypeScript", level: "expert" }, - { name: "JavaScript", level: "expert" }, - { name: "Java", level: "proficient" }, - { name: "Python", level: "proficient" }, - { name: "C#", level: "proficient" }, - { name: "Shell / Bash", level: "proficient" }, - { name: "Go", level: "learning" }, - ], - }, - { - label: "Frontend", - terminalLabel: "frontend/", - skills: [ - { name: "React", level: "expert" }, - { name: "Next.js", level: "expert" }, - { name: "Tailwind CSS", level: "expert" }, - { name: "Framer Motion", level: "proficient" }, - { name: "WebSockets", level: "expert" }, - { name: "Vite", level: "expert" }, - ], - }, - { - label: "Backend & Systems", - terminalLabel: "backend/", - skills: [ - { name: "Node.js", level: "expert" }, - { name: "Express", level: "expert" }, - { name: "Linux", level: "expert" }, - { name: "Docker", level: "proficient" }, - { name: "TUI / CLI", level: "expert" }, - { name: "Low-level Systems", level: "expert" }, - { name: "WebAssembly", level: "proficient" }, - ], - }, - { - label: "Tools & Platforms", - terminalLabel: "tools/", - skills: [ - { name: "Git / GitHub", level: "expert" }, - { name: "Kali Linux", level: "proficient" }, - { name: "Neovim", level: "proficient" }, - { name: "PostgreSQL", level: "proficient" }, - { name: "Redis", level: "proficient" }, - { name: "Figma", level: "proficient" }, - { name: "Solana / Web3", level: "proficient" }, - ], - }, -]; - -const levelColors: Record = { - expert: "rgba(255,255,255,0.12)", - proficient: "rgba(255,255,255,0.06)", - learning: "rgba(255,255,255,0.03)", -}; - -const levelBorders: Record = { - expert: "rgba(255,255,255,0.2)", - proficient: "rgba(255,255,255,0.1)", - learning: "rgba(255,255,255,0.06)", -}; - -export default function SkillsSection() { - const headerRef = useReveal(); - const contentRef = useReveal(0.05); - - return ( -
-
- -
- {/* Header */} -
-
> cat skills.json
-
-

- Tech I Work -
- With -

-
- - - Expert - - - - Proficient - - - - Learning - -
-
-
- -
-
- {/* Left: skill categories */} -
- {skillCategories.map((cat) => ( -
-
- {cat.terminalLabel} -
-
-
- {cat.skills.map((skill) => ( - - {skill.name} - - ))} -
-
- ))} -
- - {/* Right: code visual + interests */} -
- {/* Code visual */} -
- Code visualization -
-
$ git log --oneline
-
-
214 commits this month
-
2,670 contributions/year
-
35+ repositories
-
-
-
- - {/* Interests */} -
-
> interests/
-
- {[ - { icon: "🔐", label: "Hacking & Security" }, - { icon: "🖥️", label: "Low-level Systems" }, - { icon: "🎨", label: "UI/UX Design" }, - { icon: "🚀", label: "SaaS & Startups" }, - { icon: "🦀", label: "Rust Ecosystem" }, - { icon: "🐧", label: "Linux & Open Source" }, - ].map((item) => ( -
- {item.icon} - {item.label} -
- ))} -
-
-
-
-
-
-
- ); -} diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx deleted file mode 100644 index 62705e3..0000000 --- a/src/components/ui/accordion.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import * as React from "react"; -import * as AccordionPrimitive from "@radix-ui/react-accordion"; -import { ChevronDownIcon } from "lucide-react"; - -import { cn } from "@/lib/utils"; - -function Accordion({ - ...props -}: React.ComponentProps) { - return ; -} - -function AccordionItem({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AccordionTrigger({ - className, - children, - ...props -}: React.ComponentProps) { - return ( - - svg]:rotate-180", - className - )} - {...props} - > - {children} - - - - ); -} - -function AccordionContent({ - className, - children, - ...props -}: React.ComponentProps) { - return ( - -
{children}
-
- ); -} - -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 6949979..0000000 --- a/src/components/ui/alert-dialog.tsx +++ /dev/null @@ -1,155 +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"; - -function AlertDialog({ - ...props -}: React.ComponentProps) { - return ; -} - -function AlertDialogTrigger({ - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogPortal({ - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogOverlay({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogContent({ - className, - ...props -}: React.ComponentProps) { - return ( - - - - - ); -} - -function AlertDialogHeader({ - className, - ...props -}: React.ComponentProps<"div">) { - return ( -
- ); -} - -function AlertDialogFooter({ - className, - ...props -}: React.ComponentProps<"div">) { - return ( -
- ); -} - -function AlertDialogTitle({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogDescription({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogAction({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AlertDialogCancel({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -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 5b1a0b5..0000000 --- a/src/components/ui/alert.tsx +++ /dev/null @@ -1,66 +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 px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", - { - variants: { - variant: { - default: "bg-card text-card-foreground", - destructive: - "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90", - }, - }, - defaultVariants: { - variant: "default", - }, - } -); - -function Alert({ - className, - variant, - ...props -}: React.ComponentProps<"div"> & VariantProps) { - return ( -
- ); -} - -function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ); -} - -function AlertDescription({ - className, - ...props -}: React.ComponentProps<"div">) { - return ( -
- ); -} - -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 01d045d..0000000 --- a/src/components/ui/aspect-ratio.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"; - -function AspectRatio({ - ...props -}: React.ComponentProps) { - return ; -} - -export { AspectRatio }; diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx deleted file mode 100644 index 02305fd..0000000 --- a/src/components/ui/avatar.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import * as AvatarPrimitive from "@radix-ui/react-avatar"; - -import { cn } from "@/lib/utils"; - -function Avatar({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AvatarImage({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -function AvatarFallback({ - className, - ...props -}: React.ComponentProps) { - return ( - - ); -} - -export { Avatar, AvatarImage, AvatarFallback }; diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx deleted file mode 100644 index 83750ed..0000000 --- a/src/components/ui/badge.tsx +++ /dev/null @@ -1,46 +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 badgeVariants = cva( - "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", - { - variants: { - variant: { - default: - "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90", - secondary: - "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90", - destructive: - "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", - outline: - "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", - }, - }, - defaultVariants: { - variant: "default", - }, - } -); - -function Badge({ - className, - variant, - asChild = false, - ...props -}: React.ComponentProps<"span"> & - VariantProps & { asChild?: boolean }) { - const Comp = asChild ? Slot : "span"; - - return ( - - ); -} - -export { Badge, badgeVariants }; diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx deleted file mode 100644 index 9d88a37..0000000 --- a/src/components/ui/breadcrumb.tsx +++ /dev/null @@ -1,109 +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"; - -function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { - return
+ +
+ +

Connect with us

+

Join the Vite community

+ +
+