From b63fc0b8795a9b870847c03c06ea6436f3c9cabf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=9Al=C4=99zak?= Date: Mon, 15 Sep 2025 10:05:04 +0200 Subject: [PATCH 01/15] init repo --- webnext/.gitignore | 24 + webnext/.vscode/extensions.json | 5 + webnext/README.md | 69 + webnext/index.html | 13 + webnext/messages/de.json | 4 + webnext/messages/en.json | 4 + webnext/package.json | 29 + webnext/pnpm-lock.yaml | 2358 ++++++++++++++++++++++++++ webnext/pnpm-workspace.yaml | 4 + webnext/project.inlang/.gitignore | 1 + webnext/project.inlang/project_id | 1 + webnext/project.inlang/settings.json | 15 + webnext/public/vite.svg | 1 + webnext/src/App.css | 42 + webnext/src/App.tsx | 35 + webnext/src/assets/react.svg | 1 + webnext/src/index.css | 68 + webnext/src/main.tsx | 10 + webnext/src/vite-env.d.ts | 1 + webnext/tsconfig.app.json | 33 + webnext/tsconfig.json | 7 + webnext/tsconfig.node.json | 25 + webnext/vite.config.ts | 8 + 23 files changed, 2758 insertions(+) create mode 100644 webnext/.gitignore create mode 100644 webnext/.vscode/extensions.json create mode 100644 webnext/README.md create mode 100644 webnext/index.html create mode 100644 webnext/messages/de.json create mode 100644 webnext/messages/en.json create mode 100644 webnext/package.json create mode 100644 webnext/pnpm-lock.yaml create mode 100644 webnext/pnpm-workspace.yaml create mode 100644 webnext/project.inlang/.gitignore create mode 100644 webnext/project.inlang/project_id create mode 100644 webnext/project.inlang/settings.json create mode 100644 webnext/public/vite.svg create mode 100644 webnext/src/App.css create mode 100644 webnext/src/App.tsx create mode 100644 webnext/src/assets/react.svg create mode 100644 webnext/src/index.css create mode 100644 webnext/src/main.tsx create mode 100644 webnext/src/vite-env.d.ts create mode 100644 webnext/tsconfig.app.json create mode 100644 webnext/tsconfig.json create mode 100644 webnext/tsconfig.node.json create mode 100644 webnext/vite.config.ts diff --git a/webnext/.gitignore b/webnext/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/webnext/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/webnext/.vscode/extensions.json b/webnext/.vscode/extensions.json new file mode 100644 index 00000000..116d6852 --- /dev/null +++ b/webnext/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "inlang.vs-code-extension" + ] +} \ No newline at end of file diff --git a/webnext/README.md b/webnext/README.md new file mode 100644 index 00000000..7959ce42 --- /dev/null +++ b/webnext/README.md @@ -0,0 +1,69 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## 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 tseslint.config([ + 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... + }, + }, +]) +``` + +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: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default tseslint.config([ + 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/webnext/index.html b/webnext/index.html new file mode 100644 index 00000000..e4b78eae --- /dev/null +++ b/webnext/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/webnext/messages/de.json b/webnext/messages/de.json new file mode 100644 index 00000000..5d24467b --- /dev/null +++ b/webnext/messages/de.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://inlang.com/schema/inlang-message-format", + "example_message": "Guten Tag {username}" +} \ No newline at end of file diff --git a/webnext/messages/en.json b/webnext/messages/en.json new file mode 100644 index 00000000..73a4dee0 --- /dev/null +++ b/webnext/messages/en.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://inlang.com/schema/inlang-message-format", + "example_message": "Hello world {username}" +} \ No newline at end of file diff --git a/webnext/package.json b/webnext/package.json new file mode 100644 index 00000000..7c19dcbe --- /dev/null +++ b/webnext/package.json @@ -0,0 +1,29 @@ +{ + "name": "webnext", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@inlang/paraglide-js": "^2.3.2", + "react": "^19.1.1", + "react-dom": "^19.1.1" + }, + "devDependencies": { + "@biomejs/biome": "2.2.4", + "@inlang/paraglide-js": "2.3.2", + "@types/react": "^19.1.10", + "@types/react-dom": "^19.1.7", + "@vitejs/plugin-react-swc": "^4.0.0", + "globals": "^16.3.0", + "sass": "^1.92.1", + "typescript": "~5.8.3", + "typescript-eslint": "^8.39.1", + "vite": "^7.1.2" + } +} diff --git a/webnext/pnpm-lock.yaml b/webnext/pnpm-lock.yaml new file mode 100644 index 00000000..ae93da8e --- /dev/null +++ b/webnext/pnpm-lock.yaml @@ -0,0 +1,2358 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@inlang/paraglide-js': + specifier: ^2.3.2 + version: 2.3.2 + react: + specifier: ^19.1.1 + version: 19.1.1 + react-dom: + specifier: ^19.1.1 + version: 19.1.1(react@19.1.1) + devDependencies: + '@biomejs/biome': + specifier: 2.2.4 + version: 2.2.4 + '@eslint/js': + specifier: ^9.33.0 + version: 9.35.0 + '@types/react': + specifier: ^19.1.10 + version: 19.1.13 + '@types/react-dom': + specifier: ^19.1.7 + version: 19.1.9(@types/react@19.1.13) + '@vitejs/plugin-react-swc': + specifier: ^4.0.0 + version: 4.0.1(vite@7.1.5(sass@1.92.1)) + eslint: + specifier: ^9.33.0 + version: 9.35.0 + eslint-plugin-react-hooks: + specifier: ^5.2.0 + version: 5.2.0(eslint@9.35.0) + eslint-plugin-react-refresh: + specifier: ^0.4.20 + version: 0.4.20(eslint@9.35.0) + globals: + specifier: ^16.3.0 + version: 16.4.0 + sass: + specifier: ^1.92.1 + version: 1.92.1 + typescript: + specifier: ~5.8.3 + version: 5.8.3 + typescript-eslint: + specifier: ^8.39.1 + version: 8.43.0(eslint@9.35.0)(typescript@5.8.3) + vite: + specifier: ^7.1.2 + version: 7.1.5(sass@1.92.1) + +packages: + + '@biomejs/biome@2.2.4': + resolution: {integrity: sha512-TBHU5bUy/Ok6m8c0y3pZiuO/BZoY/OcGxoLlrfQof5s8ISVwbVBdFINPQZyFfKwil8XibYWb7JMwnT8wT4WVPg==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@2.2.4': + resolution: {integrity: sha512-RJe2uiyaloN4hne4d2+qVj3d3gFJFbmrr5PYtkkjei1O9c+BjGXgpUPVbi8Pl8syumhzJjFsSIYkcLt2VlVLMA==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@2.2.4': + resolution: {integrity: sha512-cFsdB4ePanVWfTnPVaUX+yr8qV8ifxjBKMkZwN7gKb20qXPxd/PmwqUH8mY5wnM9+U0QwM76CxFyBRJhC9tQwg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@2.2.4': + resolution: {integrity: sha512-7TNPkMQEWfjvJDaZRSkDCPT/2r5ESFPKx+TEev+I2BXDGIjfCZk2+b88FOhnJNHtksbOZv8ZWnxrA5gyTYhSsQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-arm64@2.2.4': + resolution: {integrity: sha512-M/Iz48p4NAzMXOuH+tsn5BvG/Jb07KOMTdSVwJpicmhN309BeEyRyQX+n1XDF0JVSlu28+hiTQ2L4rZPvu7nMw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-x64-musl@2.2.4': + resolution: {integrity: sha512-m41nFDS0ksXK2gwXL6W6yZTYPMH0LughqbsxInSKetoH6morVj43szqKx79Iudkp8WRT5SxSh7qVb8KCUiewGg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-linux-x64@2.2.4': + resolution: {integrity: sha512-orr3nnf2Dpb2ssl6aihQtvcKtLySLta4E2UcXdp7+RTa7mfJjBgIsbS0B9GC8gVu0hjOu021aU8b3/I1tn+pVQ==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-win32-arm64@2.2.4': + resolution: {integrity: sha512-NXnfTeKHDFUWfxAefa57DiGmu9VyKi0cDqFpdI+1hJWQjGJhJutHPX0b5m+eXvTKOaf+brU+P0JrQAZMb5yYaQ==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@2.2.4': + resolution: {integrity: sha512-3Y4V4zVRarVh/B/eSHczR4LYoSVyv3Dfuvm3cWs5w/HScccS0+Wt/lHOcDTRYeHjQmMYVC3rIRWqyN2EI52+zg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.3.1': + resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.35.0': + resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@inlang/paraglide-js@2.3.2': + resolution: {integrity: sha512-mF7ku1AaXQxa6fnbBczXiEAM7lxhYzaAH7FnDVvAbpzNtgRJESi11KN0bzpCH0YhsKLdimFrQlzjaSVlo9Uh+Q==} + hasBin: true + + '@inlang/recommend-sherlock@0.2.1': + resolution: {integrity: sha512-ckv8HvHy/iTqaVAEKrr+gnl+p3XFNwe5D2+6w6wJk2ORV2XkcRkKOJ/XsTUJbPSiyi4PI+p+T3bqbmNx/rDUlg==} + + '@inlang/sdk@2.4.9': + resolution: {integrity: sha512-cvz/C1rF5WBxzHbEoiBoI6Sz6q6M+TdxfWkEGBYTD77opY8i8WN01prUWXEM87GPF4SZcyIySez9U0Ccm12oFQ==} + engines: {node: '>=18.0.0'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@lix-js/sdk@0.4.7': + resolution: {integrity: sha512-pRbW+joG12L0ULfMiWYosIW0plmW4AsUdiPCp+Z8rAsElJ+wJ6in58zhD3UwUcd4BNcpldEGjg6PdA7e0RgsDQ==} + engines: {node: '>=18'} + + '@lix-js/server-protocol-schema@0.1.1': + resolution: {integrity: sha512-jBeALB6prAbtr5q4vTuxnRZZv1M2rKe8iNqRQhFJ4Tv7150unEa0vKyz0hs8Gl3fUGsWaNJBh3J8++fpbrpRBQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@rolldown/pluginutils@1.0.0-beta.32': + resolution: {integrity: sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==} + + '@rollup/rollup-android-arm-eabi@4.50.2': + resolution: {integrity: sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.50.2': + resolution: {integrity: sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.50.2': + resolution: {integrity: sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.50.2': + resolution: {integrity: sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.50.2': + resolution: {integrity: sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.50.2': + resolution: {integrity: sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.50.2': + resolution: {integrity: sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.50.2': + resolution: {integrity: sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.50.2': + resolution: {integrity: sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.50.2': + resolution: {integrity: sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.50.2': + resolution: {integrity: sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.50.2': + resolution: {integrity: sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.50.2': + resolution: {integrity: sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.50.2': + resolution: {integrity: sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.50.2': + resolution: {integrity: sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.50.2': + resolution: {integrity: sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.50.2': + resolution: {integrity: sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openharmony-arm64@4.50.2': + resolution: {integrity: sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.50.2': + resolution: {integrity: sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.50.2': + resolution: {integrity: sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.50.2': + resolution: {integrity: sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==} + cpu: [x64] + os: [win32] + + '@sinclair/typebox@0.31.28': + resolution: {integrity: sha512-/s55Jujywdw/Jpan+vsy6JZs1z2ZTGxTmbZTPiuSL2wz9mfzA2gN1zzaqmvfi4pq+uOt7Du85fkiwv5ymW84aQ==} + + '@sqlite.org/sqlite-wasm@3.48.0-build4': + resolution: {integrity: sha512-hI6twvUkzOmyGZhQMza1gpfqErZxXRw6JEsiVjUbo7tFanVD+8Oil0Ih3l2nGzHdxPI41zFmfUQG7GHqhciKZQ==} + hasBin: true + + '@swc/core-darwin-arm64@1.13.5': + resolution: {integrity: sha512-lKNv7SujeXvKn16gvQqUQI5DdyY8v7xcoO3k06/FJbHJS90zEwZdQiMNRiqpYw/orU543tPaWgz7cIYWhbopiQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.13.5': + resolution: {integrity: sha512-ILd38Fg/w23vHb0yVjlWvQBoE37ZJTdlLHa8LRCFDdX4WKfnVBiblsCU9ar4QTMNdeTBEX9iUF4IrbNWhaF1Ng==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.13.5': + resolution: {integrity: sha512-Q6eS3Pt8GLkXxqz9TAw+AUk9HpVJt8Uzm54MvPsqp2yuGmY0/sNaPPNVqctCX9fu/Nu8eaWUen0si6iEiCsazQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.13.5': + resolution: {integrity: sha512-aNDfeN+9af+y+M2MYfxCzCy/VDq7Z5YIbMqRI739o8Ganz6ST+27kjQFd8Y/57JN/hcnUEa9xqdS3XY7WaVtSw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.13.5': + resolution: {integrity: sha512-9+ZxFN5GJag4CnYnq6apKTnnezpfJhCumyz0504/JbHLo+Ue+ZtJnf3RhyA9W9TINtLE0bC4hKpWi8ZKoETyOQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.13.5': + resolution: {integrity: sha512-WD530qvHrki8Ywt/PloKUjaRKgstQqNGvmZl54g06kA+hqtSE2FTG9gngXr3UJxYu/cNAjJYiBifm7+w4nbHbA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.13.5': + resolution: {integrity: sha512-Luj8y4OFYx4DHNQTWjdIuKTq2f5k6uSXICqx+FSabnXptaOBAbJHNbHT/06JZh6NRUouaf0mYXN0mcsqvkhd7Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.13.5': + resolution: {integrity: sha512-cZ6UpumhF9SDJvv4DA2fo9WIzlNFuKSkZpZmPG1c+4PFSEMy5DFOjBSllCvnqihCabzXzpn6ykCwBmHpy31vQw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.13.5': + resolution: {integrity: sha512-C5Yi/xIikrFUzZcyGj9L3RpKljFvKiDMtyDzPKzlsDrKIw2EYY+bF88gB6oGY5RGmv4DAX8dbnpRAqgFD0FMEw==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.13.5': + resolution: {integrity: sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.13.5': + resolution: {integrity: sha512-WezcBo8a0Dg2rnR82zhwoR6aRNxeTGfK5QCD6TQ+kg3xx/zNT02s/0o+81h/3zhvFSB24NtqEr8FTw88O5W/JQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/react-dom@19.1.9': + resolution: {integrity: sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@19.1.13': + resolution: {integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==} + + '@typescript-eslint/eslint-plugin@8.43.0': + resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.43.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.43.0': + resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.43.0': + resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.43.0': + resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.43.0': + resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.43.0': + resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.43.0': + resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.43.0': + resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.43.0': + resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.43.0': + resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react-swc@4.0.1': + resolution: {integrity: sha512-NQhPjysi5duItyrMd5JWZFf2vNOuSMyw+EoZyTBDzk+DkfYD8WNrsUs09sELV2cr1P15nufsN25hsUBt4CKF9Q==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^4 || ^5 || ^6 || ^7 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.5.1: + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react-refresh@0.4.20: + resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} + peerDependencies: + eslint: '>=8.40' + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.35.0: + resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} + engines: {node: '>=18'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + + human-id@4.1.1: + resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} + hasBin: true + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + js-sha256@0.11.1: + resolution: {integrity: sha512-o6WSo/LUvY2uC4j7mO50a2ms7E/EAdbP0swigLV+nzHKTTaYnaLIWJ02VdXrsJX0vGedDESQnLsOekr94ryfjg==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kysely@0.27.6: + resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==} + engines: {node: '>=14.0.0'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.1.1: + resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} + peerDependencies: + react: ^19.1.1 + + react@19.1.1: + resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} + engines: {node: '>=0.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.50.2: + resolution: {integrity: sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + sass@1.92.1: + resolution: {integrity: sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + sqlite-wasm-kysely@0.3.0: + resolution: {integrity: sha512-TzjBNv7KwRw6E3pdKdlRyZiTmUIE0UttT/Sl56MVwVARl/u5gp978KepazCJZewFUnlWHz9i3NQd4kOtP/Afdg==} + peerDependencies: + kysely: '*' + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typescript-eslint@8.43.0: + resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + unplugin@2.3.10: + resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} + engines: {node: '>=18.12.0'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urlpattern-polyfill@10.1.0: + resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + vite@7.1.5: + resolution: {integrity: sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@biomejs/biome@2.2.4': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 2.2.4 + '@biomejs/cli-darwin-x64': 2.2.4 + '@biomejs/cli-linux-arm64': 2.2.4 + '@biomejs/cli-linux-arm64-musl': 2.2.4 + '@biomejs/cli-linux-x64': 2.2.4 + '@biomejs/cli-linux-x64-musl': 2.2.4 + '@biomejs/cli-win32-arm64': 2.2.4 + '@biomejs/cli-win32-x64': 2.2.4 + + '@biomejs/cli-darwin-arm64@2.2.4': + optional: true + + '@biomejs/cli-darwin-x64@2.2.4': + optional: true + + '@biomejs/cli-linux-arm64-musl@2.2.4': + optional: true + + '@biomejs/cli-linux-arm64@2.2.4': + optional: true + + '@biomejs/cli-linux-x64-musl@2.2.4': + optional: true + + '@biomejs/cli-linux-x64@2.2.4': + optional: true + + '@biomejs/cli-win32-arm64@2.2.4': + optional: true + + '@biomejs/cli-win32-x64@2.2.4': + optional: true + + '@esbuild/aix-ppc64@0.25.9': + optional: true + + '@esbuild/android-arm64@0.25.9': + optional: true + + '@esbuild/android-arm@0.25.9': + optional: true + + '@esbuild/android-x64@0.25.9': + optional: true + + '@esbuild/darwin-arm64@0.25.9': + optional: true + + '@esbuild/darwin-x64@0.25.9': + optional: true + + '@esbuild/freebsd-arm64@0.25.9': + optional: true + + '@esbuild/freebsd-x64@0.25.9': + optional: true + + '@esbuild/linux-arm64@0.25.9': + optional: true + + '@esbuild/linux-arm@0.25.9': + optional: true + + '@esbuild/linux-ia32@0.25.9': + optional: true + + '@esbuild/linux-loong64@0.25.9': + optional: true + + '@esbuild/linux-mips64el@0.25.9': + optional: true + + '@esbuild/linux-ppc64@0.25.9': + optional: true + + '@esbuild/linux-riscv64@0.25.9': + optional: true + + '@esbuild/linux-s390x@0.25.9': + optional: true + + '@esbuild/linux-x64@0.25.9': + optional: true + + '@esbuild/netbsd-arm64@0.25.9': + optional: true + + '@esbuild/netbsd-x64@0.25.9': + optional: true + + '@esbuild/openbsd-arm64@0.25.9': + optional: true + + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': + optional: true + + '@esbuild/sunos-x64@0.25.9': + optional: true + + '@esbuild/win32-arm64@0.25.9': + optional: true + + '@esbuild/win32-ia32@0.25.9': + optional: true + + '@esbuild/win32-x64@0.25.9': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)': + dependencies: + eslint: 9.35.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.3.1': {} + + '@eslint/core@0.15.2': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.35.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.5': + dependencies: + '@eslint/core': 0.15.2 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@inlang/paraglide-js@2.3.2': + dependencies: + '@inlang/recommend-sherlock': 0.2.1 + '@inlang/sdk': 2.4.9 + commander: 11.1.0 + consola: 3.4.0 + json5: 2.2.3 + unplugin: 2.3.10 + urlpattern-polyfill: 10.1.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@inlang/recommend-sherlock@0.2.1': + dependencies: + comment-json: 4.2.5 + + '@inlang/sdk@2.4.9': + dependencies: + '@lix-js/sdk': 0.4.7 + '@sinclair/typebox': 0.31.28 + kysely: 0.27.6 + sqlite-wasm-kysely: 0.3.0(kysely@0.27.6) + uuid: 10.0.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lix-js/sdk@0.4.7': + dependencies: + '@lix-js/server-protocol-schema': 0.1.1 + dedent: 1.5.1 + human-id: 4.1.1 + js-sha256: 0.11.1 + kysely: 0.27.6 + sqlite-wasm-kysely: 0.3.0(kysely@0.27.6) + uuid: 10.0.0 + transitivePeerDependencies: + - babel-plugin-macros + + '@lix-js/server-protocol-schema@0.1.1': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@rolldown/pluginutils@1.0.0-beta.32': {} + + '@rollup/rollup-android-arm-eabi@4.50.2': + optional: true + + '@rollup/rollup-android-arm64@4.50.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.50.2': + optional: true + + '@rollup/rollup-darwin-x64@4.50.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.50.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.50.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.50.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.50.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.50.2': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.50.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.50.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.50.2': + optional: true + + '@rollup/rollup-openharmony-arm64@4.50.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.50.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.50.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.50.2': + optional: true + + '@sinclair/typebox@0.31.28': {} + + '@sqlite.org/sqlite-wasm@3.48.0-build4': {} + + '@swc/core-darwin-arm64@1.13.5': + optional: true + + '@swc/core-darwin-x64@1.13.5': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.13.5': + optional: true + + '@swc/core-linux-arm64-gnu@1.13.5': + optional: true + + '@swc/core-linux-arm64-musl@1.13.5': + optional: true + + '@swc/core-linux-x64-gnu@1.13.5': + optional: true + + '@swc/core-linux-x64-musl@1.13.5': + optional: true + + '@swc/core-win32-arm64-msvc@1.13.5': + optional: true + + '@swc/core-win32-ia32-msvc@1.13.5': + optional: true + + '@swc/core-win32-x64-msvc@1.13.5': + optional: true + + '@swc/core@1.13.5': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.13.5 + '@swc/core-darwin-x64': 1.13.5 + '@swc/core-linux-arm-gnueabihf': 1.13.5 + '@swc/core-linux-arm64-gnu': 1.13.5 + '@swc/core-linux-arm64-musl': 1.13.5 + '@swc/core-linux-x64-gnu': 1.13.5 + '@swc/core-linux-x64-musl': 1.13.5 + '@swc/core-win32-arm64-msvc': 1.13.5 + '@swc/core-win32-ia32-msvc': 1.13.5 + '@swc/core-win32-x64-msvc': 1.13.5 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.25': + dependencies: + '@swc/counter': 0.1.3 + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/react-dom@19.1.9(@types/react@19.1.13)': + dependencies: + '@types/react': 19.1.13 + + '@types/react@19.1.13': + dependencies: + csstype: 3.1.3 + + '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3))(eslint@9.35.0)(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.43.0 + eslint: 9.35.0 + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.43.0 + debug: 4.4.3 + eslint: 9.35.0 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.43.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) + '@typescript-eslint/types': 8.43.0 + debug: 4.4.3 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.43.0': + dependencies: + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 + + '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + debug: 4.4.3 + eslint: 9.35.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.43.0': {} + + '@typescript-eslint/typescript-estree@8.43.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.43.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + eslint: 9.35.0 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.43.0': + dependencies: + '@typescript-eslint/types': 8.43.0 + eslint-visitor-keys: 4.2.1 + + '@vitejs/plugin-react-swc@4.0.1(vite@7.1.5(sass@1.92.1))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.32 + '@swc/core': 1.13.5 + vite: 7.1.5(sass@1.92.1) + transitivePeerDependencies: + - '@swc/helpers' + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + argparse@2.0.1: {} + + array-timsort@1.0.3: {} + + balanced-match@1.0.2: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + callsites@3.1.0: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@11.1.0: {} + + comment-json@4.2.5: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 + + concat-map@0.0.1: {} + + consola@3.4.0: {} + + core-util-is@1.0.3: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.1.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + dedent@1.5.1: {} + + deep-is@0.1.4: {} + + detect-libc@1.0.3: + optional: true + + esbuild@0.25.9: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 + + escape-string-regexp@4.0.0: {} + + eslint-plugin-react-hooks@5.2.0(eslint@9.35.0): + dependencies: + eslint: 9.35.0 + + eslint-plugin-react-refresh@0.4.20(eslint@9.35.0): + dependencies: + eslint: 9.35.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.35.0: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.1 + '@eslint/core': 0.15.2 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.35.0 + '@eslint/plugin-kit': 0.3.5 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + fsevents@2.3.3: + optional: true + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@14.0.0: {} + + globals@16.4.0: {} + + graphemer@1.4.0: {} + + has-flag@4.0.0: {} + + has-own-prop@2.0.0: {} + + human-id@4.1.1: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + immutable@5.1.3: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + isexe@2.0.0: {} + + js-sha256@0.11.1: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kysely@0.27.6: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + node-addon-api@7.1.1: + optional: true + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@19.1.1(react@19.1.1): + dependencies: + react: 19.1.1 + scheduler: 0.26.0 + + react@19.1.1: {} + + readdirp@4.1.2: {} + + repeat-string@1.6.1: {} + + resolve-from@4.0.0: {} + + reusify@1.1.0: {} + + rollup@4.50.2: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.50.2 + '@rollup/rollup-android-arm64': 4.50.2 + '@rollup/rollup-darwin-arm64': 4.50.2 + '@rollup/rollup-darwin-x64': 4.50.2 + '@rollup/rollup-freebsd-arm64': 4.50.2 + '@rollup/rollup-freebsd-x64': 4.50.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.2 + '@rollup/rollup-linux-arm-musleabihf': 4.50.2 + '@rollup/rollup-linux-arm64-gnu': 4.50.2 + '@rollup/rollup-linux-arm64-musl': 4.50.2 + '@rollup/rollup-linux-loong64-gnu': 4.50.2 + '@rollup/rollup-linux-ppc64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-musl': 4.50.2 + '@rollup/rollup-linux-s390x-gnu': 4.50.2 + '@rollup/rollup-linux-x64-gnu': 4.50.2 + '@rollup/rollup-linux-x64-musl': 4.50.2 + '@rollup/rollup-openharmony-arm64': 4.50.2 + '@rollup/rollup-win32-arm64-msvc': 4.50.2 + '@rollup/rollup-win32-ia32-msvc': 4.50.2 + '@rollup/rollup-win32-x64-msvc': 4.50.2 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + sass@1.92.1: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + + scheduler@0.26.0: {} + + semver@7.7.2: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + source-map-js@1.2.1: {} + + sqlite-wasm-kysely@0.3.0(kysely@0.27.6): + dependencies: + '@sqlite.org/sqlite-wasm': 3.48.0-build4 + kysely: 0.27.6 + + strip-json-comments@3.1.1: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-api-utils@2.1.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3))(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + eslint: 9.35.0 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + typescript@5.8.3: {} + + unplugin@2.3.10: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urlpattern-polyfill@10.1.0: {} + + uuid@10.0.0: {} + + vite@7.1.5(sass@1.92.1): + dependencies: + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.50.2 + tinyglobby: 0.2.15 + optionalDependencies: + fsevents: 2.3.3 + sass: 1.92.1 + + webpack-virtual-modules@0.6.2: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + yocto-queue@0.1.0: {} diff --git a/webnext/pnpm-workspace.yaml b/webnext/pnpm-workspace.yaml new file mode 100644 index 00000000..95dab05e --- /dev/null +++ b/webnext/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +onlyBuiltDependencies: + - '@parcel/watcher' + - '@swc/core' + - esbuild diff --git a/webnext/project.inlang/.gitignore b/webnext/project.inlang/.gitignore new file mode 100644 index 00000000..5e465967 --- /dev/null +++ b/webnext/project.inlang/.gitignore @@ -0,0 +1 @@ +cache \ No newline at end of file diff --git a/webnext/project.inlang/project_id b/webnext/project.inlang/project_id new file mode 100644 index 00000000..bf8352df --- /dev/null +++ b/webnext/project.inlang/project_id @@ -0,0 +1 @@ +tfONT6HVsJdzBGusYZ \ No newline at end of file diff --git a/webnext/project.inlang/settings.json b/webnext/project.inlang/settings.json new file mode 100644 index 00000000..62d77adb --- /dev/null +++ b/webnext/project.inlang/settings.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://inlang.com/schema/project-settings", + "baseLocale": "en", + "locales": [ + "en", + "de" + ], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js" + ], + "plugin.inlang.messageFormat": { + "pathPattern": "./messages/{locale}.json" + } +} \ No newline at end of file diff --git a/webnext/public/vite.svg b/webnext/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/webnext/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webnext/src/App.css b/webnext/src/App.css new file mode 100644 index 00000000..b9d355df --- /dev/null +++ b/webnext/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/webnext/src/App.tsx b/webnext/src/App.tsx new file mode 100644 index 00000000..3d7ded3f --- /dev/null +++ b/webnext/src/App.tsx @@ -0,0 +1,35 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> +
+ + Vite logo + + + React logo + +
+

Vite + React

+
+ +

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

+
+

+ Click on the Vite and React logos to learn more +

+ + ) +} + +export default App diff --git a/webnext/src/assets/react.svg b/webnext/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/webnext/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webnext/src/index.css b/webnext/src/index.css new file mode 100644 index 00000000..08a3ac9e --- /dev/null +++ b/webnext/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/webnext/src/main.tsx b/webnext/src/main.tsx new file mode 100644 index 00000000..bef5202a --- /dev/null +++ b/webnext/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.tsx' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/webnext/src/vite-env.d.ts b/webnext/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/webnext/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/webnext/tsconfig.app.json b/webnext/tsconfig.app.json new file mode 100644 index 00000000..4e34ea88 --- /dev/null +++ b/webnext/tsconfig.app.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2022", + "useDefineForClassFields": true, + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], + "module": "ESNext", + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + "allowJs": true, + "checkJs": true + }, + "include": [ + "src" + ] +} diff --git a/webnext/tsconfig.json b/webnext/tsconfig.json new file mode 100644 index 00000000..1ffef600 --- /dev/null +++ b/webnext/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/webnext/tsconfig.node.json b/webnext/tsconfig.node.json new file mode 100644 index 00000000..f85a3990 --- /dev/null +++ b/webnext/tsconfig.node.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2023", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/webnext/vite.config.ts b/webnext/vite.config.ts new file mode 100644 index 00000000..07971650 --- /dev/null +++ b/webnext/vite.config.ts @@ -0,0 +1,8 @@ +import { paraglideVitePlugin } from '@inlang/paraglide-js' +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react-swc' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [paraglideVitePlugin({ project: './project.inlang', outdir: './src/paraglide' }),react()], +}) From 6d9acd11ad79c3959a7d6643eafe4b16dcca729c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=9Al=C4=99zak?= Date: Tue, 16 Sep 2025 11:56:41 +0200 Subject: [PATCH 02/15] fonts, css configuration basis --- webnext/.editorconfig | 11 + webnext/.gitattributes | 36 + webnext/.prettierignore | 4 + webnext/.prettierrc | 8 + webnext/README.md | 69 - webnext/biome.json | 67 + webnext/index.html | 22 +- webnext/messages/de.json | 5 +- webnext/messages/en.json | 5 +- webnext/package.json | 11 + webnext/pnpm-lock.yaml | 1400 ++++++++++++++++- webnext/public/fonts/geist/Geist-Bold.woff2 | Bin 0 -> 42596 bytes .../public/fonts/geist/Geist-BoldItalic.woff2 | Bin 0 -> 43144 bytes webnext/public/fonts/geist/Geist-Medium.woff2 | Bin 0 -> 42444 bytes .../fonts/geist/Geist-MediumItalic.woff2 | Bin 0 -> 43136 bytes .../public/fonts/geist/Geist-Regular.woff2 | Bin 0 -> 41592 bytes .../fonts/geist/Geist-RegularItalic.woff2 | Bin 0 -> 42248 bytes .../public/fonts/geist/Geist-SemiBold.woff2 | Bin 0 -> 42488 bytes .../fonts/geist/Geist-SemiBoldItalic.woff2 | Bin 0 -> 43076 bytes .../SourceCodePro-Regular.woff2 | Bin 0 -> 74052 bytes webnext/public/vite.svg | 1 - webnext/src/App.css | 42 - webnext/src/App.tsx | 35 - webnext/src/app/App.tsx | 12 + webnext/src/app/query.ts | 3 + webnext/src/app/router.ts | 10 + webnext/src/assets/react.svg | 1 - webnext/src/index.css | 68 - webnext/src/main.tsx | 27 +- webnext/src/pages/IndexPage/IndexPage.tsx | 7 + webnext/src/routeTree.gen.ts | 59 + webnext/src/routes/__root.tsx | 9 + webnext/src/routes/index.tsx | 6 + webnext/src/shared/consts.ts | 0 .../defguard-ui/components/Button/Button.tsx | 17 + .../src/shared/defguard-ui/scss/_fonts.scss | 74 + .../defguard-ui/scss/_shared_tokens.scss | 173 ++ .../src/shared/defguard-ui/scss/_themes.scss | 113 ++ .../src/shared/defguard-ui/scss/index.scss | 3 + webnext/vite.config.ts | 14 +- 40 files changed, 2021 insertions(+), 291 deletions(-) create mode 100644 webnext/.editorconfig create mode 100644 webnext/.gitattributes create mode 100644 webnext/.prettierignore create mode 100644 webnext/.prettierrc create mode 100644 webnext/biome.json create mode 100644 webnext/public/fonts/geist/Geist-Bold.woff2 create mode 100644 webnext/public/fonts/geist/Geist-BoldItalic.woff2 create mode 100644 webnext/public/fonts/geist/Geist-Medium.woff2 create mode 100644 webnext/public/fonts/geist/Geist-MediumItalic.woff2 create mode 100644 webnext/public/fonts/geist/Geist-Regular.woff2 create mode 100644 webnext/public/fonts/geist/Geist-RegularItalic.woff2 create mode 100644 webnext/public/fonts/geist/Geist-SemiBold.woff2 create mode 100644 webnext/public/fonts/geist/Geist-SemiBoldItalic.woff2 create mode 100644 webnext/public/fonts/source_code_pro/SourceCodePro-Regular.woff2 delete mode 100644 webnext/public/vite.svg delete mode 100644 webnext/src/App.css delete mode 100644 webnext/src/App.tsx create mode 100644 webnext/src/app/App.tsx create mode 100644 webnext/src/app/query.ts create mode 100644 webnext/src/app/router.ts delete mode 100644 webnext/src/assets/react.svg delete mode 100644 webnext/src/index.css create mode 100644 webnext/src/pages/IndexPage/IndexPage.tsx create mode 100644 webnext/src/routeTree.gen.ts create mode 100644 webnext/src/routes/__root.tsx create mode 100644 webnext/src/routes/index.tsx create mode 100644 webnext/src/shared/consts.ts create mode 100644 webnext/src/shared/defguard-ui/components/Button/Button.tsx create mode 100644 webnext/src/shared/defguard-ui/scss/_fonts.scss create mode 100644 webnext/src/shared/defguard-ui/scss/_shared_tokens.scss create mode 100644 webnext/src/shared/defguard-ui/scss/_themes.scss create mode 100644 webnext/src/shared/defguard-ui/scss/index.scss diff --git a/webnext/.editorconfig b/webnext/.editorconfig new file mode 100644 index 00000000..73f41032 --- /dev/null +++ b/webnext/.editorconfig @@ -0,0 +1,11 @@ +root = false + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.{ts,tsx,js,jsx,scss,html,json,yaml}] +rulers = 90 diff --git a/webnext/.gitattributes b/webnext/.gitattributes new file mode 100644 index 00000000..ee7f45a3 --- /dev/null +++ b/webnext/.gitattributes @@ -0,0 +1,36 @@ +* text=auto eol=lf + +*.js text eol=lf +*.jsx text eol=lf +*.ts text eol=lf +*.tsx text eol=lf +*.css text eol=lf +*.scss text eol=lf +*.json text eol=lf +*.html text eol=lf +*.md text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.lock text eol=lf + +*.woff binary +*.woff2 binary +*.ttf binary +*.otf binary +*.eot binary +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.webp binary +*.avif binary +*.ico binary +*.mp4 binary +*.webm binary +*.ogg binary +*.mp3 binary +*.wav binary +*.pdf binary +*.zip binary +*.tar binary +*.gz binary diff --git a/webnext/.prettierignore b/webnext/.prettierignore new file mode 100644 index 00000000..74dbecd5 --- /dev/null +++ b/webnext/.prettierignore @@ -0,0 +1,4 @@ +/src/i18n/*.ts +/src/i18n/*.tsx +/src/**/*.tsx +/src/**/*.ts diff --git a/webnext/.prettierrc b/webnext/.prettierrc new file mode 100644 index 00000000..71a0f329 --- /dev/null +++ b/webnext/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": true, + "tabWidth": 2, + "singleQuote": true, + "useTabs": false, + "printWidth": 90, + "endOfLine": "lf" +} diff --git a/webnext/README.md b/webnext/README.md index 7959ce42..e69de29b 100644 --- a/webnext/README.md +++ b/webnext/README.md @@ -1,69 +0,0 @@ -# React + TypeScript + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh - -## 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 tseslint.config([ - 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... - }, - }, -]) -``` - -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: - -```js -// eslint.config.js -import reactX from 'eslint-plugin-react-x' -import reactDom from 'eslint-plugin-react-dom' - -export default tseslint.config([ - 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/webnext/biome.json b/webnext/biome.json new file mode 100644 index 00000000..b583f360 --- /dev/null +++ b/webnext/biome.json @@ -0,0 +1,67 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.2.4/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "includes": [ + "src/**", + "!src/messages", + "!src/paraglide/**/*.js", + "!src/routeTree.gen.ts" + ] + }, + "formatter": { + "enabled": true, + "formatWithErrors": false, + "attributePosition": "auto", + "bracketSameLine": false, + "bracketSpacing": true, + "expand": "auto", + "lineEnding": "lf", + "lineWidth": 90, + "indentStyle": "space", + "useEditorconfig": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "a11y": "off", + "correctness": { + "useUniqueElementIds": "off" + }, + "style": { + "useLiteralEnumMembers": "off", + "useBlockStatements": "off" + }, + "suspicious": { + "noArrayIndexKey": "off" + } + } + }, + "javascript": { + "formatter": { + "quoteStyle": "single", + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "all", + "semicolons": "always", + "arrowParentheses": "always", + "attributePosition": "auto", + "bracketSameLine": false, + "bracketSpacing": true + } + }, + "assist": { + "enabled": true, + "actions": { + "source": { + "organizeImports": "on" + } + } + } +} diff --git a/webnext/index.html b/webnext/index.html index e4b78eae..f520ebb8 100644 --- a/webnext/index.html +++ b/webnext/index.html @@ -1,13 +1,15 @@ - - - - - Vite + React + TS - - -
- - + + + + + Defguard + + + +
+ + + diff --git a/webnext/messages/de.json b/webnext/messages/de.json index 5d24467b..006f618a 100644 --- a/webnext/messages/de.json +++ b/webnext/messages/de.json @@ -1,4 +1,3 @@ { - "$schema": "https://inlang.com/schema/inlang-message-format", - "example_message": "Guten Tag {username}" -} \ No newline at end of file + "$schema": "https://inlang.com/schema/inlang-message-format" +} diff --git a/webnext/messages/en.json b/webnext/messages/en.json index 73a4dee0..006f618a 100644 --- a/webnext/messages/en.json +++ b/webnext/messages/en.json @@ -1,4 +1,3 @@ { - "$schema": "https://inlang.com/schema/inlang-message-format", - "example_message": "Hello world {username}" -} \ No newline at end of file + "$schema": "https://inlang.com/schema/inlang-message-format" +} diff --git a/webnext/package.json b/webnext/package.json index 7c19dcbe..051c4985 100644 --- a/webnext/package.json +++ b/webnext/package.json @@ -10,13 +10,24 @@ "preview": "vite preview" }, "dependencies": { + "@floating-ui/react": "^0.27.16", "@inlang/paraglide-js": "^2.3.2", + "@tanstack/react-devtools": "^0.6.7", + "@tanstack/react-form": "^1.20.0", + "@tanstack/react-query": "^5.87.4", + "@tanstack/react-query-devtools": "^5.87.4", + "@tanstack/react-router": "^1.131.41", + "@tanstack/react-router-devtools": "^1.131.42", + "axios": "^1.12.2", + "clsx": "^2.1.1", + "motion": "^12.23.12", "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@biomejs/biome": "2.2.4", "@inlang/paraglide-js": "2.3.2", + "@tanstack/router-plugin": "^1.131.43", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react-swc": "^4.0.0", diff --git a/webnext/pnpm-lock.yaml b/webnext/pnpm-lock.yaml index ae93da8e..0c52c8a2 100644 --- a/webnext/pnpm-lock.yaml +++ b/webnext/pnpm-lock.yaml @@ -8,9 +8,39 @@ importers: .: dependencies: + '@floating-ui/react': + specifier: ^0.27.16 + version: 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@inlang/paraglide-js': specifier: ^2.3.2 version: 2.3.2 + '@tanstack/react-devtools': + specifier: ^0.6.7 + version: 0.6.7(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9) + '@tanstack/react-form': + specifier: ^1.20.0 + version: 1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/react-query': + specifier: ^5.87.4 + version: 5.87.4(react@19.1.1) + '@tanstack/react-query-devtools': + specifier: ^5.87.4 + version: 5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1) + '@tanstack/react-router': + specifier: ^1.131.41 + version: 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/react-router-devtools': + specifier: ^1.131.42 + version: 1.131.42(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.41)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3) + axios: + specifier: ^1.12.2 + version: 1.12.2 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + motion: + specifier: ^12.23.12 + version: 12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: specifier: ^19.1.1 version: 19.1.1 @@ -21,9 +51,9 @@ importers: '@biomejs/biome': specifier: 2.2.4 version: 2.2.4 - '@eslint/js': - specifier: ^9.33.0 - version: 9.35.0 + '@tanstack/router-plugin': + specifier: ^1.131.43 + version: 1.131.43(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(sass@1.92.1)(tsx@4.20.5)) '@types/react': specifier: ^19.1.10 version: 19.1.13 @@ -32,16 +62,7 @@ importers: version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react-swc': specifier: ^4.0.0 - version: 4.0.1(vite@7.1.5(sass@1.92.1)) - eslint: - specifier: ^9.33.0 - version: 9.35.0 - eslint-plugin-react-hooks: - specifier: ^5.2.0 - version: 5.2.0(eslint@9.35.0) - eslint-plugin-react-refresh: - specifier: ^0.4.20 - version: 0.4.20(eslint@9.35.0) + version: 4.0.1(vite@7.1.5(sass@1.92.1)(tsx@4.20.5)) globals: specifier: ^16.3.0 version: 16.4.0 @@ -56,10 +77,139 @@ importers: version: 8.43.0(eslint@9.35.0)(typescript@5.8.3) vite: specifier: ^7.1.2 - version: 7.1.5(sass@1.92.1) + version: 7.1.5(sass@1.92.1)(tsx@4.20.5) packages: + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.28.3': + resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.28.0': + resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.27.1': + resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + '@biomejs/biome@2.2.4': resolution: {integrity: sha512-TBHU5bUy/Ok6m8c0y3pZiuO/BZoY/OcGxoLlrfQof5s8ISVwbVBdFINPQZyFfKwil8XibYWb7JMwnT8wT4WVPg==} engines: {node: '>=14.21.3'} @@ -307,6 +457,27 @@ packages: resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + + '@floating-ui/react-dom@2.1.6': + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/react@0.27.16': + resolution: {integrity: sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -562,6 +733,26 @@ packages: '@sinclair/typebox@0.31.28': resolution: {integrity: sha512-/s55Jujywdw/Jpan+vsy6JZs1z2ZTGxTmbZTPiuSL2wz9mfzA2gN1zzaqmvfi4pq+uOt7Du85fkiwv5ymW84aQ==} + '@solid-primitives/event-listener@2.4.3': + resolution: {integrity: sha512-h4VqkYFv6Gf+L7SQj+Y6puigL/5DIi7x5q07VZET7AWcS+9/G3WfIE9WheniHWJs51OEkRB43w6lDys5YeFceg==} + peerDependencies: + solid-js: ^1.6.12 + + '@solid-primitives/keyboard@1.3.3': + resolution: {integrity: sha512-9dQHTTgLBqyAI7aavtO+HnpTVJgWQA1ghBSrmLtMu1SMxLPDuLfuNr+Tk5udb4AL4Ojg7h9JrKOGEEDqsJXWJA==} + peerDependencies: + solid-js: ^1.6.12 + + '@solid-primitives/rootless@1.5.2': + resolution: {integrity: sha512-9HULb0QAzL2r47CCad0M+NKFtQ+LrGGNHZfteX/ThdGvKIg2o2GYhBooZubTCd/RTu2l2+Nw4s+dEfiDGvdrrQ==} + peerDependencies: + solid-js: ^1.6.12 + + '@solid-primitives/utils@6.3.2': + resolution: {integrity: sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==} + peerDependencies: + solid-js: ^1.6.12 + '@sqlite.org/sqlite-wasm@3.48.0-build4': resolution: {integrity: sha512-hI6twvUkzOmyGZhQMza1gpfqErZxXRw6JEsiVjUbo7tFanVD+8Oil0Ih3l2nGzHdxPI41zFmfUQG7GHqhciKZQ==} hasBin: true @@ -641,6 +832,137 @@ packages: '@swc/types@0.1.25': resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + '@tanstack/devtools-event-bus@0.3.2': + resolution: {integrity: sha512-yJT2As/drc+Epu0nsqCsJaKaLcaNGufiNxSlp/+/oeTD0jsBxF9/PJBfh66XVpYXkKr97b8689mSu7QMef0Rrw==} + engines: {node: '>=18'} + + '@tanstack/devtools-ui@0.3.4': + resolution: {integrity: sha512-W3FnFhot91c30I/DyZUKSCd5gan5FRe35EvxUrZTxMN3qQ4kOtZSmYi8N8cAP4rmAp54ivv6pvT3LXlpjEeE0w==} + engines: {node: '>=18'} + peerDependencies: + solid-js: '>=1.9.7' + + '@tanstack/devtools@0.6.11': + resolution: {integrity: sha512-H0uxsVsZabx/iyVxSp/6JzP4TbuYpj5kbZXojHZYDzuw1wP5YmzSQvIHm+6ThrFEWKmLpmNdzX6cXY/lJlXKMw==} + engines: {node: '>=18'} + peerDependencies: + solid-js: '>=1.9.7' + + '@tanstack/form-core@1.20.0': + resolution: {integrity: sha512-FGlKvcsusOf4756vtN1EoDI4h50r4/11eTcpF3NcnE04N/bSn2gP7cdhG6tYA0lJWzM9H1pNIzZ86uZ4MHB9eA==} + + '@tanstack/history@1.131.2': + resolution: {integrity: sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw==} + engines: {node: '>=12'} + + '@tanstack/query-core@5.87.4': + resolution: {integrity: sha512-uNsg6zMxraEPDVO2Bn+F3/ctHi+Zsk+MMpcN8h6P7ozqD088F6mFY5TfGM7zuyIrL7HKpDyu6QHfLWiDxh3cuw==} + + '@tanstack/query-devtools@5.87.3': + resolution: {integrity: sha512-LkzxzSr2HS1ALHTgDmJH5eGAVsSQiuwz//VhFW5OqNk0OQ+Fsqba0Tsf+NzWRtXYvpgUqwQr4b2zdFZwxHcGvg==} + + '@tanstack/react-devtools@0.6.7': + resolution: {integrity: sha512-XgBa6USm0xx3rpHE8KOaJMwEv4Pa6WEkHx7uA8mWNknY/i6SzX6o2FlrwbyJ/xeIRTTq3KzIM+APWXQiEUy3wg==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': '>=16.8' + '@types/react-dom': '>=16.8' + react: '>=16.8' + react-dom: '>=16.8' + + '@tanstack/react-form@1.20.0': + resolution: {integrity: sha512-1UfWqEYRnHr4cooGbHiTQqoqus8soNUH+RLD6UyhIQEvomOSQMX0JgX+zGSl08tIugrnWcAnh50n5T9IIs/Evw==} + peerDependencies: + '@tanstack/react-start': ^1.130.10 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@tanstack/react-start': + optional: true + + '@tanstack/react-query-devtools@5.87.4': + resolution: {integrity: sha512-JYcnVJBBW1DCPyNGM0S2CyrLpe6KFiL2gpYd/k9tAp62Du7+Y27zkzd+dKFyxpFadYaTxsx4kUA7YvnkMLVUoQ==} + peerDependencies: + '@tanstack/react-query': ^5.87.4 + react: ^18 || ^19 + + '@tanstack/react-query@5.87.4': + resolution: {integrity: sha512-T5GT/1ZaNsUXf5I3RhcYuT17I4CPlbZgyLxc/ZGv7ciS6esytlbjb3DgUFO6c8JWYMDpdjSWInyGZUErgzqhcA==} + peerDependencies: + react: ^18 || ^19 + + '@tanstack/react-router-devtools@1.131.42': + resolution: {integrity: sha512-7pymFB1CCimRHot2Zp0ZekQjd1iN812V88n9NLPSeiv9sVRtRVIaLphJjDeudx1NNgkfSJPx2lOhz6K38cuZog==} + engines: {node: '>=12'} + peerDependencies: + '@tanstack/react-router': ^1.131.41 + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-router@1.131.41': + resolution: {integrity: sha512-QEbTYpAosiD8e4qEZRr9aJipGSb8pQc+pfZwK6NCD2Tcxwu2oF6MVtwv0bIDLRpZP0VJMBpxXlTRISUDNMNqIA==} + engines: {node: '>=12'} + peerDependencies: + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-store@0.7.5': + resolution: {integrity: sha512-A+WZtEnHZpvbKXm8qR+xndNKywBLez2KKKKEQc7w0Qs45GvY1LpRI3BTZNmELwEVim8+Apf99iEDH2J+MUIzlQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/router-core@1.131.41': + resolution: {integrity: sha512-VoLly00DWM0abKuVPRm8wiwGtRBHOKs6K896fy48Q/KYoDVLs8kRCRjFGS7rGnYC2FIkmmvHqYRqNg7jgCx2yg==} + engines: {node: '>=12'} + + '@tanstack/router-devtools-core@1.131.42': + resolution: {integrity: sha512-o8jKTiwXcUSjmkozcMjIw1yhjVYeXcuQO7DtfgjKW3B85iveH6VzYK+bGEVU7wmLNMuUSe2eI/7RBzJ6a5+MCA==} + engines: {node: '>=12'} + peerDependencies: + '@tanstack/router-core': ^1.131.41 + csstype: ^3.0.10 + solid-js: '>=1.9.5' + tiny-invariant: ^1.3.3 + peerDependenciesMeta: + csstype: + optional: true + + '@tanstack/router-generator@1.131.41': + resolution: {integrity: sha512-HsDkBU1u/KvHrzn76v/9oeyMFuxvVlE3dfIu4fldZbPy/i903DWBwODIDGe6fVUsYtzPPrRvNtbjV18HVz5GCA==} + engines: {node: '>=12'} + + '@tanstack/router-plugin@1.131.43': + resolution: {integrity: sha512-vBPBw5LBl+ogGZnFVyLmH65rYnr88cKRT1WtDZ+QYNsgto/SQbD+JxJgbm8YJdpteo3KZL6zHyZz30nmwbhC4A==} + engines: {node: '>=12'} + peerDependencies: + '@rsbuild/core': '>=1.0.2' + '@tanstack/react-router': ^1.131.41 + vite: '>=5.0.0 || >=6.0.0' + vite-plugin-solid: ^2.11.2 + webpack: '>=5.92.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + '@tanstack/react-router': + optional: true + vite: + optional: true + vite-plugin-solid: + optional: true + webpack: + optional: true + + '@tanstack/router-utils@1.131.2': + resolution: {integrity: sha512-sr3x0d2sx9YIJoVth0QnfEcAcl+39sQYaNQxThtHmRpyeFYNyM2TTH+Ud3TNEnI3bbzmLYEUD+7YqB987GzhDA==} + engines: {node: '>=12'} + + '@tanstack/store@0.7.5': + resolution: {integrity: sha512-qd/OjkjaFRKqKU4Yjipaen/EOB9MyEg6Wr9fW103RBPACf1ZcKhbhcu2S5mj5IgdPib6xFIgCUti/mKVkl+fRw==} + + '@tanstack/virtual-file-routes@1.131.2': + resolution: {integrity: sha512-VEEOxc4mvyu67O+Bl0APtYjwcNRcL9it9B4HKbNgcBTIOEalhk+ufBl4kiqc8WP1sx1+NAaiS+3CcJBhrqaSRg==} + engines: {node: '>=12'} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -737,15 +1059,44 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + engines: {node: '>=14'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + axios@1.12.2: + resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} + + babel-dead-code-elimination@1.0.10: + resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + baseline-browser-mapping@2.8.3: + resolution: {integrity: sha512-mcE+Wr2CAhHNWxXN/DdTI+n4gsPc5QpXpWnyCQWiQYIYZX+ZMJ8juXZgjRa/0/YPJo/NSsgW15/YgmI4nbysYw==} + hasBin: true + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -756,18 +1107,38 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browserslist@4.26.0: + resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + caniuse-lite@1.0.30001741: + resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -775,6 +1146,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -790,6 +1165,12 @@ packages: resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -809,6 +1190,9 @@ packages: supports-color: optional: true + decode-formdata@0.9.0: + resolution: {integrity: sha512-q5uwOjR3Um5YD+ZWPOF/1sGHVW9A5rCrRwITQChRXlmPkxDFBqCm4jNTIVdGHNH9OnR+V9MoZVgRhsFb+ARbUw==} + dedent@1.5.1: resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} peerDependencies: @@ -820,31 +1204,58 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} hasBin: true + devalue@5.3.2: + resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==} + + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + engines: {node: '>=0.3.1'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.218: + resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + esbuild@0.25.9: resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-plugin-react-hooks@5.2.0: - resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - - eslint-plugin-react-refresh@0.4.20: - resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} - peerDependencies: - eslint: '>=8.40' - eslint-scope@8.4.0: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -936,11 +1347,56 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + engines: {node: '>= 6'} + + framer-motion@12.23.12: + resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -957,6 +1413,15 @@ packages: resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} engines: {node: '>=18'} + goober@2.1.16: + resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} + peerDependencies: + csstype: ^3.0.10 + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -968,6 +1433,18 @@ packages: resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} engines: {node: '>=8'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + human-id@4.1.1: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true @@ -991,6 +1468,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1003,16 +1484,28 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + isbot@5.1.30: + resolution: {integrity: sha512-3wVJEonAns1OETX83uWsk5IAne2S5zfDcntD2hbtU23LelSqNXzXs9zKjMPOLMzroCgIjCfjYAEHrd2D6FOkiA==} + engines: {node: '>=18'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} js-sha256@0.11.1: resolution: {integrity: sha512-o6WSo/LUvY2uC4j7mO50a2ms7E/EAdbP0swigLV+nzHKTTaYnaLIWJ02VdXrsJX0vGedDESQnLsOekr94ryfjg==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1045,6 +1538,13 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1053,6 +1553,14 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1060,6 +1568,26 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + motion-dom@12.23.12: + resolution: {integrity: sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw==} + + motion-utils@12.23.6: + resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} + + motion@12.23.12: + resolution: {integrity: sha512-8jCD8uW5GD1csOoqh1WhH1A6j5APHVE15nuBkFeRiMzYBdRwyAHmSP/oXSuW0WJPZRXTFdBoG4hY9TFWNhhwng==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1074,6 +1602,13 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -1117,6 +1652,14 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1133,10 +1676,18 @@ packages: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + recast@0.23.11: + resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} + engines: {node: '>= 4'} + repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} @@ -1145,6 +1696,9 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -1165,11 +1719,25 @@ packages: scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true + seroval-plugins@1.3.3: + resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==} + engines: {node: '>=10'} + peerDependencies: + seroval: ^1.0 + + seroval@1.3.2: + resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} + engines: {node: '>=10'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1178,10 +1746,21 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + solid-js@1.9.9: + resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + sqlite-wasm-kysely@0.3.0: resolution: {integrity: sha512-TzjBNv7KwRw6E3pdKdlRyZiTmUIE0UttT/Sl56MVwVARl/u5gp978KepazCJZewFUnlWHz9i3NQd4kOtP/Afdg==} peerDependencies: @@ -1195,6 +1774,15 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -1209,6 +1797,14 @@ packages: peerDependencies: typescript: '>=4.8.4' + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.20.5: + resolution: {integrity: sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==} + engines: {node: '>=18.0.0'} + hasBin: true + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -1229,12 +1825,23 @@ packages: resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} engines: {node: '>=18.12.0'} + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} urlpattern-polyfill@10.1.0: resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true @@ -1291,31 +1898,235 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} -snapshots: + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - '@biomejs/biome@2.2.4': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.2.4 - '@biomejs/cli-darwin-x64': 2.2.4 - '@biomejs/cli-linux-arm64': 2.2.4 - '@biomejs/cli-linux-arm64-musl': 2.2.4 - '@biomejs/cli-linux-x64': 2.2.4 - '@biomejs/cli-linux-x64-musl': 2.2.4 - '@biomejs/cli-win32-arm64': 2.2.4 - '@biomejs/cli-win32-x64': 2.2.4 +snapshots: - '@biomejs/cli-darwin-arm64@2.2.4': - optional: true + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@biomejs/cli-darwin-x64@2.2.4': - optional: true + '@babel/compat-data@7.28.4': {} - '@biomejs/cli-linux-arm64-musl@2.2.4': - optional: true + '@babel/core@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.4 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.4 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.26.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.4 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@biomejs/biome@2.2.4': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 2.2.4 + '@biomejs/cli-darwin-x64': 2.2.4 + '@biomejs/cli-linux-arm64': 2.2.4 + '@biomejs/cli-linux-arm64-musl': 2.2.4 + '@biomejs/cli-linux-x64': 2.2.4 + '@biomejs/cli-linux-x64-musl': 2.2.4 + '@biomejs/cli-win32-arm64': 2.2.4 + '@biomejs/cli-win32-x64': 2.2.4 + + '@biomejs/cli-darwin-arm64@2.2.4': + optional: true + + '@biomejs/cli-darwin-x64@2.2.4': + optional: true + + '@biomejs/cli-linux-arm64-musl@2.2.4': + optional: true '@biomejs/cli-linux-arm64@2.2.4': optional: true @@ -1454,6 +2265,31 @@ snapshots: '@eslint/core': 0.15.2 levn: 0.4.1 + '@floating-ui/core@1.7.3': + dependencies: + '@floating-ui/utils': 0.2.10 + + '@floating-ui/dom@1.7.4': + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + + '@floating-ui/react-dom@2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@floating-ui/dom': 1.7.4 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + + '@floating-ui/react@0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@floating-ui/utils': 0.2.10 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tabbable: 6.2.0 + + '@floating-ui/utils@0.2.10': {} + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.7': @@ -1664,6 +2500,27 @@ snapshots: '@sinclair/typebox@0.31.28': {} + '@solid-primitives/event-listener@2.4.3(solid-js@1.9.9)': + dependencies: + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) + solid-js: 1.9.9 + + '@solid-primitives/keyboard@1.3.3(solid-js@1.9.9)': + dependencies: + '@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9) + '@solid-primitives/rootless': 1.5.2(solid-js@1.9.9) + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) + solid-js: 1.9.9 + + '@solid-primitives/rootless@1.5.2(solid-js@1.9.9)': + dependencies: + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) + solid-js: 1.9.9 + + '@solid-primitives/utils@6.3.2(solid-js@1.9.9)': + dependencies: + solid-js: 1.9.9 + '@sqlite.org/sqlite-wasm@3.48.0-build4': {} '@swc/core-darwin-arm64@1.13.5': @@ -1718,6 +2575,178 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@tanstack/devtools-event-bus@0.3.2': + dependencies: + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@tanstack/devtools-ui@0.3.4(csstype@3.1.3)(solid-js@1.9.9)': + dependencies: + clsx: 2.1.1 + goober: 2.1.16(csstype@3.1.3) + solid-js: 1.9.9 + transitivePeerDependencies: + - csstype + + '@tanstack/devtools@0.6.11(csstype@3.1.3)(solid-js@1.9.9)': + dependencies: + '@solid-primitives/keyboard': 1.3.3(solid-js@1.9.9) + '@tanstack/devtools-event-bus': 0.3.2 + '@tanstack/devtools-ui': 0.3.4(csstype@3.1.3)(solid-js@1.9.9) + clsx: 2.1.1 + goober: 2.1.16(csstype@3.1.3) + solid-js: 1.9.9 + transitivePeerDependencies: + - bufferutil + - csstype + - utf-8-validate + + '@tanstack/form-core@1.20.0': + dependencies: + '@tanstack/store': 0.7.5 + + '@tanstack/history@1.131.2': {} + + '@tanstack/query-core@5.87.4': {} + + '@tanstack/query-devtools@5.87.3': {} + + '@tanstack/react-devtools@0.6.7(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)': + dependencies: + '@tanstack/devtools': 0.6.11(csstype@3.1.3)(solid-js@1.9.9) + '@types/react': 19.1.13 + '@types/react-dom': 19.1.9(@types/react@19.1.13) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + transitivePeerDependencies: + - bufferutil + - csstype + - solid-js + - utf-8-validate + + '@tanstack/react-form@1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tanstack/form-core': 1.20.0 + '@tanstack/react-store': 0.7.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + decode-formdata: 0.9.0 + devalue: 5.3.2 + react: 19.1.1 + transitivePeerDependencies: + - react-dom + + '@tanstack/react-query-devtools@5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1)': + dependencies: + '@tanstack/query-devtools': 5.87.3 + '@tanstack/react-query': 5.87.4(react@19.1.1) + react: 19.1.1 + + '@tanstack/react-query@5.87.4(react@19.1.1)': + dependencies: + '@tanstack/query-core': 5.87.4 + react: 19.1.1 + + '@tanstack/react-router-devtools@1.131.42(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.41)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3)': + dependencies: + '@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-devtools-core': 1.131.42(@tanstack/router-core@1.131.41)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + transitivePeerDependencies: + - '@tanstack/router-core' + - csstype + - solid-js + - tiny-invariant + + '@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tanstack/history': 1.131.2 + '@tanstack/react-store': 0.7.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-core': 1.131.41 + isbot: 5.1.30 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + '@tanstack/react-store@0.7.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tanstack/store': 0.7.5 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + use-sync-external-store: 1.5.0(react@19.1.1) + + '@tanstack/router-core@1.131.41': + dependencies: + '@tanstack/history': 1.131.2 + '@tanstack/store': 0.7.5 + cookie-es: 1.2.2 + seroval: 1.3.2 + seroval-plugins: 1.3.3(seroval@1.3.2) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + '@tanstack/router-devtools-core@1.131.42(@tanstack/router-core@1.131.41)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3)': + dependencies: + '@tanstack/router-core': 1.131.41 + clsx: 2.1.1 + goober: 2.1.16(csstype@3.1.3) + solid-js: 1.9.9 + tiny-invariant: 1.3.3 + optionalDependencies: + csstype: 3.1.3 + + '@tanstack/router-generator@1.131.41': + dependencies: + '@tanstack/router-core': 1.131.41 + '@tanstack/router-utils': 1.131.2 + '@tanstack/virtual-file-routes': 1.131.2 + prettier: 3.6.2 + recast: 0.23.11 + source-map: 0.7.6 + tsx: 4.20.5 + zod: 3.25.76 + transitivePeerDependencies: + - supports-color + + '@tanstack/router-plugin@1.131.43(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(sass@1.92.1)(tsx@4.20.5))': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@tanstack/router-core': 1.131.41 + '@tanstack/router-generator': 1.131.41 + '@tanstack/router-utils': 1.131.2 + '@tanstack/virtual-file-routes': 1.131.2 + babel-dead-code-elimination: 1.0.10 + chokidar: 3.6.0 + unplugin: 2.3.10 + zod: 3.25.76 + optionalDependencies: + '@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + vite: 7.1.5(sass@1.92.1)(tsx@4.20.5) + transitivePeerDependencies: + - supports-color + + '@tanstack/router-utils@1.131.2': + dependencies: + '@babel/core': 7.28.4 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) + ansis: 4.1.0 + diff: 8.0.2 + transitivePeerDependencies: + - supports-color + + '@tanstack/store@0.7.5': {} + + '@tanstack/virtual-file-routes@1.131.2': {} + '@types/estree@1.0.8': {} '@types/json-schema@7.0.15': {} @@ -1823,11 +2852,11 @@ snapshots: '@typescript-eslint/types': 8.43.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-react-swc@4.0.1(vite@7.1.5(sass@1.92.1))': + '@vitejs/plugin-react-swc@4.0.1(vite@7.1.5(sass@1.92.1)(tsx@4.20.5))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.32 '@swc/core': 1.13.5 - vite: 7.1.5(sass@1.92.1) + vite: 7.1.5(sass@1.92.1)(tsx@4.20.5) transitivePeerDependencies: - '@swc/helpers' @@ -1848,12 +2877,46 @@ snapshots: dependencies: color-convert: 2.0.1 + ansis@4.1.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + argparse@2.0.1: {} array-timsort@1.0.3: {} + ast-types@0.16.1: + dependencies: + tslib: 2.8.1 + + asynckit@0.4.0: {} + + axios@1.12.2: + dependencies: + follow-redirects: 1.15.11 + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-dead-code-elimination@1.0.10: + dependencies: + '@babel/core': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + balanced-match@1.0.2: {} + baseline-browser-mapping@2.8.3: {} + + binary-extensions@2.3.0: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -1867,23 +2930,56 @@ snapshots: dependencies: fill-range: 7.1.1 + browserslist@4.26.0: + dependencies: + baseline-browser-mapping: 2.8.3 + caniuse-lite: 1.0.30001741 + electron-to-chromium: 1.5.218 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.0) + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + callsites@3.1.0: {} + caniuse-lite@1.0.30001741: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 + clsx@2.1.1: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + commander@11.1.0: {} comment-json@4.2.5: @@ -1898,6 +2994,10 @@ snapshots: consola@3.4.0: {} + convert-source-map@2.0.0: {} + + cookie-es@1.2.2: {} + core-util-is@1.0.3: {} cross-spawn@7.0.6: @@ -1912,13 +3012,44 @@ snapshots: dependencies: ms: 2.1.3 + decode-formdata@0.9.0: {} + dedent@1.5.1: {} deep-is@0.1.4: {} + delayed-stream@1.0.0: {} + detect-libc@1.0.3: optional: true + devalue@5.3.2: {} + + diff@8.0.2: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.218: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + esbuild@0.25.9: optionalDependencies: '@esbuild/aix-ppc64': 0.25.9 @@ -1948,15 +3079,9 @@ snapshots: '@esbuild/win32-ia32': 0.25.9 '@esbuild/win32-x64': 0.25.9 - escape-string-regexp@4.0.0: {} + escalade@3.2.0: {} - eslint-plugin-react-hooks@5.2.0(eslint@9.35.0): - dependencies: - eslint: 9.35.0 - - eslint-plugin-react-refresh@0.4.20(eslint@9.35.0): - dependencies: - eslint: 9.35.0 + escape-string-regexp@4.0.0: {} eslint-scope@8.4.0: dependencies: @@ -2069,9 +3194,54 @@ snapshots: flatted@3.3.3: {} + follow-redirects@1.15.11: {} + + form-data@4.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + framer-motion@12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + motion-dom: 12.23.12 + motion-utils: 12.23.6 + tslib: 2.8.1 + optionalDependencies: + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + fsevents@2.3.3: optional: true + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + 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 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-tsconfig@4.10.1: + dependencies: + resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -2084,12 +3254,28 @@ snapshots: globals@16.4.0: {} + goober@2.1.16(csstype@3.1.3): + dependencies: + csstype: 3.1.3 + + gopd@1.2.0: {} + graphemer@1.4.0: {} has-flag@4.0.0: {} has-own-prop@2.0.0: {} + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + human-id@4.1.1: {} ignore@5.3.2: {} @@ -2105,6 +3291,10 @@ snapshots: imurmurhash@0.1.4: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-extglob@2.1.1: {} is-glob@4.0.3: @@ -2113,14 +3303,20 @@ snapshots: is-number@7.0.0: {} + isbot@5.1.30: {} + isexe@2.0.0: {} js-sha256@0.11.1: {} + js-tokens@4.0.0: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} @@ -2146,6 +3342,12 @@ snapshots: lodash.merge@4.6.2: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + math-intrinsics@1.1.0: {} + merge2@1.4.1: {} micromatch@4.0.8: @@ -2153,6 +3355,12 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -2161,6 +3369,20 @@ snapshots: dependencies: brace-expansion: 2.0.2 + motion-dom@12.23.12: + dependencies: + motion-utils: 12.23.6 + + motion-utils@12.23.6: {} + + motion@12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + framer-motion: 12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + tslib: 2.8.1 + optionalDependencies: + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + ms@2.1.3: {} nanoid@3.3.11: {} @@ -2170,6 +3392,10 @@ snapshots: node-addon-api@7.1.1: optional: true + node-releases@2.0.21: {} + + normalize-path@3.0.0: {} + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -2209,6 +3435,10 @@ snapshots: prelude-ls@1.2.1: {} + prettier@3.6.2: {} + + proxy-from-env@1.1.0: {} + punycode@2.3.1: {} queue-microtask@1.2.3: {} @@ -2220,12 +3450,26 @@ snapshots: react@19.1.1: {} + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + readdirp@4.1.2: {} + recast@0.23.11: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + repeat-string@1.6.1: {} resolve-from@4.0.0: {} + resolve-pkg-maps@1.0.0: {} + reusify@1.1.0: {} rollup@4.50.2: @@ -2269,16 +3513,34 @@ snapshots: scheduler@0.26.0: {} + semver@6.3.1: {} + semver@7.7.2: {} + seroval-plugins@1.3.3(seroval@1.3.2): + dependencies: + seroval: 1.3.2 + + seroval@1.3.2: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} + solid-js@1.9.9: + dependencies: + csstype: 3.1.3 + seroval: 1.3.2 + seroval-plugins: 1.3.3(seroval@1.3.2) + source-map-js@1.2.1: {} + source-map@0.6.1: {} + + source-map@0.7.6: {} + sqlite-wasm-kysely@0.3.0(kysely@0.27.6): dependencies: '@sqlite.org/sqlite-wasm': 3.48.0-build4 @@ -2290,6 +3552,12 @@ snapshots: dependencies: has-flag: 4.0.0 + tabbable@6.2.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -2303,6 +3571,15 @@ snapshots: dependencies: typescript: 5.8.3 + tslib@2.8.1: {} + + tsx@4.20.5: + dependencies: + esbuild: 0.25.9 + get-tsconfig: 4.10.1 + optionalDependencies: + fsevents: 2.3.3 + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -2327,15 +3604,25 @@ snapshots: picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 + update-browserslist-db@1.1.3(browserslist@4.26.0): + dependencies: + browserslist: 4.26.0 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 urlpattern-polyfill@10.1.0: {} + use-sync-external-store@1.5.0(react@19.1.1): + dependencies: + react: 19.1.1 + uuid@10.0.0: {} - vite@7.1.5(sass@1.92.1): + vite@7.1.5(sass@1.92.1)(tsx@4.20.5): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -2346,6 +3633,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 sass: 1.92.1 + tsx: 4.20.5 webpack-virtual-modules@0.6.2: {} @@ -2355,4 +3643,10 @@ snapshots: word-wrap@1.2.5: {} + ws@8.18.3: {} + + yallist@3.1.1: {} + yocto-queue@0.1.0: {} + + zod@3.25.76: {} diff --git a/webnext/public/fonts/geist/Geist-Bold.woff2 b/webnext/public/fonts/geist/Geist-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..46f524f4ffe6cc59bbb66dfc4b933c98ea98d79c GIT binary patch literal 42596 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 literal 0 HcmV?d00001 diff --git a/webnext/public/fonts/geist/Geist-BoldItalic.woff2 b/webnext/public/fonts/geist/Geist-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..240acb99e7f8faef65923c9ba54cf8d6fba4e7d5 GIT binary patch literal 43144 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 E09B1k6#xJL literal 0 HcmV?d00001 diff --git a/webnext/public/fonts/geist/Geist-Medium.woff2 b/webnext/public/fonts/geist/Geist-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ef6dbb21156083d34f49777e0abc16c1e2583d6b GIT binary patch literal 42444 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 literal 0 HcmV?d00001 diff --git a/webnext/public/fonts/geist/Geist-MediumItalic.woff2 b/webnext/public/fonts/geist/Geist-MediumItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..344fedaf930f0c1abc1b6c2804b6008f04c480bb GIT binary patch literal 43136 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 jd|6{r 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 literal 0 HcmV?d00001 diff --git a/webnext/public/fonts/geist/Geist-SemiBold.woff2 b/webnext/public/fonts/geist/Geist-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..83845230394cf20fbe0f7ecf631bd0dda5a7c871 GIT binary patch literal 42488 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 Y_aFXWBme2g^la|Wv(FR1dI|sl0L(0scmMzZ literal 0 HcmV?d00001 diff --git a/webnext/public/fonts/geist/Geist-SemiBoldItalic.woff2 b/webnext/public/fonts/geist/Geist-SemiBoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f53ced420091394b417e1b70fbd495033a01388 GIT binary patch literal 43076 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

K+^{$}hu*DPFI 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 Bf)fA$ literal 0 HcmV?d00001 diff --git a/webnext/public/vite.svg b/webnext/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/webnext/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webnext/src/App.css b/webnext/src/App.css deleted file mode 100644 index b9d355df..00000000 --- a/webnext/src/App.css +++ /dev/null @@ -1,42 +0,0 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} diff --git a/webnext/src/App.tsx b/webnext/src/App.tsx deleted file mode 100644 index 3d7ded3f..00000000 --- a/webnext/src/App.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from '/vite.svg' -import './App.css' - -function App() { - const [count, setCount] = useState(0) - - return ( - <> -

-

Vite + React

-
- -

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

-
-

- Click on the Vite and React logos to learn more -

- - ) -} - -export default App diff --git a/webnext/src/app/App.tsx b/webnext/src/app/App.tsx new file mode 100644 index 00000000..ada329c7 --- /dev/null +++ b/webnext/src/app/App.tsx @@ -0,0 +1,12 @@ +import { QueryClientProvider } from '@tanstack/react-query'; +import { RouterProvider } from '@tanstack/react-router'; +import { queryClient } from './query'; +import { router } from './router'; + +export const App = () => { + return ( + + + + ); +}; diff --git a/webnext/src/app/query.ts b/webnext/src/app/query.ts new file mode 100644 index 00000000..6d46de59 --- /dev/null +++ b/webnext/src/app/query.ts @@ -0,0 +1,3 @@ +import { QueryClient } from '@tanstack/react-query'; + +export const queryClient = new QueryClient(); diff --git a/webnext/src/app/router.ts b/webnext/src/app/router.ts new file mode 100644 index 00000000..aa5e64d8 --- /dev/null +++ b/webnext/src/app/router.ts @@ -0,0 +1,10 @@ +import { createRouter } from '@tanstack/react-router'; +import { routeTree } from '../routeTree.gen'; + +export const router = createRouter({ routeTree }); + +declare module '@tanstack/react-router' { + interface Register { + router: typeof router; + } +} diff --git a/webnext/src/assets/react.svg b/webnext/src/assets/react.svg deleted file mode 100644 index 6c87de9b..00000000 --- a/webnext/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webnext/src/index.css b/webnext/src/index.css deleted file mode 100644 index 08a3ac9e..00000000 --- a/webnext/src/index.css +++ /dev/null @@ -1,68 +0,0 @@ -:root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/webnext/src/main.tsx b/webnext/src/main.tsx index bef5202a..abcf38d5 100644 --- a/webnext/src/main.tsx +++ b/webnext/src/main.tsx @@ -1,10 +1,27 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.tsx' +import './shared/defguard-ui/scss/index.scss'; +import { TanStackDevtools } from '@tanstack/react-devtools'; +import { ReactQueryDevtoolsPanel } from '@tanstack/react-query-devtools'; +import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools'; +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { App } from './app/App'; + +// biome-ignore lint/style/noNonNullAssertion: always there createRoot(document.getElementById('root')!).render( + , + }, + { + name: 'TanStack Query', + render: , + }, + ]} + /> , -) +); diff --git a/webnext/src/pages/IndexPage/IndexPage.tsx b/webnext/src/pages/IndexPage/IndexPage.tsx new file mode 100644 index 00000000..f2ebb9f6 --- /dev/null +++ b/webnext/src/pages/IndexPage/IndexPage.tsx @@ -0,0 +1,7 @@ +export const IndexPage = () => { + return ( +
+

Home page!

+
+ ); +}; diff --git a/webnext/src/routeTree.gen.ts b/webnext/src/routeTree.gen.ts new file mode 100644 index 00000000..e3c97c56 --- /dev/null +++ b/webnext/src/routeTree.gen.ts @@ -0,0 +1,59 @@ +/* eslint-disable */ + +// @ts-nocheck + +// noinspection JSUnusedGlobalSymbols + +// This file was automatically generated by TanStack Router. +// You should NOT make any changes in this file as it will be overwritten. +// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. + +import { Route as rootRouteImport } from './routes/__root'; +import { Route as IndexRouteImport } from './routes/index'; + +const IndexRoute = IndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => rootRouteImport, +} as any); + +export interface FileRoutesByFullPath { + '/': typeof IndexRoute; +} +export interface FileRoutesByTo { + '/': typeof IndexRoute; +} +export interface FileRoutesById { + __root__: typeof rootRouteImport; + '/': typeof IndexRoute; +} +export interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath; + fullPaths: '/'; + fileRoutesByTo: FileRoutesByTo; + to: '/'; + id: '__root__' | '/'; + fileRoutesById: FileRoutesById; +} +export interface RootRouteChildren { + IndexRoute: typeof IndexRoute; +} + +declare module '@tanstack/react-router' { + interface FileRoutesByPath { + '/': { + id: '/'; + path: '/'; + fullPath: '/'; + preLoaderRoute: typeof IndexRouteImport; + parentRoute: typeof rootRouteImport; + }; + } +} + +const rootRouteChildren: RootRouteChildren = { + IndexRoute: IndexRoute, +}; +export const routeTree = rootRouteImport + ._addFileChildren(rootRouteChildren) + ._addFileTypes(); diff --git a/webnext/src/routes/__root.tsx b/webnext/src/routes/__root.tsx new file mode 100644 index 00000000..50ac8942 --- /dev/null +++ b/webnext/src/routes/__root.tsx @@ -0,0 +1,9 @@ +import { createRootRoute, Outlet } from '@tanstack/react-router'; + +export const Route = createRootRoute({ + component: RootComponent, +}); + +function RootComponent() { + return ; +} diff --git a/webnext/src/routes/index.tsx b/webnext/src/routes/index.tsx new file mode 100644 index 00000000..6becf904 --- /dev/null +++ b/webnext/src/routes/index.tsx @@ -0,0 +1,6 @@ +import { createFileRoute } from '@tanstack/react-router'; +import { IndexPage } from '../pages/IndexPage/IndexPage'; + +export const Route = createFileRoute('/')({ + component: IndexPage, +}); diff --git a/webnext/src/shared/consts.ts b/webnext/src/shared/consts.ts new file mode 100644 index 00000000..e69de29b diff --git a/webnext/src/shared/defguard-ui/components/Button/Button.tsx b/webnext/src/shared/defguard-ui/components/Button/Button.tsx new file mode 100644 index 00000000..6efd75d6 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Button/Button.tsx @@ -0,0 +1,17 @@ +import { clsx } from 'clsx'; + +type ButtonVariant = '' | ''; + +type Props = { + text: string; + variant: ButtonVariant; +}; + +export const Button = ({}: Props) => { + return ( + + ); +}; diff --git a/webnext/src/shared/defguard-ui/scss/_fonts.scss b/webnext/src/shared/defguard-ui/scss/_fonts.scss new file mode 100644 index 00000000..23b3fd10 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/_fonts.scss @@ -0,0 +1,74 @@ +// fonts.scss +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-RegularItalic.woff2") format("woff2"); + font-weight: 400; + font-style: italic; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-Medium.woff2") format("woff2"); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-MediumItalic.woff2") format("woff2"); + font-weight: 500; + font-style: italic; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-SemiBold.woff2") format("woff2"); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-SemiBoldItalic.woff2") format("woff2"); + font-weight: 600; + font-style: italic; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-Bold.woff2") format("woff2"); + font-weight: 700; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Geist"; + src: url("/fonts/geist/Geist-BoldItalic.woff2") format("woff2"); + font-weight: 700; + font-style: italic; + font-display: swap; +} + +// source-code-pro + +@font-face { + font-family: "Source Code Pro"; + src: url("/fonts/source_code_pro/SourceCodePro-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; + font-display: swap; +} diff --git a/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss b/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss new file mode 100644 index 00000000..932c06aa --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss @@ -0,0 +1,173 @@ +:root { + // font settings + --font-family-title: Geist, system-ui, sans-serif; + --font-family-body: Geist, system-ui, sans-serif; + --font-family-component: Geist, system-ui, sans-serif; + --font-family-code: "Source Code Pro", system-ui, sans-serif; + + --t-body-xxs-600: 600 11px/14px var(--font-family-body); + --t-body-xxs-400: 400 11px/14px var(--font-family-body); + + --t-body-xs-600: 600 12px/16px var(--font-family-body); + --t-body-xs-500: 500 12px/16px var(--font-family-body); + --t-body-xs-400: 400 12px/16px var(--font-family-body); + + --t-body-sm-600: 600 14px/20px var(--font-family-body); + --t-body-sm-500: 500 14px/20px var(--font-family-body); + --t-body-sm-400: 400 14px/20px var(--font-family-body); + + --t-body-primary-400: 400 16px/24px var(--font-family-body); + --t-body-primary-600: 600 16px/24px var(--font-family-body); + --t-body-primary-500: 500 16px/24px var(--font-family-body); + + --t-title-h5: 600 18px/28px var(--font-family-title); + --t-title-h4: 600 20px/28px var(--font-family-title); + --t-title-h3: 600 24px/32px var(--font-family-title); + --t-title-h2: 600 28px/40px var(--font-family-title); + --t-title-h1: 600 32px/44px var(--font-family-title); + + // border width + --border-1: 1px; + --border-2: 2px; + + // border-radius + --radius-sm: 4px; + --radius-md: 8px; + --radius-lg: 12px; + --radius-xl: 16px; + --radius-xxl: 24px; + --radius-xxxl: 32px; + --radius-full: 100px; + + // scale + --size-xs: 16px; + --size-sm: 20px; + --size-md: 24px; + --size-xl: 32px; + --size-2xl: 36px; + --size-3xl: 40px; + --size-4xl: 44px; + --size-5xl: 60px; + + // spacing + --spacing-xs: 4px; + --spacing-sm: 8px; + --spacing-md: 12px; + --spacing-lg: 16px; + --spacing-xl: 20px; + --spacing-2xl: 24px; + --spacing-3xl: 32px; + --spacing-4xl: 40px; + --spacing-5xl: 48px; + --spacing-6xl: 64px; + --spacing-7xl: 80px; + --spacing-8xl: 96px; + --spacing-9xl: 120px; + + // color basis + --c-neutral-1400: rgba(20, 21, 23); + --c-neutral-1300: rgba(25, 26, 28); + --c-neutral-1200: rgba(36, 38, 41); + --c-neutral-1100: rgba(46, 49, 54); + --c-neutral-1000: rgba(50, 54, 60); + --c-neutral-900: rgba(61, 67, 75); + --c-neutral-800: rgba(74, 80, 89); + --c-neutral-700: rgba(94, 102, 114); + --c-neutral-600: rgba(126, 135, 148); + --c-neutral-500: rgba(147, 156, 169); + --c-neutral-400: rgba(162, 172, 186); + --c-neutral-300: rgba(184, 192, 205); + --c-neutral-200: rgba(223, 227, 233); + --c-neutral-100: rgba(240, 242, 245); + --c-neutral-50: rgba(247, 248, 250); + + --c-white: rgba(255, 255, 255); + --c-white-50: rgba(255, 255, 255, 0.5); + --c-transparent: rgba(0, 0, 0, 0); + + --c-additional-error: rgba(204, 60, 60); + --c-additional-warning: rgba(255, 149, 0); + --c-additional-success: rgba(3, 128, 38); + --c-additional-code: rgba(112, 75, 172); + + --c-green-700: rgba(2, 78, 23); + --c-green-600: rgba(2, 90, 27); + --c-green-500: rgba(3, 128, 38); + --c-green-400: rgba(46, 150, 75); + --c-green-300: rgba(109, 181, 129); + --c-green-200: rgba(152, 203, 166); + --c-green-100: rgba(230, 242, 233); + --c-green-500-transparent: rgba(3, 128, 38, 0.08); + + --c-orange-700: rgba(156, 91, 0); + --c-orange-600: rgba(179, 104, 0); + --c-orange-500: rgba(255, 149, 0); + --c-orange-400: rgba(255, 167, 43); + --c-orange-300: rgba(255, 194, 107); + --c-orange-200: rgba(255, 212, 150); + --c-orange-100: rgba(255, 244, 230); + --c-orange-500-transparent: rgba(255, 149, 0, 0.08); + + --c-violet-700: rgba(53, 36, 82); + --c-violet-600: rgba(83, 55, 128); + --c-violet-500: rgba(102, 55, 178); + --c-violet-400: rgba(136, 106, 186); + --c-violet-300: rgba(172, 151, 207); + --c-violet-200: rgba(196, 181, 221); + --c-violet-100: rgba(241, 237, 247); + + --c-blue-700: rgba(38, 57, 115); + --c-blue-600: rgba(51, 77, 156); + --c-blue-500: rgba(57, 97, 219); + --c-blue-400: rgba(87, 119, 217); + --c-blue-300: rgba(140, 161, 222); + --c-blue-200: rgba(180, 196, 242); + --c-blue-100: rgba(237, 241, 252); + --c-blue-500-transparent: rgba(50, 92, 219, 0.08); + + --c-red-700: rgba(124, 37, 37); + --c-red-600: rgba(143, 42, 42); + --c-red-500: rgba(204, 60, 60); + --c-red-400: rgba(213, 93, 93); + --c-red-300: rgba(225, 142, 142); + --c-red-200: rgba(234, 175, 175); + --c-red-100: rgba(250, 236, 236); + --c-red-500-transparent: rgba(204, 60, 60, 0.08); + + // Components + + // Menu + --t-menu-title: 600 12px/24px var(--font-family-body); + --t-menu-body: 400 14px/24px var(--font-family-body); + --menu-spacing-icon: var(--spacing-md); + --menu-padding-sides: var(--spacing-sm); + --menu-border-radius-group: var(--radius-lg); + --menu-border-radius-item: var(--radius-md); + --menu-height: var(--size-2xl); + + // Icons + + --icon-size-lg: 32px; + --icon-size: 20px; + --icon-size-xs: 16px; + + // Modals + + --modal-title-size: 16px; + --modal-size-md: 640px; + --modal-size-sm: 480px; + --modal-spacing: var(--spacing-md); + --modal-spacing-sides: var(--spacing-lg); + --modal-border-radius: var(--radius-lg); + + // Buttons + + --t-button-label-lg: 400 16/auto var(--font-family-component); + --t-button-label-primary: 400 14/auto var(--font-family-component); + --button-border-radius-sm: var(--radius-md); + --button-border-radius-primary: var(--radius-md); + --button-border-radius-xl: var(--radius-full); + --button-size-primary: var(--size-2xl); + --button-size-lg: var(--size-4xl); + --button-size-xl: var(--size-5xl); +} diff --git a/webnext/src/shared/defguard-ui/scss/_themes.scss b/webnext/src/shared/defguard-ui/scss/_themes.scss new file mode 100644 index 00000000..f2f3d7c8 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/_themes.scss @@ -0,0 +1,113 @@ +:root[data-theme="light"] { + --theme-bg-default: var(--c-white); + --theme-bg-dark: var(--c-neutral-1300); + --theme-bg-white: var(--c-white); + --theme-bg-faded: var(--c-neutral-300); + --theme-bg-disabled: var(--c-neutral-50); + --theme-bg-muted: var(--c-neutral-50); + --theme-bg-emphasis: var(--c-neutral-100); + --theme-bg-active: var(--c-neutral-200); + --theme-bg-inverted: var(--c-neutral-1300); + + --theme-bg-action: var(--c-blue-500); + --theme-bg-action-emphasis: var(--c-blue-400); + --theme-bg-action-faded: var(--c-blue-300); + --theme-bg-action-muted: var(--c-blue-100); + + --theme-bg-critical-emphasis: var(--c-red-600); + --theme-bg-critical: var(--c-red-500); + --theme-bg-critical-faded: var(--c-red-400); + --theme-bg-critical-muted: var(--c-red-200); + + --theme-bg-success: var(--c-green-500); + --theme-bg-warning: var(--c-orange-500); + + --theme-border-action: var(--c-blue-500); + --theme-border-action-disabled: var(--c-blue-300); + --theme-border-default: var(--c-neutral-200); + --theme-border-disabled: var(--c-neutral-200); + --theme-border-emphasis: var(--c-neutral-500); + --theme-border-muted: var(--c-neutral-200); + --theme-border-faded: var(--c-neutral-400); + --theme-border-critical: var(--c-red-500); + --theme-border-success: var(--c-green-300); + --theme-border-warning: var(--c-orange-300); + + --theme-fg-action: var(--c-blue-500); + --theme-fg-action-emphasis: var(--c-blue-600); + --theme-fg-action-muted: var(--c-blue-300); + --theme-fg-attention: var(--c-orange-500); + --theme-fg-critical: var(--c-red-500); + --theme-fg-critical-muted: var(--c-red-200); + + --theme-fg-default: var(--c-neutral-1400); + --theme-fg-faded: var(--c-neutral-900); + --theme-fg-neutral: var(--c-neutral-800); + --theme-fg-muted: var(--c-neutral-600); + --theme-fg-disabled: var(--c-neutral-500); + + --theme-fg-success: var(--c-green-500); + --theme-fg-success-muted: var(--c-green-100); + --theme-fg-code: var(--c-violet-500); + --theme-fg-inverted: var(--c-white); + --theme-fg-white: var(--c-white); + --theme-fg-white-transparent: var(--c-white-50); + --theme-fg-blue-transparent-2: var(--c-blue-500-transparent); +} + +:root[data-theme="dark"] { + --theme-bg-default: var(--c-neutral-1400); + --theme-bg-dark: var(--c-neutral-1100); + --theme-bg-white: var(--c-white); + --theme-bg-faded: var(--c-neutral-900); + --theme-bg-disabled: var(--c-neutral-1300); + --theme-bg-muted: var(--c-neutral-1200); + --theme-bg-emphasis: var(--c-neutral-1200); + --theme-bg-active: var(--c-neutral-1100); + --theme-bg-inverted: var(--c-neutral-100); + + --theme-bg-action: var(--c-blue-500); + --theme-bg-action-emphasis: var(--c-blue-600); + --theme-bg-action-faded: var(--c-blue-400); + --theme-bg-action-muted: var(--c-blue-300); + + --theme-bg-critical-emphasis: var(--c-red-600); + --theme-bg-critical: var(--c-red-500); + --theme-bg-critical-faded: var(--c-red-400); + --theme-bg-critical-muted: var(--c-red-200); + + --theme-bg-success: var(--c-green-500); + --theme-bg-warning: var(--c-orange-500); + + --theme-border-action: var(--c-blue-500); + --theme-border-action-disabled: var(--c-blue-300); + --theme-border-default: var(--c-neutral-900); + --theme-border-disabled: var(--c-neutral-1000); + --theme-border-emphasis: var(--c-neutral-500); + --theme-border-muted: var(--c-neutral-1100); + --theme-border-faded: var(--c-neutral-800); + --theme-border-critical: var(--c-red-500); + --theme-border-success: var(--c-green-300); + --theme-border-warning: var(--c-orange-300); + + --theme-fg-action: var(--c-blue-500); + --theme-fg-action-emphasis: var(--c-blue-600); + --theme-fg-action-muted: var(--c-blue-300); + --theme-fg-attention: var(--c-orange-500); + --theme-fg-critical: var(--c-red-500); + --theme-fg-critical-muted: var(--c-red-200); + + --theme-fg-default: var(--c-white); + --theme-fg-faded: var(--c-neutral-400); + --theme-fg-neutral: var(--c-neutral-300); + --theme-fg-muted: var(--c-neutral-200); + --theme-fg-disabled: var(--c-neutral-700); + + --theme-fg-success: var(--c-green-500); + --theme-fg-success-muted: var(--c-green-100); + --theme-fg-code: var(--c-violet-500); + --theme-fg-inverted: var(--c-neutral-1400); + --theme-fg-white: var(--c-white); + --theme-fg-white-transparent: var(--c-white-50); + --theme-fg-blue-transparent-2: var(--c-blue-500-transparent); +} diff --git a/webnext/src/shared/defguard-ui/scss/index.scss b/webnext/src/shared/defguard-ui/scss/index.scss new file mode 100644 index 00000000..c543d763 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/index.scss @@ -0,0 +1,3 @@ +@use "./fonts"; +@use "./shared_tokens"; +@use "./themes"; diff --git a/webnext/vite.config.ts b/webnext/vite.config.ts index 07971650..5975141a 100644 --- a/webnext/vite.config.ts +++ b/webnext/vite.config.ts @@ -1,8 +1,20 @@ +import {tanstackRouter} from "@tanstack/router-plugin/vite"; import { paraglideVitePlugin } from '@inlang/paraglide-js' import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' // https://vite.dev/config/ export default defineConfig({ - plugins: [paraglideVitePlugin({ project: './project.inlang', outdir: './src/paraglide' }),react()], + plugins: [ + paraglideVitePlugin({ + project: './project.inlang', + outdir: './src/paraglide', + strategy: ['localStorage', 'preferredLanguage', 'baseLocale'], + }), + tanstackRouter({ + target: "react", + autoCodeSplitting: true, + }), + react(), + ], }) From 950717d964b7537bdb0e03cebc5ed702d0e64a05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=9Al=C4=99zak?= Date: Tue, 16 Sep 2025 16:11:22 +0200 Subject: [PATCH 03/15] icons defs --- .../defguard-ui/components/Icon/Icon.tsx | 86 ++++++++++++++ .../defguard-ui/components/Icon/icon-types.ts | 93 +++++++++++++++ .../components/Icon/icons/IconArrowBig.tsx | 23 ++++ .../components/Icon/icons/IconArrowSmall.tsx | 25 +++++ .../defguard-ui/components/Icon/index.ts | 2 + .../defguard-ui/components/Icon/style.scss | 21 ++++ .../defguard-ui/scss/global/_animate.scss | 9 ++ .../defguard-ui/scss/global/_breakpoints.scss | 106 ++++++++++++++++++ .../shared/defguard-ui/scss/global/index.scss | 2 + webnext/src/shared/defguard-ui/types.ts | 64 +++++++++++ webnext/tsconfig.node.json | 10 +- webnext/vite.config.ts | 13 +++ 12 files changed, 450 insertions(+), 4 deletions(-) create mode 100644 webnext/src/shared/defguard-ui/components/Icon/Icon.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icon-types.ts create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Icon/index.ts create mode 100644 webnext/src/shared/defguard-ui/components/Icon/style.scss create mode 100644 webnext/src/shared/defguard-ui/scss/global/_animate.scss create mode 100644 webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss create mode 100644 webnext/src/shared/defguard-ui/scss/global/index.scss create mode 100644 webnext/src/shared/defguard-ui/types.ts diff --git a/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx b/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx new file mode 100644 index 00000000..3947d476 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx @@ -0,0 +1,86 @@ +import { type CSSProperties, type Ref, useMemo } from 'react'; +import type { IconKind } from './icon-types'; +import './style.scss'; +import type { Direction } from '../../types'; +import { IconArrowBig } from './icons/IconArrowBig'; +import { IconArrowSmall } from './icons/IconArrowSmall'; + +type Props = { + icon: T; + size?: number; + rotationDirection?: Direction; + customRotation?: number; + ref?: Ref; +}; + +type RotationMap = Record; + +const mapRotation = (kind: IconKind, direction: Direction): number => { + switch (kind) { + case 'arrow-small': + case 'arrow-big': { + const map: RotationMap = { + down: 90, + right: 0, + up: -90, + left: 180, + }; + return map[direction]; + } + } + console.error(`Unimplemented rotation mapping for icon kind of ${kind}`); + // safe return for unimplemented + return 0; +}; + +// Color should be set by css bcs some icons have different structures like 'loader' +export const Icon = ({ + icon: iconKind, + rotationDirection, + customRotation, + ref, + size, +}: Props) => { + const IconToRender = useMemo(() => { + switch (iconKind) { + case 'arrow-big': { + return IconArrowBig; + } + case 'arrow-small': + return IconArrowSmall; + default: + throw Error('Unimplemented icon kind'); + } + }, [iconKind]); + + const getStyle = useMemo((): CSSProperties => { + const styles: CSSProperties = {}; + const transform: string[] = []; + // kind specific configurations + switch (iconKind) { + case 'arrow-big': + case 'arrow-small': + if (rotationDirection) { + transform.push(`rotate(${mapRotation(iconKind, rotationDirection)}deg)`); + } + break; + } + if (customRotation && !rotationDirection) { + transform.push(`rotate(${customRotation}deg)`); + } + if (size) { + styles.width = size; + styles.height = size; + } + if (transform.length) { + styles.transform = transform.join(' '); + } + return styles; + }, [iconKind, size, rotationDirection, customRotation]); + + return ( +
+ +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts b/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts new file mode 100644 index 00000000..f48eb35f --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts @@ -0,0 +1,93 @@ +import type { Direction, ThemeKey } from '../../types'; + +export const IconKind = { + ArrowBig: 'arrow-big', + ArrowSmall: 'arrow-small', + PlusCircle: 'plus-circle', + MinusCircle: 'minus-circle', + Edit: 'edit', + Show: 'show', + Analytics: 'analytics', + Search: 'search', + Delete: 'delete', + Transactions: 'transactions', + Copy: 'copy', + Settings: 'settings', + Close: 'close', + Plus: 'plus', + Support: 'support', + Menu: 'menu', + Check: 'check', + Date: 'date', + CreditCard: 'credit-card', + Archive: 'archive', + PieChart: 'pie-chart', + Notification: 'notification', + Globe: 'globe', + Groups: 'groups', + OpenInNewWindow: 'open-in-new-window', + Users: 'users', + Mail: 'mail', + Filter: 'filter', + User: 'user', + LockOpen: 'lock-open', + Servers: 'servers', + Protection: 'protection', + NavigationCollapse: 'navigation-collapse', + NavigationUncollapse: 'navigation-uncollapse', + Devices: 'devices', + Logout: 'logout', + YubiKeys: 'yubi-keys', + OpenId: 'openid', + Webhooks: 'webhooks', + Help: 'help', + ActivityNotes: 'activity-notes', + Activity: 'activity', + AccessSettings: 'access-settings', + Profile: 'profile', + Attension: 'attension', + Warning: 'warning', + Download: 'download', + Code: 'code', + Deploy: 'deploy', + Expand: 'expand', + Collapse: 'collapse', + CheckCircle: 'check-circle', + Location: 'location', + InfoOutlined: 'info-outlined', + InfoFilled: 'info-filled', + LocationPreview: 'location-preview', + AddUser: 'add-user', + QR: 'qr', + File: 'file', + LocationTracking: 'location-tracking', + Config: 'config', + Gift: 'gift', + Hamburger: 'hamburger', + Sort: 'sort', + Gateway: 'gateway', + EmptyPoint: 'empty-point', + DevicesActive: 'devices-active', + UserActive: 'user-active', + Windows: 'windows', + AppStore: 'app-store', + Apple: 'apple', + Desktop: 'desktop', + Mobile: 'mobile', + Android: 'android', + Pdf: 'pdf', + Linux: 'linux', + Clear: 'clear', + CheckFilled: 'check-filled', + Enter: 'enter', + Github: 'github', + OneTimePassword: 'one-time-password', + Loader: 'loader', + ManageKeys: 'manage-keys', + StatusSimple: 'status-simple', + StatusAttention: 'status-attention', + StatusAvailable: 'status-available', + StatusImportant: 'status-important', +} as const; + +export type IconKind = (typeof IconKind)[keyof typeof IconKind]; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx new file mode 100644 index 00000000..1833626a --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx @@ -0,0 +1,23 @@ +import type { SVGProps } from 'react'; +import { ThemeKey } from '../../../types'; + +export const IconArrowBig = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx new file mode 100644 index 00000000..b827348a --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx @@ -0,0 +1,25 @@ +import type { SVGProps } from 'react'; +import { ThemeKey } from '../../../types'; + +export const IconArrowSmall = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/index.ts b/webnext/src/shared/defguard-ui/components/Icon/index.ts new file mode 100644 index 00000000..c15633da --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/index.ts @@ -0,0 +1,2 @@ +export { Icon } from './Icon'; +export type { IconKind } from './icon-types'; diff --git a/webnext/src/shared/defguard-ui/components/Icon/style.scss b/webnext/src/shared/defguard-ui/components/Icon/style.scss new file mode 100644 index 00000000..0dd2af2e --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/style.scss @@ -0,0 +1,21 @@ +.icon { + display: inline-block; + overflow: hidden; + + svg { + transition-property: transform; + @include animate(); + } + + svg { + path { + transition-property: fill; + @include animate(); + } + + circle { + transition-property: stroke; + @include animate(); + } + } +} diff --git a/webnext/src/shared/defguard-ui/scss/global/_animate.scss b/webnext/src/shared/defguard-ui/scss/global/_animate.scss new file mode 100644 index 00000000..294c40a7 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/global/_animate.scss @@ -0,0 +1,9 @@ +// for now no prop required +@mixin animate($properties...) { + transition-timing-function: ease-out; + transition-duration: 160ms; + + @if length($properties)>0 { + transition-property: $properties; + } +} diff --git a/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss b/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss new file mode 100644 index 00000000..9325d13f --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss @@ -0,0 +1,106 @@ +@use 'sass:map'; +@use 'sass:list'; + +$grid-breakpoints: ( + xs: 0, + sm: 320px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1600px, +); + +@function break-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { + $n: index($breakpoint-names, $name); + + @if not $n { + @error "breakpoint `#{$name}` not found in `#{$breakpoints}`"; + } + + @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); +} + +@function break-min($name, $breakpoints: $grid-breakpoints) { + $min: map-get($breakpoints, $name); + @return if($min !=0, $min, null); +} + +@function break-max($name, $breakpoints: $grid-breakpoints) { + $max: map-get($breakpoints, $name); + @return if($max and $max > 0, $max - .02, null); +} + +@mixin break-up($name, $breakpoints: $grid-breakpoints) { + $min: break-min($name, $breakpoints); + + @if $min { + @media (min-width: $min) { + @content; + } + } + + @else { + @content; + } +} + +@mixin break-down($name, $breakpoints: $grid-breakpoints) { + $max: break-max($name, $breakpoints); + + @if $max { + @media (max-width: $max) { + @content; + } + } + + @else { + @content; + } +} + +@mixin break-between($lower, $upper, $breakpoints: $grid-breakpoints) { + $min: break-min($lower, $breakpoints); + $max: break-max($upper, $breakpoints); + + @if $min !=null and $max !=null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } + + @else if $max ==null { + @include break-up($lower, $breakpoints) { + @content; + } + } + + @else if $min ==null { + @include break-down($upper, $breakpoints) { + @content; + } + } +} + +@mixin break-only($name, $breakpoints: $grid-breakpoints) { + $min: break-min($name, $breakpoints); + $next: break-next($name, $breakpoints); + $max: break-max($next, $breakpoints); + + @if $min !=null and $max !=null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } + + @else if $max ==null { + @include break-up($name, $breakpoints) { + @content; + } + } + + @else if $min ==null { + @include break-down($next, $breakpoints) { + @content; + } + } +} diff --git a/webnext/src/shared/defguard-ui/scss/global/index.scss b/webnext/src/shared/defguard-ui/scss/global/index.scss new file mode 100644 index 00000000..87546734 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/global/index.scss @@ -0,0 +1,2 @@ +@forward './animate'; +@forward './breakpoints'; diff --git a/webnext/src/shared/defguard-ui/types.ts b/webnext/src/shared/defguard-ui/types.ts new file mode 100644 index 00000000..85bfb6c6 --- /dev/null +++ b/webnext/src/shared/defguard-ui/types.ts @@ -0,0 +1,64 @@ +import type { SVGProps } from 'react'; + +export const Direction = { + UP: 'up', + DOWN: 'down', + LEFT: 'left', + RIGHT: 'right', +} as const; + +export type Direction = (typeof Direction)[keyof typeof Direction]; + +export type TSSvgProps = SVGProps; + +export const ThemeKey = { + BgDefault: 'var(--theme-bg-default)', + BgDark: 'var(--theme-bg-dark)', + BgWhite: 'var(--theme-bg-white)', + BgFaded: 'var(--theme-bg-faded)', + BgDisabled: 'var(--theme-bg-disabled)', + BgMuted: 'var(--theme-bg-muted)', + BgEmphasis: 'var(--theme-bg-emphasis)', + BgActive: 'var(--theme-bg-active)', + BgInverted: 'var(--theme-bg-inverted)', + BgAction: 'var(--theme-bg-action)', + BgActionEmphasis: 'var(--theme-bg-action-emphasis)', + BgActionFaded: 'var(--theme-bg-action-faded)', + BgActionMuted: 'var(--theme-bg-action-muted)', + BgCriticalEmphasis: 'var(--theme-bg-critical-emphasis)', + BgCritical: 'var(--theme-bg-critical)', + BgCriticalFaded: 'var(--theme-bg-critical-faded)', + BgCriticalMuted: 'var(--theme-bg-critical-muted)', + BgSuccess: 'var(--theme-bg-success)', + BgWarning: 'var(--theme-bg-warning)', + BorderAction: 'var(--theme-border-action)', + BorderActionDisabled: 'var(--theme-border-action-disabled)', + BorderDefault: 'var(--theme-border-default)', + BorderDisabled: 'var(--theme-border-disabled)', + BorderEmphasis: 'var(--theme-border-emphasis)', + BorderMuted: 'var(--theme-border-muted)', + BorderFaded: 'var(--theme-border-faded)', + BorderCritical: 'var(--theme-border-critical)', + BorderSuccess: 'var(--theme-border-success)', + BorderWarning: 'var(--theme-border-warning)', + FgAction: 'var(--theme-fg-action)', + FgActionEmphasis: 'var(--theme-fg-action-emphasis)', + FgActionMuted: 'var(--theme-fg-action-muted)', + FgAttention: 'var(--theme-fg-attention)', + FgCritical: 'var(--theme-fg-critical)', + FgCriticalMuted: 'var(--theme-fg-critical-muted)', + FgDefault: 'var(--theme-fg-default)', + FgFaded: 'var(--theme-fg-faded)', + FgNeutral: 'var(--theme-fg-neutral)', + FgMuted: 'var(--theme-fg-muted)', + FgDisabled: 'var(--theme-fg-disabled)', + FgSuccess: 'var(--theme-fg-success)', + FgSuccessMuted: 'var(--theme-fg-success-muted)', + FgCode: 'var(--theme-fg-code)', + FgInverted: 'var(--theme-fg-inverted)', + FgWhite: 'var(--theme-fg-white)', + FgWhiteTransparent: 'var(--theme-fg-white-transparent)', + FgBlueTransparent2: 'var(--theme-fg-blue-transparent-2)', +} as const; + +export type ThemeKey = (typeof ThemeKey)[keyof typeof ThemeKey]; diff --git a/webnext/tsconfig.node.json b/webnext/tsconfig.node.json index f85a3990..b28d65a6 100644 --- a/webnext/tsconfig.node.json +++ b/webnext/tsconfig.node.json @@ -2,17 +2,17 @@ "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "target": "ES2023", - "lib": ["ES2023"], + "lib": [ + "ES2023" + ], "module": "ESNext", "skipLibCheck": true, - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "verbatimModuleSyntax": true, "moduleDetection": "force", "noEmit": true, - /* Linting */ "strict": true, "noUnusedLocals": true, @@ -21,5 +21,7 @@ "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true }, - "include": ["vite.config.ts"] + "include": [ + "vite.config.ts" + ] } diff --git a/webnext/vite.config.ts b/webnext/vite.config.ts index 5975141a..5b62c99c 100644 --- a/webnext/vite.config.ts +++ b/webnext/vite.config.ts @@ -2,6 +2,7 @@ import {tanstackRouter} from "@tanstack/router-plugin/vite"; import { paraglideVitePlugin } from '@inlang/paraglide-js' import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' +import * as path from 'path'; // https://vite.dev/config/ export default defineConfig({ @@ -17,4 +18,16 @@ export default defineConfig({ }), react(), ], + resolve: { + alias: { + '@scssutils': path.resolve(__dirname, './src/shared/defguard-ui/scss/global'), + } + }, + css: { + preprocessorOptions: { + scss: { + additionalData: `@use "@scssutils" as *;\n`, + } + } + } }) From 5e79ca467bd2b8ec40a3fec720de1d5bbb978479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=9Al=C4=99zak?= Date: Fri, 19 Sep 2025 11:49:55 +0200 Subject: [PATCH 04/15] components update --- webnext/.stylelintrc.json | 10 + webnext/index.html | 3 +- webnext/package.json | 44 +- webnext/pnpm-lock.yaml | 1509 ++++++++++++----- webnext/src/routeTree.gen.ts | 44 +- webnext/src/routes/index.tsx | 4 +- .../shared/components/Container/Container.tsx | 28 + .../shared/components/Container/style.scss | 3 + webnext/src/shared/components/Page/Page.tsx | 17 + webnext/src/shared/components/Page/style.scss | 26 + webnext/src/shared/consts.ts | 5 + .../defguard-ui/components/Avatar/Avatar.tsx | 46 + .../defguard-ui/components/Avatar/style.scss | 47 + .../defguard-ui/components/Avatar/types.ts | 7 + .../defguard-ui/components/Badge/Badge.tsx | 37 + .../defguard-ui/components/Badge/style.scss | 68 + .../defguard-ui/components/Badge/types.ts | 8 + .../defguard-ui/components/Button/Button.tsx | 67 +- .../defguard-ui/components/Button/style.scss | 156 ++ .../defguard-ui/components/Button/types.ts | 22 + .../components/Checkbox/Checkbox.tsx | 245 +++ .../components/Checkbox/style.scss | 29 + .../components/CounterLabel/CounterLabel.tsx | 27 + .../components/CounterLabel/style.scss | 46 + .../components/Divider/Divider.tsx | 39 + .../defguard-ui/components/Divider/style.scss | 53 + .../components/EmptyState/EmptyState.tsx | 74 + .../components/EmptyState/style.scss | 46 + .../defguard-ui/components/Icon/Icon.tsx | 17 +- .../defguard-ui/components/Icon/icon-types.ts | 4 +- .../components/Icon/icons/IconArrowBig.tsx | 9 +- .../components/Icon/icons/IconArrowSmall.tsx | 5 - .../components/Icon/icons/IconLoader.tsx | 17 + .../components/Icon/icons/IconPlus.tsx | 16 + .../Icon/icons/IconStatusSimple.tsx | 16 + .../defguard-ui/components/Icon/style.scss | 14 +- .../components/IconButton/IconButton.tsx | 30 + .../components/IconButton/style.scss | 33 + .../defguard-ui/components/Input/Input.tsx | 13 + .../defguard-ui/components/Input/style.scss | 9 + .../defguard-ui/components/Input/types.ts | 9 + .../LoaderSpinner/LoaderSpinner.tsx | 14 + .../components/LoaderSpinner/style.scss | 18 + .../defguard-ui/components/Radio/Radio.tsx | 128 ++ .../defguard-ui/components/Radio/style.scss | 67 + .../components/SizedBox/SizedBox.tsx | 19 + .../components/SizedBox/style.scss | 6 + .../defguard-ui/components/Text/Text.tsx | 59 + .../src/shared/defguard-ui/scss/_base.scss | 59 + .../src/shared/defguard-ui/scss/_fonts.scss | 37 +- .../defguard-ui/scss/_shared_tokens.scss | 219 ++- .../src/shared/defguard-ui/scss/_themes.scss | 192 +-- .../defguard-ui/scss/global/_animate.scss | 4 +- .../defguard-ui/scss/global/_breakpoints.scss | 52 +- .../src/shared/defguard-ui/scss/index.scss | 7 +- webnext/src/shared/defguard-ui/types.ts | 169 +- .../defguard-ui/utils/detectClickOutside.ts | 22 + .../shared/defguard-ui/utils/isComparable.ts | 10 + .../src/shared/defguard-ui/utils/isPresent.ts | 3 + webnext/src/test_components/page/TestPage.tsx | 143 ++ webnext/src/test_components/page/style.scss | 11 + webnext/tsconfig.app.json | 5 +- webnext/tsconfig.node.json | 5 +- webnext/vite.config.ts | 4 + 64 files changed, 3388 insertions(+), 767 deletions(-) create mode 100644 webnext/.stylelintrc.json create mode 100644 webnext/src/shared/components/Container/Container.tsx create mode 100644 webnext/src/shared/components/Container/style.scss create mode 100644 webnext/src/shared/components/Page/Page.tsx create mode 100644 webnext/src/shared/components/Page/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Avatar/Avatar.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Avatar/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Avatar/types.ts create mode 100644 webnext/src/shared/defguard-ui/components/Badge/Badge.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Badge/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Badge/types.ts create mode 100644 webnext/src/shared/defguard-ui/components/Button/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Button/types.ts create mode 100644 webnext/src/shared/defguard-ui/components/Checkbox/Checkbox.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Checkbox/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/CounterLabel/CounterLabel.tsx create mode 100644 webnext/src/shared/defguard-ui/components/CounterLabel/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Divider/Divider.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Divider/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/EmptyState/EmptyState.tsx create mode 100644 webnext/src/shared/defguard-ui/components/EmptyState/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icons/IconLoader.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icons/IconPlus.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Icon/icons/IconStatusSimple.tsx create mode 100644 webnext/src/shared/defguard-ui/components/IconButton/IconButton.tsx create mode 100644 webnext/src/shared/defguard-ui/components/IconButton/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Input/Input.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Input/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Input/types.ts create mode 100644 webnext/src/shared/defguard-ui/components/LoaderSpinner/LoaderSpinner.tsx create mode 100644 webnext/src/shared/defguard-ui/components/LoaderSpinner/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Radio/Radio.tsx create mode 100644 webnext/src/shared/defguard-ui/components/Radio/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/SizedBox/SizedBox.tsx create mode 100644 webnext/src/shared/defguard-ui/components/SizedBox/style.scss create mode 100644 webnext/src/shared/defguard-ui/components/Text/Text.tsx create mode 100644 webnext/src/shared/defguard-ui/scss/_base.scss create mode 100644 webnext/src/shared/defguard-ui/utils/detectClickOutside.ts create mode 100644 webnext/src/shared/defguard-ui/utils/isComparable.ts create mode 100644 webnext/src/shared/defguard-ui/utils/isPresent.ts create mode 100644 webnext/src/test_components/page/TestPage.tsx create mode 100644 webnext/src/test_components/page/style.scss diff --git a/webnext/.stylelintrc.json b/webnext/.stylelintrc.json new file mode 100644 index 00000000..6a4e2133 --- /dev/null +++ b/webnext/.stylelintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["stylelint-config-standard-scss"], + "plugins": ["stylelint-scss"], + "rules": { + "at-rule-no-unknown": null, + "scss/at-rule-no-unknown": true, + "custom-property-empty-line-before": null, + "value-keyword-case": null + } +} diff --git a/webnext/index.html b/webnext/index.html index f520ebb8..5796a7c7 100644 --- a/webnext/index.html +++ b/webnext/index.html @@ -1,5 +1,5 @@ - + @@ -9,6 +9,7 @@
+
diff --git a/webnext/package.json b/webnext/package.json index 051c4985..e6aac42b 100644 --- a/webnext/package.json +++ b/webnext/package.json @@ -6,35 +6,45 @@ "scripts": { "dev": "vite", "build": "tsc -b && vite build", - "lint": "eslint .", - "preview": "vite preview" + "check-types": "tsc --noEmit", + "preview": "vite preview", + "biome": "biome", + "lint": "biome check ./src/ && prettier src/**/*.scss --check --log-level error && stylelint \"src/**/*.scss\" -c ./.stylelintrc.json", + "fix": "biome check ./src/ --write --unsafe && prettier src/**/*.scss -w --log-level silent" }, "dependencies": { + "@axa-ch/react-polymorphic-types": "^1.4.1", "@floating-ui/react": "^0.27.16", "@inlang/paraglide-js": "^2.3.2", - "@tanstack/react-devtools": "^0.6.7", - "@tanstack/react-form": "^1.20.0", - "@tanstack/react-query": "^5.87.4", - "@tanstack/react-query-devtools": "^5.87.4", - "@tanstack/react-router": "^1.131.41", - "@tanstack/react-router-devtools": "^1.131.42", + "@tanstack/react-devtools": "^0.6.9", + "@tanstack/react-form": "^1.21.2", + "@tanstack/react-query": "^5.89.0", + "@tanstack/react-query-devtools": "^5.89.0", + "@tanstack/react-router": "^1.131.48", + "@tanstack/react-router-devtools": "^1.131.48", + "@uidotdev/usehooks": "^2.4.1", "axios": "^1.12.2", "clsx": "^2.1.1", - "motion": "^12.23.12", + "motion": "^12.23.15", "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@biomejs/biome": "2.2.4", "@inlang/paraglide-js": "2.3.2", - "@tanstack/router-plugin": "^1.131.43", - "@types/react": "^19.1.10", - "@types/react-dom": "^19.1.7", - "@vitejs/plugin-react-swc": "^4.0.0", - "globals": "^16.3.0", + "@tanstack/router-plugin": "^1.131.48", + "@types/node": "^24.5.2", + "@types/react": "^19.1.13", + "@types/react-dom": "^19.1.9", + "@vitejs/plugin-react-swc": "^4.1.0", + "globals": "^16.4.0", + "prettier": "^3.6.2", "sass": "^1.92.1", - "typescript": "~5.8.3", - "typescript-eslint": "^8.39.1", - "vite": "^7.1.2" + "stylelint": "^16.24.0", + "stylelint-config-standard-scss": "^16.0.0", + "stylelint-scss": "^6.12.1", + "typescript": "~5.9.2", + "typescript-eslint": "^8.44.0", + "vite": "^7.1.6" } } diff --git a/webnext/pnpm-lock.yaml b/webnext/pnpm-lock.yaml index 0c52c8a2..0dbaccab 100644 --- a/webnext/pnpm-lock.yaml +++ b/webnext/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@axa-ch/react-polymorphic-types': + specifier: ^1.4.1 + version: 1.4.1(@types/react@19.1.13)(react@19.1.1) '@floating-ui/react': specifier: ^0.27.16 version: 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -15,23 +18,26 @@ importers: specifier: ^2.3.2 version: 2.3.2 '@tanstack/react-devtools': - specifier: ^0.6.7 - version: 0.6.7(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9) + specifier: ^0.6.9 + version: 0.6.9(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9) '@tanstack/react-form': - specifier: ^1.20.0 - version: 1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + specifier: ^1.21.2 + version: 1.21.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-query': - specifier: ^5.87.4 - version: 5.87.4(react@19.1.1) + specifier: ^5.89.0 + version: 5.89.0(react@19.1.1) '@tanstack/react-query-devtools': - specifier: ^5.87.4 - version: 5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1) + specifier: ^5.89.0 + version: 5.89.0(@tanstack/react-query@5.89.0(react@19.1.1))(react@19.1.1) '@tanstack/react-router': - specifier: ^1.131.41 - version: 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + specifier: ^1.131.48 + version: 1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-router-devtools': - specifier: ^1.131.42 - version: 1.131.42(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.41)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3) + specifier: ^1.131.48 + version: 1.131.48(@tanstack/react-router@1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.48)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3) + '@uidotdev/usehooks': + specifier: ^2.4.1 + version: 2.4.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) axios: specifier: ^1.12.2 version: 1.12.2 @@ -39,8 +45,8 @@ importers: specifier: ^2.1.1 version: 2.1.1 motion: - specifier: ^12.23.12 - version: 12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + specifier: ^12.23.15 + version: 12.23.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: specifier: ^19.1.1 version: 19.1.1 @@ -52,35 +58,56 @@ importers: specifier: 2.2.4 version: 2.2.4 '@tanstack/router-plugin': - specifier: ^1.131.43 - version: 1.131.43(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(sass@1.92.1)(tsx@4.20.5)) + specifier: ^1.131.48 + version: 1.131.48(@tanstack/react-router@1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5)) + '@types/node': + specifier: ^24.5.2 + version: 24.5.2 '@types/react': - specifier: ^19.1.10 + specifier: ^19.1.13 version: 19.1.13 '@types/react-dom': - specifier: ^19.1.7 + specifier: ^19.1.9 version: 19.1.9(@types/react@19.1.13) '@vitejs/plugin-react-swc': - specifier: ^4.0.0 - version: 4.0.1(vite@7.1.5(sass@1.92.1)(tsx@4.20.5)) + specifier: ^4.1.0 + version: 4.1.0(vite@7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5)) globals: - specifier: ^16.3.0 + specifier: ^16.4.0 version: 16.4.0 + prettier: + specifier: ^3.6.2 + version: 3.6.2 sass: specifier: ^1.92.1 version: 1.92.1 + stylelint: + specifier: ^16.24.0 + version: 16.24.0(typescript@5.9.2) + stylelint-config-standard-scss: + specifier: ^16.0.0 + version: 16.0.0(postcss@8.5.6)(stylelint@16.24.0(typescript@5.9.2)) + stylelint-scss: + specifier: ^6.12.1 + version: 6.12.1(stylelint@16.24.0(typescript@5.9.2)) typescript: - specifier: ~5.8.3 - version: 5.8.3 + specifier: ~5.9.2 + version: 5.9.2 typescript-eslint: - specifier: ^8.39.1 - version: 8.43.0(eslint@9.35.0)(typescript@5.8.3) + specifier: ^8.44.0 + version: 8.44.0(eslint@9.35.0)(typescript@5.9.2) vite: - specifier: ^7.1.2 - version: 7.1.5(sass@1.92.1)(tsx@4.20.5) + specifier: ^7.1.6 + version: 7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5) packages: + '@axa-ch/react-polymorphic-types@1.4.1': + resolution: {integrity: sha512-2lo5a9slPZbc9hVCC5Z7fXWimd+UWCtETi88uGxsZ6GG5s6sAnwxPDPZKZ8qR/riFSWROglxDGNBtK+8jKz2eQ==} + peerDependencies: + '@types/react': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -263,158 +290,193 @@ packages: cpu: [x64] os: [win32] - '@esbuild/aix-ppc64@0.25.9': - resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + '@cacheable/memoize@2.0.1': + resolution: {integrity: sha512-WBLH37SynkCa39S6IrTSMQF3Wdv4/51WxuU5TuCNEqZcLgLGHme8NUxRTcDIO8ZZFXlslWbh9BD3DllixgPg6Q==} + + '@cacheable/memory@2.0.1': + resolution: {integrity: sha512-Ufc7iQnRKFC8gjZVGOTOsMwM/vZtmsw3LafvctVXPm835ElgK3DpMe1U5i9sd6OieSkyJhXbAT2Q2FosXBBbAQ==} + + '@cacheable/utils@2.0.1': + resolution: {integrity: sha512-sxHjO6wKn4/0wHCFYbh6tljj+ciP9BKgyBi09NLsor3sN+nu/Rt3FwLw6bYp7bp8usHpmcwUozrB/u4RuSw/eg==} + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@dual-bundle/import-meta-resolve@4.2.1': + resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} + + '@esbuild/aix-ppc64@0.25.10': + resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.9': - resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + '@esbuild/android-arm64@0.25.10': + resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.9': - resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + '@esbuild/android-arm@0.25.10': + resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.9': - resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + '@esbuild/android-x64@0.25.10': + resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.9': - resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + '@esbuild/darwin-arm64@0.25.10': + resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.9': - resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + '@esbuild/darwin-x64@0.25.10': + resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.9': - resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + '@esbuild/freebsd-arm64@0.25.10': + resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.9': - resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + '@esbuild/freebsd-x64@0.25.10': + resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.9': - resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + '@esbuild/linux-arm64@0.25.10': + resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.9': - resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + '@esbuild/linux-arm@0.25.10': + resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.9': - resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + '@esbuild/linux-ia32@0.25.10': + resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.9': - resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + '@esbuild/linux-loong64@0.25.10': + resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.9': - resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + '@esbuild/linux-mips64el@0.25.10': + resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.9': - resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + '@esbuild/linux-ppc64@0.25.10': + resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.9': - resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + '@esbuild/linux-riscv64@0.25.10': + resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.9': - resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + '@esbuild/linux-s390x@0.25.10': + resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.9': - resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + '@esbuild/linux-x64@0.25.10': + resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.9': - resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + '@esbuild/netbsd-arm64@0.25.10': + resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.9': - resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + '@esbuild/netbsd-x64@0.25.10': + resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.9': - resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + '@esbuild/openbsd-arm64@0.25.10': + resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.9': - resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + '@esbuild/openbsd-x64@0.25.10': + resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.9': - resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + '@esbuild/openharmony-arm64@0.25.10': + resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.9': - resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + '@esbuild/sunos-x64@0.25.10': + resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.9': - resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + '@esbuild/win32-arm64@0.25.10': + resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.9': - resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + '@esbuild/win32-ia32@0.25.10': + resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.9': - resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + '@esbuild/win32-x64@0.25.10': + resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -521,6 +583,13 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@keyv/bigmap@1.0.1': + resolution: {integrity: sha512-dZ7TMshK6brpuGPPRoq4pHNzNH4KTWaxVPB7KEnPErlgJpc+jG1Oyx3sw6nBFiZ0OCKwC1zU6skMEG7H421f9g==} + engines: {node: '>= 20'} + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@lix-js/sdk@0.4.7': resolution: {integrity: sha512-pRbW+joG12L0ULfMiWYosIW0plmW4AsUdiPCp+Z8rAsElJ+wJ6in58zhD3UwUcd4BNcpldEGjg6PdA7e0RgsDQ==} engines: {node: '>=18'} @@ -622,111 +691,111 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} - '@rolldown/pluginutils@1.0.0-beta.32': - resolution: {integrity: sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==} + '@rolldown/pluginutils@1.0.0-beta.35': + resolution: {integrity: sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg==} - '@rollup/rollup-android-arm-eabi@4.50.2': - resolution: {integrity: sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==} + '@rollup/rollup-android-arm-eabi@4.51.0': + resolution: {integrity: sha512-VyfldO8T/C5vAXBGIobrAnUE+VJNVLw5z9h4NgSDq/AJZWt/fXqdW+0PJbk+M74xz7yMDRiHtlsuDV7ew6K20w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.50.2': - resolution: {integrity: sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==} + '@rollup/rollup-android-arm64@4.51.0': + resolution: {integrity: sha512-Z3ujzDZgsEVSokgIhmOAReh9SGT2qloJJX2Xo1Q3nPU1EhCXrV0PbpR3r7DWRgozqnjrPZQkLe5cgBPIYp70Vg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.50.2': - resolution: {integrity: sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==} + '@rollup/rollup-darwin-arm64@4.51.0': + resolution: {integrity: sha512-T3gskHgArUdR6TCN69li5VELVAZK+iQ4iwMoSMNYixoj+56EC9lTj35rcxhXzIJt40YfBkvDy3GS+t5zh7zM6g==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.50.2': - resolution: {integrity: sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==} + '@rollup/rollup-darwin-x64@4.51.0': + resolution: {integrity: sha512-Hh7n/fh0g5UjH6ATDF56Qdf5bzdLZKIbhp5KftjMYG546Ocjeyg15dxphCpH1FFY2PJ2G6MiOVL4jMq5VLTyrQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.50.2': - resolution: {integrity: sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==} + '@rollup/rollup-freebsd-arm64@4.51.0': + resolution: {integrity: sha512-0EddADb6FBvfqYoxwVom3hAbAvpSVUbZqmR1wmjk0MSZ06hn/UxxGHKRqEQDMkts7XiZjejVB+TLF28cDTU+gA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.50.2': - resolution: {integrity: sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==} + '@rollup/rollup-freebsd-x64@4.51.0': + resolution: {integrity: sha512-MpqaEDLo3JuVPF+wWV4mK7V8akL76WCz8ndfz1aVB7RhvXFO3k7yT7eu8OEuog4VTSyNu5ibvN9n6lgjq/qLEQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.50.2': - resolution: {integrity: sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==} + '@rollup/rollup-linux-arm-gnueabihf@4.51.0': + resolution: {integrity: sha512-WEWAGFNFFpvSWAIT3MYvxTkYHv/cJl9yWKpjhheg7ONfB0hetZt/uwBnM3GZqSHrk5bXCDYTFXg3jQyk/j7eXQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.50.2': - resolution: {integrity: sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==} + '@rollup/rollup-linux-arm-musleabihf@4.51.0': + resolution: {integrity: sha512-9bxtxj8QoAp++LOq5PGDGkEEOpCDk9rOEHUcXadnijedDH8IXrBt6PnBa4Y6NblvGWdoxvXZYghZLaliTCmAng==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.50.2': - resolution: {integrity: sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==} + '@rollup/rollup-linux-arm64-gnu@4.51.0': + resolution: {integrity: sha512-DdqA+fARqIsfqDYkKo2nrWMp0kvu/wPJ2G8lZ4DjYhn+8QhrjVuzmsh7tTkhULwjvHTN59nWVzAixmOi6rqjNA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.50.2': - resolution: {integrity: sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==} + '@rollup/rollup-linux-arm64-musl@4.51.0': + resolution: {integrity: sha512-2XVRNzcUJE1UJua8P4a1GXS5jafFWE+pQ6zhUbZzptOu/70p1F6+0FTi6aGPd6jNtnJqGMjtBCXancC2dhYlWw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.50.2': - resolution: {integrity: sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==} + '@rollup/rollup-linux-loong64-gnu@4.51.0': + resolution: {integrity: sha512-R8QhY0kLIPCAVXWi2yftDSpn7Jtejey/WhMoBESSfwGec5SKdFVupjxFlKoQ7clVRuaDpiQf7wNx3EBZf4Ey6g==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.50.2': - resolution: {integrity: sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==} + '@rollup/rollup-linux-ppc64-gnu@4.51.0': + resolution: {integrity: sha512-I498RPfxx9cMv1KTHQ9tg2Ku1utuQm+T5B+Xro+WNu3FzAFSKp4awKfgMoZwjoPgNbaFGINaOM25cQW6WuBhiQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.50.2': - resolution: {integrity: sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==} + '@rollup/rollup-linux-riscv64-gnu@4.51.0': + resolution: {integrity: sha512-o8COudsb8lvtdm9ixg9aKjfX5aeoc2x9KGE7WjtrmQFquoCRZ9jtzGlonujE4WhvXFepTraWzT4RcwyDDeHXjA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.50.2': - resolution: {integrity: sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==} + '@rollup/rollup-linux-riscv64-musl@4.51.0': + resolution: {integrity: sha512-0shJPgSXMdYzOQzpM5BJN2euXY1f8uV8mS6AnrbMcH2KrkNsbpMxWB1wp8UEdiJ1NtyBkCk3U/HfX5mEONBq6w==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.50.2': - resolution: {integrity: sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==} + '@rollup/rollup-linux-s390x-gnu@4.51.0': + resolution: {integrity: sha512-L7pV+ny7865jamSCQwyozBYjFRUKaTsPqDz7ClOtJCDu4paf2uAa0mrcHwSt4XxZP2ogFZS9uuitH3NXdeBEJA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.50.2': - resolution: {integrity: sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==} + '@rollup/rollup-linux-x64-gnu@4.51.0': + resolution: {integrity: sha512-4YHhP+Rv3T3+H3TPbUvWOw5tuSwhrVhkHHZhk4hC9VXeAOKR26/IsUAT4FsB4mT+kfIdxxb1BezQDEg/voPO8A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.50.2': - resolution: {integrity: sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==} + '@rollup/rollup-linux-x64-musl@4.51.0': + resolution: {integrity: sha512-P7U7U03+E5w7WgJtvSseNLOX1UhknVPmEaqgUENFWfNxNBa1OhExT6qYGmyF8gepcxWSaSfJsAV5UwhWrYefdQ==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.50.2': - resolution: {integrity: sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==} + '@rollup/rollup-openharmony-arm64@4.51.0': + resolution: {integrity: sha512-FuD8g3u9W6RPwdO1R45hZFORwa1g9YXEMesAKP/sOi7mDqxjbni8S3zAXJiDcRfGfGBqpRYVuH54Gu3FTuSoEw==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.50.2': - resolution: {integrity: sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==} + '@rollup/rollup-win32-arm64-msvc@4.51.0': + resolution: {integrity: sha512-zST+FdMCX3QAYfmZX3dp/Fy8qLUetfE17QN5ZmmFGPrhl86qvRr+E9u2bk7fzkIXsfQR30Z7ZRS7WMryPPn4rQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.50.2': - resolution: {integrity: sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==} + '@rollup/rollup-win32-ia32-msvc@4.51.0': + resolution: {integrity: sha512-U+qhoCVAZmTHCmUKxdQxw1jwAFNFXmOpMME7Npt5GTb1W/7itfgAgNluVOvyeuSeqW+dEQLFuNZF3YZPO8XkMg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.50.2': - resolution: {integrity: sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==} + '@rollup/rollup-win32-x64-msvc@4.51.0': + resolution: {integrity: sha512-z6UpFzMhXSD8NNUfCi2HO+pbpSzSWIIPgb1TZsEZjmZYtk6RUIC63JYjlFBwbBZS3jt3f1q6IGfkj3g+GnBt2Q==} cpu: [x64] os: [win32] @@ -836,33 +905,37 @@ packages: resolution: {integrity: sha512-yJT2As/drc+Epu0nsqCsJaKaLcaNGufiNxSlp/+/oeTD0jsBxF9/PJBfh66XVpYXkKr97b8689mSu7QMef0Rrw==} engines: {node: '>=18'} - '@tanstack/devtools-ui@0.3.4': - resolution: {integrity: sha512-W3FnFhot91c30I/DyZUKSCd5gan5FRe35EvxUrZTxMN3qQ4kOtZSmYi8N8cAP4rmAp54ivv6pvT3LXlpjEeE0w==} + '@tanstack/devtools-event-client@0.2.5': + resolution: {integrity: sha512-iVdqw879KETXyyPHc3gQR5Ld0GjlPLk7bKenBUhzr3+z1FiQZvsbfgYfRRokTSPcgwANAV7aA2Uv05nx5xWT8A==} + engines: {node: '>=18'} + + '@tanstack/devtools-ui@0.3.5': + resolution: {integrity: sha512-DU8OfLntngnph+Tb7ivQvh4F4w+rDu6r01fXlhjq/Nmgdr0gtsOox4kdmyq5rCs+C6aPgP3M7+BE+fv4dN+VvA==} engines: {node: '>=18'} peerDependencies: solid-js: '>=1.9.7' - '@tanstack/devtools@0.6.11': - resolution: {integrity: sha512-H0uxsVsZabx/iyVxSp/6JzP4TbuYpj5kbZXojHZYDzuw1wP5YmzSQvIHm+6ThrFEWKmLpmNdzX6cXY/lJlXKMw==} + '@tanstack/devtools@0.6.13': + resolution: {integrity: sha512-EHSqMwo3lhVxeFV+6u7aNoWeqNpSLDzvft7i/JeUt8ZbfjopyOtugNFY1cGEaqy7qzudqQP4pk7dUKWACQ0gCQ==} engines: {node: '>=18'} peerDependencies: solid-js: '>=1.9.7' - '@tanstack/form-core@1.20.0': - resolution: {integrity: sha512-FGlKvcsusOf4756vtN1EoDI4h50r4/11eTcpF3NcnE04N/bSn2gP7cdhG6tYA0lJWzM9H1pNIzZ86uZ4MHB9eA==} + '@tanstack/form-core@1.21.2': + resolution: {integrity: sha512-Yp9ZFLSXDZzWapR+nD++YwC9zN8dxdBzWzleHkN184VzIfOhtVMrR+95QSUuxzS0nFFttd2Egc7XLte7/Osyag==} '@tanstack/history@1.131.2': resolution: {integrity: sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw==} engines: {node: '>=12'} - '@tanstack/query-core@5.87.4': - resolution: {integrity: sha512-uNsg6zMxraEPDVO2Bn+F3/ctHi+Zsk+MMpcN8h6P7ozqD088F6mFY5TfGM7zuyIrL7HKpDyu6QHfLWiDxh3cuw==} + '@tanstack/query-core@5.89.0': + resolution: {integrity: sha512-joFV1MuPhSLsKfTzwjmPDrp8ENfZ9N23ymFu07nLfn3JCkSHy0CFgsyhHTJOmWaumC/WiNIKM0EJyduCF/Ih/Q==} '@tanstack/query-devtools@5.87.3': resolution: {integrity: sha512-LkzxzSr2HS1ALHTgDmJH5eGAVsSQiuwz//VhFW5OqNk0OQ+Fsqba0Tsf+NzWRtXYvpgUqwQr4b2zdFZwxHcGvg==} - '@tanstack/react-devtools@0.6.7': - resolution: {integrity: sha512-XgBa6USm0xx3rpHE8KOaJMwEv4Pa6WEkHx7uA8mWNknY/i6SzX6o2FlrwbyJ/xeIRTTq3KzIM+APWXQiEUy3wg==} + '@tanstack/react-devtools@0.6.9': + resolution: {integrity: sha512-1RD7k6d2f3x6ZZem3Qi+LMJzxev1KCC6SkQWIKmD3NRbMhh3W0VNOwlIpui0Al4p5VutyAUtk8R1ocnTEZTdLw==} engines: {node: '>=18'} peerDependencies: '@types/react': '>=16.8' @@ -870,8 +943,8 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-form@1.20.0': - resolution: {integrity: sha512-1UfWqEYRnHr4cooGbHiTQqoqus8soNUH+RLD6UyhIQEvomOSQMX0JgX+zGSl08tIugrnWcAnh50n5T9IIs/Evw==} + '@tanstack/react-form@1.21.2': + resolution: {integrity: sha512-MeKD9ahwG287NlBVGHz6k+6C56BK1OsbcOiay8iVbABzc31aPKQjttw8psX9VgatJaI6rzVEOlGm+Peboih/FA==} peerDependencies: '@tanstack/react-start': ^1.130.10 react: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -879,27 +952,27 @@ packages: '@tanstack/react-start': optional: true - '@tanstack/react-query-devtools@5.87.4': - resolution: {integrity: sha512-JYcnVJBBW1DCPyNGM0S2CyrLpe6KFiL2gpYd/k9tAp62Du7+Y27zkzd+dKFyxpFadYaTxsx4kUA7YvnkMLVUoQ==} + '@tanstack/react-query-devtools@5.89.0': + resolution: {integrity: sha512-Syc4UjZeIJCkXCRGyQcWwlnv89JNb98MMg/DAkFCV3rwOcknj98+nG3Nm6xLXM6ne9sK6RZeDJMPLKZUh6NUGA==} peerDependencies: - '@tanstack/react-query': ^5.87.4 + '@tanstack/react-query': ^5.89.0 react: ^18 || ^19 - '@tanstack/react-query@5.87.4': - resolution: {integrity: sha512-T5GT/1ZaNsUXf5I3RhcYuT17I4CPlbZgyLxc/ZGv7ciS6esytlbjb3DgUFO6c8JWYMDpdjSWInyGZUErgzqhcA==} + '@tanstack/react-query@5.89.0': + resolution: {integrity: sha512-SXbtWSTSRXyBOe80mszPxpEbaN4XPRUp/i0EfQK1uyj3KCk/c8FuPJNIRwzOVe/OU3rzxrYtiNabsAmk1l714A==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-devtools@1.131.42': - resolution: {integrity: sha512-7pymFB1CCimRHot2Zp0ZekQjd1iN812V88n9NLPSeiv9sVRtRVIaLphJjDeudx1NNgkfSJPx2lOhz6K38cuZog==} + '@tanstack/react-router-devtools@1.131.48': + resolution: {integrity: sha512-b0D2Zvab60+uotkl25bhU2NXOdCMMWRennY5YDeV6TS1ZRG5m17DZAzIspw9SCi51eC+H/j8inVcxIrQYaB5AQ==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.131.41 + '@tanstack/react-router': ^1.131.48 react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.131.41': - resolution: {integrity: sha512-QEbTYpAosiD8e4qEZRr9aJipGSb8pQc+pfZwK6NCD2Tcxwu2oF6MVtwv0bIDLRpZP0VJMBpxXlTRISUDNMNqIA==} + '@tanstack/react-router@1.131.48': + resolution: {integrity: sha512-iT9k/+J4vkoXyI1lBu0StSCLXgfOIMf/IDPh+pZ5HhMPab/wx0PDgIFFgEq9qM1CCykDnKqqeDY0QZWBUS4V1A==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' @@ -911,15 +984,15 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.131.41': - resolution: {integrity: sha512-VoLly00DWM0abKuVPRm8wiwGtRBHOKs6K896fy48Q/KYoDVLs8kRCRjFGS7rGnYC2FIkmmvHqYRqNg7jgCx2yg==} + '@tanstack/router-core@1.131.48': + resolution: {integrity: sha512-Zw024eJECTLn57bR8oncR4YUTvQ8P41pDnVEXevWPuR6wdKRsIUmhfJowzgf4ppF9Lgl5DUWEhOcj4Awr4tTOQ==} engines: {node: '>=12'} - '@tanstack/router-devtools-core@1.131.42': - resolution: {integrity: sha512-o8jKTiwXcUSjmkozcMjIw1yhjVYeXcuQO7DtfgjKW3B85iveH6VzYK+bGEVU7wmLNMuUSe2eI/7RBzJ6a5+MCA==} + '@tanstack/router-devtools-core@1.131.48': + resolution: {integrity: sha512-QHX8ta3PEBoU7674N9jF7k/HlnOHZ/SHerT4zb9c9McZM4ZydPGyBt9wjMxONgSrceYvhFgNBRhrkMp2X4+iiw==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-core': ^1.131.41 + '@tanstack/router-core': ^1.131.48 csstype: ^3.0.10 solid-js: '>=1.9.5' tiny-invariant: ^1.3.3 @@ -927,16 +1000,16 @@ packages: csstype: optional: true - '@tanstack/router-generator@1.131.41': - resolution: {integrity: sha512-HsDkBU1u/KvHrzn76v/9oeyMFuxvVlE3dfIu4fldZbPy/i903DWBwODIDGe6fVUsYtzPPrRvNtbjV18HVz5GCA==} + '@tanstack/router-generator@1.131.48': + resolution: {integrity: sha512-spLqLJ1pD6y8wTxdKSRUS7fMINbuqsTEk1Ot0wxdrD1lKwJT8F7yKovSfl+h2WcifFN84B1gc5F3ZRmcp7fTeA==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.131.43': - resolution: {integrity: sha512-vBPBw5LBl+ogGZnFVyLmH65rYnr88cKRT1WtDZ+QYNsgto/SQbD+JxJgbm8YJdpteo3KZL6zHyZz30nmwbhC4A==} + '@tanstack/router-plugin@1.131.48': + resolution: {integrity: sha512-5Bt7M3rP6bYNIwFYhLj5AjPdfBqWmrjIliq06rV1iCQ8GJvXPVSuZHwT+jDzxEsyRzHUjk5kuK3ytimXmexpSQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.131.41 + '@tanstack/react-router': ^1.131.48 vite: '>=5.0.0 || >=6.0.0' vite-plugin-solid: ^2.11.2 webpack: '>=5.92.0' @@ -969,6 +1042,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/node@24.5.2': + resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} + '@types/react-dom@19.1.9': resolution: {integrity: sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==} peerDependencies: @@ -977,67 +1053,74 @@ packages: '@types/react@19.1.13': resolution: {integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==} - '@typescript-eslint/eslint-plugin@8.43.0': - resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==} + '@typescript-eslint/eslint-plugin@8.44.0': + resolution: {integrity: sha512-EGDAOGX+uwwekcS0iyxVDmRV9HX6FLSM5kzrAToLTsr9OWCIKG/y3lQheCq18yZ5Xh78rRKJiEpP0ZaCs4ryOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.43.0 + '@typescript-eslint/parser': ^8.44.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.43.0': - resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==} + '@typescript-eslint/parser@8.44.0': + resolution: {integrity: sha512-VGMpFQGUQWYT9LfnPcX8ouFojyrZ/2w3K5BucvxL/spdNehccKhB4jUyB1yBCXpr2XFm0jkECxgrpXBW2ipoAw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.43.0': - resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==} + '@typescript-eslint/project-service@8.44.0': + resolution: {integrity: sha512-ZeaGNraRsq10GuEohKTo4295Z/SuGcSq2LzfGlqiuEvfArzo/VRrT0ZaJsVPuKZ55lVbNk8U6FcL+ZMH8CoyVA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.43.0': - resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==} + '@typescript-eslint/scope-manager@8.44.0': + resolution: {integrity: sha512-87Jv3E+al8wpD+rIdVJm/ItDBe/Im09zXIjFoipOjr5gHUhJmTzfFLuTJ/nPTMc2Srsroy4IBXwcTCHyRR7KzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.43.0': - resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==} + '@typescript-eslint/tsconfig-utils@8.44.0': + resolution: {integrity: sha512-x5Y0+AuEPqAInc6yd0n5DAcvtoQ/vyaGwuX5HE9n6qAefk1GaedqrLQF8kQGylLUb9pnZyLf+iEiL9fr8APDtQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.43.0': - resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==} + '@typescript-eslint/type-utils@8.44.0': + resolution: {integrity: sha512-9cwsoSxJ8Sak67Be/hD2RNt/fsqmWnNE1iHohG8lxqLSNY8xNfyY7wloo5zpW3Nu9hxVgURevqfcH6vvKCt6yg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.43.0': - resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==} + '@typescript-eslint/types@8.44.0': + resolution: {integrity: sha512-ZSl2efn44VsYM0MfDQe68RKzBz75NPgLQXuGypmym6QVOWL5kegTZuZ02xRAT9T+onqvM6T8CdQk0OwYMB6ZvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.43.0': - resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==} + '@typescript-eslint/typescript-estree@8.44.0': + resolution: {integrity: sha512-lqNj6SgnGcQZwL4/SBJ3xdPEfcBuhCG8zdcwCPgYcmiPLgokiNDKlbPzCwEwu7m279J/lBYWtDYL+87OEfn8Jw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.43.0': - resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==} + '@typescript-eslint/utils@8.44.0': + resolution: {integrity: sha512-nktOlVcg3ALo0mYlV+L7sWUD58KG4CMj1rb2HUVOO4aL3K/6wcD+NERqd0rrA5Vg06b42YhF6cFxeixsp9Riqg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.43.0': - resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==} + '@typescript-eslint/visitor-keys@8.44.0': + resolution: {integrity: sha512-zaz9u8EJ4GBmnehlrpoKvj/E3dNbuQ7q0ucyZImm3cLqJ8INTc970B1qEqDX/Rzq65r3TvVTN7kHWPBoyW7DWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitejs/plugin-react-swc@4.0.1': - resolution: {integrity: sha512-NQhPjysi5duItyrMd5JWZFf2vNOuSMyw+EoZyTBDzk+DkfYD8WNrsUs09sELV2cr1P15nufsN25hsUBt4CKF9Q==} + '@uidotdev/usehooks@2.4.1': + resolution: {integrity: sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==} + engines: {node: '>=16'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@vitejs/plugin-react-swc@4.1.0': + resolution: {integrity: sha512-Ff690TUck0Anlh7wdIcnsVMhofeEVgm44Y4OYdeeEEPSKyZHzDI9gfVBvySEhDfXtBp8tLCbfsVKPWEMEjq8/g==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^4 || ^5 || ^6 || ^7 @@ -1055,6 +1138,13 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -1073,10 +1163,18 @@ packages: array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1089,8 +1187,11 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - baseline-browser-mapping@2.8.3: - resolution: {integrity: sha512-mcE+Wr2CAhHNWxXN/DdTI+n4gsPc5QpXpWnyCQWiQYIYZX+ZMJ8juXZgjRa/0/YPJo/NSsgW15/YgmI4nbysYw==} + balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} hasBin: true binary-extensions@2.3.0: @@ -1107,11 +1208,14 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.26.0: - resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==} + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + cacheable@2.0.1: + resolution: {integrity: sha512-MSKxcybpxB5kcWKpj+1tPBm2os4qKKGxDovsZmLhZmWIDYp8EgtC45C5zk1fLe1IC9PpI4ZE4eyryQH0N10PKA==} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -1120,8 +1224,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001741: - resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} + caniuse-lite@1.0.30001743: + resolution: {integrity: sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1146,6 +1250,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1174,10 +1281,32 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-functions-list@3.2.3: + resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} + engines: {node: '>=12 || >=16'} + + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1220,12 +1349,26 @@ packages: resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} engines: {node: '>=0.3.1'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - electron-to-chromium@1.5.218: - resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==} + electron-to-chromium@1.5.222: + resolution: {integrity: sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} @@ -1243,8 +1386,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild@0.25.9: - resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + esbuild@0.25.10: + resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} engines: {node: '>=18'} hasBin: true @@ -1316,6 +1459,13 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -1328,6 +1478,9 @@ packages: picomatch: optional: true + file-entry-cache@10.1.4: + resolution: {integrity: sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -1344,6 +1497,9 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} + flat-cache@6.1.14: + resolution: {integrity: sha512-ExZSCSV9e7v/Zt7RzCbX57lY2dnPdxzU/h3UE6WJ6NtEMfwBd8jmi1n4otDEUfz+T/R+zxrFDpICFdjhD3H/zw==} + flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} @@ -1360,8 +1516,8 @@ packages: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} - framer-motion@12.23.12: - resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} + framer-motion@12.23.15: + resolution: {integrity: sha512-MBxUEHjWr/fRQ2aHg2CgdcjJpHMJ9ttHiPeClHDGiOJOYgmde3OXZUrbWDeeE8yvFrWA62hsPS4+rKQ9OJaoQA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -1405,6 +1561,14 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -1413,6 +1577,13 @@ packages: resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} engines: {node: '>=18'} + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + goober@2.1.16: resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} peerDependencies: @@ -1445,6 +1616,13 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hookified@1.12.1: + resolution: {integrity: sha512-xnKGl+iMIlhrZmGHB729MqlmPoWBznctSQTYCpFKqNsCgimJQmithcW0xSQMMFzYnV2iKUh25alswn6epgxS0Q==} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + human-id@4.1.1: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} hasBin: true @@ -1468,6 +1646,12 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1476,6 +1660,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1484,6 +1672,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + isbot@5.1.30: resolution: {integrity: sha512-3wVJEonAns1OETX83uWsk5IAne2S5zfDcntD2hbtU23LelSqNXzXs9zKjMPOLMzroCgIjCfjYAEHrd2D6FOkiA==} engines: {node: '>=18'} @@ -1509,9 +1701,15 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -1523,6 +1721,19 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@5.5.2: + resolution: {integrity: sha512-TXcFHbmm/z7MGd1u9ASiCSfTS+ei6Z8B3a5JHzx3oPa/o7QzWVtPRpc4KGER5RR469IC+/nfg4U5YLIuDUua2g==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + known-css-properties@0.36.0: + resolution: {integrity: sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==} + + known-css-properties@0.37.0: + resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} + kysely@0.27.6: resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==} engines: {node: '>=14.0.0'} @@ -1531,6 +1742,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1538,6 +1752,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -1545,6 +1762,19 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + + mdn-data@2.24.0: + resolution: {integrity: sha512-i97fklrJl03tL1tdRVw0ZfLLvuDsdb6wxL+TrJ+PKkCbLrp2PCu2+OYdCKychIUm19nSM/35S6qz7pJpnXttoA==} + + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1574,8 +1804,8 @@ packages: motion-utils@12.23.6: resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} - motion@12.23.12: - resolution: {integrity: sha512-8jCD8uW5GD1csOoqh1WhH1A6j5APHVE15nuBkFeRiMzYBdRwyAHmSP/oXSuW0WJPZRXTFdBoG4hY9TFWNhhwng==} + motion@12.23.15: + resolution: {integrity: sha512-KOxnEDztmHM/cIdWap9PYs36cOlVe8pqBJjhmmY0NxDnnN4gokQFDrpxUkh56RyQ+gnT0daaDy5g0T6sHfVBJg==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -1625,6 +1855,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1633,6 +1867,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1644,6 +1882,31 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + + postcss-resolve-nested-selector@0.1.6: + resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + + postcss-safe-parser@7.0.1: + resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.4.31 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -1692,10 +1955,18 @@ packages: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -1703,8 +1974,8 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.50.2: - resolution: {integrity: sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==} + rollup@4.51.0: + resolution: {integrity: sha512-7cR0XWrdp/UAj2HMY/Y4QQEUjidn3l2AY1wSeZoFjMbD8aOMPoV9wgTFYbrJpPzzvejDEini1h3CiUP8wLzxQA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1746,6 +2017,18 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + solid-js@1.9.9: resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==} @@ -1766,17 +2049,79 @@ packages: peerDependencies: kysely: '*' + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + stylelint-config-recommended-scss@16.0.1: + resolution: {integrity: sha512-wfpU6kmTUwPEHMACYdpt5wLM/aS44+sqE8yk82LkOkA7yVpAuTZDwd3m9762d0mRnNCn0JMUx4XfDVDmbb8hTA==} + engines: {node: '>=20'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.23.1 + peerDependenciesMeta: + postcss: + optional: true + + stylelint-config-recommended@17.0.0: + resolution: {integrity: sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.23.0 + + stylelint-config-standard-scss@16.0.0: + resolution: {integrity: sha512-/FHECLUu+med/e6OaPFpprG86ShC4SYT7Tzb2PTVdDjJsehhFBOioSlWqYFqJxmGPIwO3AMBxNo+kY3dxrbczA==} + engines: {node: '>=20'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.23.1 + peerDependenciesMeta: + postcss: + optional: true + + stylelint-config-standard@39.0.0: + resolution: {integrity: sha512-JabShWORb8Bmc1A47ZyJstran60P3yUdI1zWMpGYPeFiC6xzHXJMkpKAd8EjIhq3HPUplIWWMDJ/xu0AiPd+kA==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.23.0 + + stylelint-scss@6.12.1: + resolution: {integrity: sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.0.2 + + stylelint@16.24.0: + resolution: {integrity: sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==} + engines: {node: '>=18.12.0'} + hasBin: true + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -1809,18 +2154,21 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.43.0: - resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==} + typescript-eslint@8.44.0: + resolution: {integrity: sha512-ib7mCkYuIzYonCq9XWF5XNw+fkj2zg629PSa9KNIQ47RXFF763S5BIX4wqz1+FLPogTZoiw8KmCiRPRa8bL3qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true + undici-types@7.12.0: + resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} + unplugin@2.3.10: resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} engines: {node: '>=18.12.0'} @@ -1842,12 +2190,19 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true - vite@7.1.5: - resolution: {integrity: sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==} + uuid@13.0.0: + resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + hasBin: true + + vite@7.1.6: + resolution: {integrity: sha512-SRYIB8t/isTwNn8vMB3MR6E+EQZM/WG1aKmmIUCfDXfVvKfc20ZpamngWHKzAmmu9ppsgxsg4b2I7c90JZudIQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1889,6 +2244,10 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1898,6 +2257,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ws@8.18.3: resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} @@ -1922,6 +2285,11 @@ packages: snapshots: + '@axa-ch/react-polymorphic-types@1.4.1(@types/react@19.1.13)(react@19.1.1)': + dependencies: + '@types/react': 19.1.13 + react: 19.1.1 + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -1966,7 +2334,7 @@ snapshots: dependencies: '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.26.0 + browserslist: 4.26.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -2143,82 +2511,113 @@ snapshots: '@biomejs/cli-win32-x64@2.2.4': optional: true - '@esbuild/aix-ppc64@0.25.9': + '@cacheable/memoize@2.0.1': + dependencies: + '@cacheable/utils': 2.0.1 + + '@cacheable/memory@2.0.1': + dependencies: + '@cacheable/memoize': 2.0.1 + '@cacheable/utils': 2.0.1 + '@keyv/bigmap': 1.0.1 + hookified: 1.12.1 + keyv: 5.5.2 + + '@cacheable/utils@2.0.1': {} + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@dual-bundle/import-meta-resolve@4.2.1': {} + + '@esbuild/aix-ppc64@0.25.10': optional: true - '@esbuild/android-arm64@0.25.9': + '@esbuild/android-arm64@0.25.10': optional: true - '@esbuild/android-arm@0.25.9': + '@esbuild/android-arm@0.25.10': optional: true - '@esbuild/android-x64@0.25.9': + '@esbuild/android-x64@0.25.10': optional: true - '@esbuild/darwin-arm64@0.25.9': + '@esbuild/darwin-arm64@0.25.10': optional: true - '@esbuild/darwin-x64@0.25.9': + '@esbuild/darwin-x64@0.25.10': optional: true - '@esbuild/freebsd-arm64@0.25.9': + '@esbuild/freebsd-arm64@0.25.10': optional: true - '@esbuild/freebsd-x64@0.25.9': + '@esbuild/freebsd-x64@0.25.10': optional: true - '@esbuild/linux-arm64@0.25.9': + '@esbuild/linux-arm64@0.25.10': optional: true - '@esbuild/linux-arm@0.25.9': + '@esbuild/linux-arm@0.25.10': optional: true - '@esbuild/linux-ia32@0.25.9': + '@esbuild/linux-ia32@0.25.10': optional: true - '@esbuild/linux-loong64@0.25.9': + '@esbuild/linux-loong64@0.25.10': optional: true - '@esbuild/linux-mips64el@0.25.9': + '@esbuild/linux-mips64el@0.25.10': optional: true - '@esbuild/linux-ppc64@0.25.9': + '@esbuild/linux-ppc64@0.25.10': optional: true - '@esbuild/linux-riscv64@0.25.9': + '@esbuild/linux-riscv64@0.25.10': optional: true - '@esbuild/linux-s390x@0.25.9': + '@esbuild/linux-s390x@0.25.10': optional: true - '@esbuild/linux-x64@0.25.9': + '@esbuild/linux-x64@0.25.10': optional: true - '@esbuild/netbsd-arm64@0.25.9': + '@esbuild/netbsd-arm64@0.25.10': optional: true - '@esbuild/netbsd-x64@0.25.9': + '@esbuild/netbsd-x64@0.25.10': optional: true - '@esbuild/openbsd-arm64@0.25.9': + '@esbuild/openbsd-arm64@0.25.10': optional: true - '@esbuild/openbsd-x64@0.25.9': + '@esbuild/openbsd-x64@0.25.10': optional: true - '@esbuild/openharmony-arm64@0.25.9': + '@esbuild/openharmony-arm64@0.25.10': optional: true - '@esbuild/sunos-x64@0.25.9': + '@esbuild/sunos-x64@0.25.10': optional: true - '@esbuild/win32-arm64@0.25.9': + '@esbuild/win32-arm64@0.25.10': optional: true - '@esbuild/win32-ia32@0.25.9': + '@esbuild/win32-ia32@0.25.10': optional: true - '@esbuild/win32-x64@0.25.9': + '@esbuild/win32-x64@0.25.10': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)': @@ -2346,6 +2745,12 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@keyv/bigmap@1.0.1': + dependencies: + hookified: 1.12.1 + + '@keyv/serialize@1.1.1': {} + '@lix-js/sdk@0.4.7': dependencies: '@lix-js/server-protocol-schema': 0.1.1 @@ -2433,69 +2838,69 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.1 optional: true - '@rolldown/pluginutils@1.0.0-beta.32': {} + '@rolldown/pluginutils@1.0.0-beta.35': {} - '@rollup/rollup-android-arm-eabi@4.50.2': + '@rollup/rollup-android-arm-eabi@4.51.0': optional: true - '@rollup/rollup-android-arm64@4.50.2': + '@rollup/rollup-android-arm64@4.51.0': optional: true - '@rollup/rollup-darwin-arm64@4.50.2': + '@rollup/rollup-darwin-arm64@4.51.0': optional: true - '@rollup/rollup-darwin-x64@4.50.2': + '@rollup/rollup-darwin-x64@4.51.0': optional: true - '@rollup/rollup-freebsd-arm64@4.50.2': + '@rollup/rollup-freebsd-arm64@4.51.0': optional: true - '@rollup/rollup-freebsd-x64@4.50.2': + '@rollup/rollup-freebsd-x64@4.51.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.50.2': + '@rollup/rollup-linux-arm-gnueabihf@4.51.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.50.2': + '@rollup/rollup-linux-arm-musleabihf@4.51.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.50.2': + '@rollup/rollup-linux-arm64-gnu@4.51.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.50.2': + '@rollup/rollup-linux-arm64-musl@4.51.0': optional: true - '@rollup/rollup-linux-loong64-gnu@4.50.2': + '@rollup/rollup-linux-loong64-gnu@4.51.0': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.50.2': + '@rollup/rollup-linux-ppc64-gnu@4.51.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.50.2': + '@rollup/rollup-linux-riscv64-gnu@4.51.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.50.2': + '@rollup/rollup-linux-riscv64-musl@4.51.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.50.2': + '@rollup/rollup-linux-s390x-gnu@4.51.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.50.2': + '@rollup/rollup-linux-x64-gnu@4.51.0': optional: true - '@rollup/rollup-linux-x64-musl@4.50.2': + '@rollup/rollup-linux-x64-musl@4.51.0': optional: true - '@rollup/rollup-openharmony-arm64@4.50.2': + '@rollup/rollup-openharmony-arm64@4.51.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.50.2': + '@rollup/rollup-win32-arm64-msvc@4.51.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.50.2': + '@rollup/rollup-win32-ia32-msvc@4.51.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.50.2': + '@rollup/rollup-win32-x64-msvc@4.51.0': optional: true '@sinclair/typebox@0.31.28': {} @@ -2582,7 +2987,9 @@ snapshots: - bufferutil - utf-8-validate - '@tanstack/devtools-ui@0.3.4(csstype@3.1.3)(solid-js@1.9.9)': + '@tanstack/devtools-event-client@0.2.5': {} + + '@tanstack/devtools-ui@0.3.5(csstype@3.1.3)(solid-js@1.9.9)': dependencies: clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) @@ -2590,11 +2997,11 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/devtools@0.6.11(csstype@3.1.3)(solid-js@1.9.9)': + '@tanstack/devtools@0.6.13(csstype@3.1.3)(solid-js@1.9.9)': dependencies: '@solid-primitives/keyboard': 1.3.3(solid-js@1.9.9) '@tanstack/devtools-event-bus': 0.3.2 - '@tanstack/devtools-ui': 0.3.4(csstype@3.1.3)(solid-js@1.9.9) + '@tanstack/devtools-ui': 0.3.5(csstype@3.1.3)(solid-js@1.9.9) clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.9 @@ -2603,19 +3010,21 @@ snapshots: - csstype - utf-8-validate - '@tanstack/form-core@1.20.0': + '@tanstack/form-core@1.21.2': dependencies: + '@tanstack/devtools-event-client': 0.2.5 '@tanstack/store': 0.7.5 + uuid: 13.0.0 '@tanstack/history@1.131.2': {} - '@tanstack/query-core@5.87.4': {} + '@tanstack/query-core@5.89.0': {} '@tanstack/query-devtools@5.87.3': {} - '@tanstack/react-devtools@0.6.7(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)': + '@tanstack/react-devtools@0.6.9(@types/react-dom@19.1.9(@types/react@19.1.13))(@types/react@19.1.13)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)': dependencies: - '@tanstack/devtools': 0.6.11(csstype@3.1.3)(solid-js@1.9.9) + '@tanstack/devtools': 0.6.13(csstype@3.1.3)(solid-js@1.9.9) '@types/react': 19.1.13 '@types/react-dom': 19.1.9(@types/react@19.1.13) react: 19.1.1 @@ -2626,9 +3035,9 @@ snapshots: - solid-js - utf-8-validate - '@tanstack/react-form@1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-form@1.21.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@tanstack/form-core': 1.20.0 + '@tanstack/form-core': 1.21.2 '@tanstack/react-store': 0.7.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) decode-formdata: 0.9.0 devalue: 5.3.2 @@ -2636,21 +3045,21 @@ snapshots: transitivePeerDependencies: - react-dom - '@tanstack/react-query-devtools@5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1)': + '@tanstack/react-query-devtools@5.89.0(@tanstack/react-query@5.89.0(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/query-devtools': 5.87.3 - '@tanstack/react-query': 5.87.4(react@19.1.1) + '@tanstack/react-query': 5.89.0(react@19.1.1) react: 19.1.1 - '@tanstack/react-query@5.87.4(react@19.1.1)': + '@tanstack/react-query@5.89.0(react@19.1.1)': dependencies: - '@tanstack/query-core': 5.87.4 + '@tanstack/query-core': 5.89.0 react: 19.1.1 - '@tanstack/react-router-devtools@1.131.42(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.41)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3)': + '@tanstack/react-router-devtools@1.131.48(@tanstack/react-router@1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.48)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.9)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-devtools-core': 1.131.42(@tanstack/router-core@1.131.41)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3) + '@tanstack/react-router': 1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-devtools-core': 1.131.48(@tanstack/router-core@1.131.48)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) transitivePeerDependencies: @@ -2659,11 +3068,11 @@ snapshots: - solid-js - tiny-invariant - '@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-router@1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/history': 1.131.2 '@tanstack/react-store': 0.7.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-core': 1.131.41 + '@tanstack/router-core': 1.131.48 isbot: 5.1.30 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -2677,7 +3086,7 @@ snapshots: react-dom: 19.1.1(react@19.1.1) use-sync-external-store: 1.5.0(react@19.1.1) - '@tanstack/router-core@1.131.41': + '@tanstack/router-core@1.131.48': dependencies: '@tanstack/history': 1.131.2 '@tanstack/store': 0.7.5 @@ -2687,9 +3096,9 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/router-devtools-core@1.131.42(@tanstack/router-core@1.131.41)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3)': + '@tanstack/router-devtools-core@1.131.48(@tanstack/router-core@1.131.48)(csstype@3.1.3)(solid-js@1.9.9)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/router-core': 1.131.41 + '@tanstack/router-core': 1.131.48 clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.9 @@ -2697,9 +3106,9 @@ snapshots: optionalDependencies: csstype: 3.1.3 - '@tanstack/router-generator@1.131.41': + '@tanstack/router-generator@1.131.48': dependencies: - '@tanstack/router-core': 1.131.41 + '@tanstack/router-core': 1.131.48 '@tanstack/router-utils': 1.131.2 '@tanstack/virtual-file-routes': 1.131.2 prettier: 3.6.2 @@ -2710,7 +3119,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.131.43(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(sass@1.92.1)(tsx@4.20.5))': + '@tanstack/router-plugin@1.131.48(@tanstack/react-router@1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) @@ -2718,8 +3127,8 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.28.4 '@babel/types': 7.28.4 - '@tanstack/router-core': 1.131.41 - '@tanstack/router-generator': 1.131.41 + '@tanstack/router-core': 1.131.48 + '@tanstack/router-generator': 1.131.48 '@tanstack/router-utils': 1.131.2 '@tanstack/virtual-file-routes': 1.131.2 babel-dead-code-elimination: 1.0.10 @@ -2727,8 +3136,8 @@ snapshots: unplugin: 2.3.10 zod: 3.25.76 optionalDependencies: - '@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - vite: 7.1.5(sass@1.92.1)(tsx@4.20.5) + '@tanstack/react-router': 1.131.48(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + vite: 7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5) transitivePeerDependencies: - supports-color @@ -2751,6 +3160,10 @@ snapshots: '@types/json-schema@7.0.15': {} + '@types/node@24.5.2': + dependencies: + undici-types: 7.12.0 + '@types/react-dom@19.1.9(@types/react@19.1.13)': dependencies: '@types/react': 19.1.13 @@ -2759,104 +3172,109 @@ snapshots: dependencies: csstype: 3.1.3 - '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3))(eslint@9.35.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.43.0 + '@typescript-eslint/parser': 8.44.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.44.0 + '@typescript-eslint/type-utils': 8.44.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/utils': 8.44.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.44.0 eslint: 9.35.0 graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.44.0(eslint@9.35.0)(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.43.0 + '@typescript-eslint/scope-manager': 8.44.0 + '@typescript-eslint/types': 8.44.0 + '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.44.0 debug: 4.4.3 eslint: 9.35.0 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.43.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.44.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/tsconfig-utils': 8.44.0(typescript@5.9.2) + '@typescript-eslint/types': 8.44.0 debug: 4.4.3 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.43.0': + '@typescript-eslint/scope-manager@8.44.0': dependencies: - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/visitor-keys': 8.43.0 + '@typescript-eslint/types': 8.44.0 + '@typescript-eslint/visitor-keys': 8.44.0 - '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.44.0(typescript@5.9.2)': dependencies: - typescript: 5.8.3 + typescript: 5.9.2 - '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.44.0(eslint@9.35.0)(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/types': 8.44.0 + '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.44.0(eslint@9.35.0)(typescript@5.9.2) debug: 4.4.3 eslint: 9.35.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.43.0': {} + '@typescript-eslint/types@8.44.0': {} - '@typescript-eslint/typescript-estree@8.43.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.44.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.43.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/visitor-keys': 8.43.0 + '@typescript-eslint/project-service': 8.44.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.44.0(typescript@5.9.2) + '@typescript-eslint/types': 8.44.0 + '@typescript-eslint/visitor-keys': 8.44.0 debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.44.0(eslint@9.35.0)(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.44.0 + '@typescript-eslint/types': 8.44.0 + '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) eslint: 9.35.0 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.43.0': + '@typescript-eslint/visitor-keys@8.44.0': dependencies: - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/types': 8.44.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-react-swc@4.0.1(vite@7.1.5(sass@1.92.1)(tsx@4.20.5))': + '@uidotdev/usehooks@2.4.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + + '@vitejs/plugin-react-swc@4.1.0(vite@7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.32 + '@rolldown/pluginutils': 1.0.0-beta.35 '@swc/core': 1.13.5 - vite: 7.1.5(sass@1.92.1)(tsx@4.20.5) + vite: 7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5) transitivePeerDependencies: - '@swc/helpers' @@ -2873,6 +3291,15 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-regex@5.0.1: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -2888,10 +3315,14 @@ snapshots: array-timsort@1.0.3: {} + array-union@2.1.0: {} + ast-types@0.16.1: dependencies: tslib: 2.8.1 + astral-regex@2.0.0: {} + asynckit@0.4.0: {} axios@1.12.2: @@ -2913,7 +3344,9 @@ snapshots: balanced-match@1.0.2: {} - baseline-browser-mapping@2.8.3: {} + balanced-match@2.0.0: {} + + baseline-browser-mapping@2.8.6: {} binary-extensions@2.3.0: {} @@ -2930,13 +3363,21 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.26.0: + browserslist@4.26.2: dependencies: - baseline-browser-mapping: 2.8.3 - caniuse-lite: 1.0.30001741 - electron-to-chromium: 1.5.218 + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001743 + electron-to-chromium: 1.5.222 node-releases: 2.0.21 - update-browserslist-db: 1.1.3(browserslist@4.26.0) + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + cacheable@2.0.1: + dependencies: + '@cacheable/memoize': 2.0.1 + '@cacheable/memory': 2.0.1 + '@cacheable/utils': 2.0.1 + hookified: 1.12.1 + keyv: 5.5.2 call-bind-apply-helpers@1.0.2: dependencies: @@ -2945,7 +3386,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001741: {} + caniuse-lite@1.0.30001743: {} chalk@4.1.2: dependencies: @@ -2976,6 +3417,8 @@ snapshots: color-name@1.1.4: {} + colord@2.9.3: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -3000,12 +3443,30 @@ snapshots: core-util-is@1.0.3: {} + cosmiconfig@9.0.0(typescript@5.9.2): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.9.2 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + css-functions-list@3.2.3: {} + + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + + cssesc@3.0.0: {} + csstype@3.1.3: {} debug@4.4.3: @@ -3027,13 +3488,25 @@ snapshots: diff@8.0.2: {} + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - electron-to-chromium@1.5.218: {} + electron-to-chromium@1.5.222: {} + + emoji-regex@8.0.0: {} + + env-paths@2.2.1: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 es-define-property@1.0.1: {} @@ -3050,34 +3523,34 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild@0.25.9: + esbuild@0.25.10: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.9 - '@esbuild/android-arm': 0.25.9 - '@esbuild/android-arm64': 0.25.9 - '@esbuild/android-x64': 0.25.9 - '@esbuild/darwin-arm64': 0.25.9 - '@esbuild/darwin-x64': 0.25.9 - '@esbuild/freebsd-arm64': 0.25.9 - '@esbuild/freebsd-x64': 0.25.9 - '@esbuild/linux-arm': 0.25.9 - '@esbuild/linux-arm64': 0.25.9 - '@esbuild/linux-ia32': 0.25.9 - '@esbuild/linux-loong64': 0.25.9 - '@esbuild/linux-mips64el': 0.25.9 - '@esbuild/linux-ppc64': 0.25.9 - '@esbuild/linux-riscv64': 0.25.9 - '@esbuild/linux-s390x': 0.25.9 - '@esbuild/linux-x64': 0.25.9 - '@esbuild/netbsd-arm64': 0.25.9 - '@esbuild/netbsd-x64': 0.25.9 - '@esbuild/openbsd-arm64': 0.25.9 - '@esbuild/openbsd-x64': 0.25.9 - '@esbuild/openharmony-arm64': 0.25.9 - '@esbuild/sunos-x64': 0.25.9 - '@esbuild/win32-arm64': 0.25.9 - '@esbuild/win32-ia32': 0.25.9 - '@esbuild/win32-x64': 0.25.9 + '@esbuild/aix-ppc64': 0.25.10 + '@esbuild/android-arm': 0.25.10 + '@esbuild/android-arm64': 0.25.10 + '@esbuild/android-x64': 0.25.10 + '@esbuild/darwin-arm64': 0.25.10 + '@esbuild/darwin-x64': 0.25.10 + '@esbuild/freebsd-arm64': 0.25.10 + '@esbuild/freebsd-x64': 0.25.10 + '@esbuild/linux-arm': 0.25.10 + '@esbuild/linux-arm64': 0.25.10 + '@esbuild/linux-ia32': 0.25.10 + '@esbuild/linux-loong64': 0.25.10 + '@esbuild/linux-mips64el': 0.25.10 + '@esbuild/linux-ppc64': 0.25.10 + '@esbuild/linux-riscv64': 0.25.10 + '@esbuild/linux-s390x': 0.25.10 + '@esbuild/linux-x64': 0.25.10 + '@esbuild/netbsd-arm64': 0.25.10 + '@esbuild/netbsd-x64': 0.25.10 + '@esbuild/openbsd-arm64': 0.25.10 + '@esbuild/openbsd-x64': 0.25.10 + '@esbuild/openharmony-arm64': 0.25.10 + '@esbuild/sunos-x64': 0.25.10 + '@esbuild/win32-arm64': 0.25.10 + '@esbuild/win32-ia32': 0.25.10 + '@esbuild/win32-x64': 0.25.10 escalade@3.2.0: {} @@ -3166,6 +3639,10 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-uri@3.1.0: {} + + fastest-levenshtein@1.0.16: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -3174,6 +3651,10 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + file-entry-cache@10.1.4: + dependencies: + flat-cache: 6.1.14 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -3192,6 +3673,12 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 + flat-cache@6.1.14: + dependencies: + cacheable: 2.0.1 + flatted: 3.3.3 + hookified: 1.12.1 + flatted@3.3.3: {} follow-redirects@1.15.11: {} @@ -3204,7 +3691,7 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 - framer-motion@12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + framer-motion@12.23.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: motion-dom: 12.23.12 motion-utils: 12.23.6 @@ -3250,10 +3737,31 @@ snapshots: dependencies: is-glob: 4.0.3 + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + globals@14.0.0: {} globals@16.4.0: {} + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globjoin@0.1.4: {} + goober@2.1.16(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -3276,6 +3784,10 @@ snapshots: dependencies: function-bind: 1.1.2 + hookified@1.12.1: {} + + html-tags@3.3.1: {} + human-id@4.1.1: {} ignore@5.3.2: {} @@ -3291,18 +3803,26 @@ snapshots: imurmurhash@0.1.4: {} + ini@1.3.8: {} + + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} + is-plain-object@5.0.0: {} + isbot@5.1.30: {} isexe@2.0.0: {} @@ -3319,8 +3839,12 @@ snapshots: json-buffer@3.0.1: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -3329,6 +3853,16 @@ snapshots: dependencies: json-buffer: 3.0.1 + keyv@5.5.2: + dependencies: + '@keyv/serialize': 1.1.1 + + kind-of@6.0.3: {} + + known-css-properties@0.36.0: {} + + known-css-properties@0.37.0: {} + kysely@0.27.6: {} levn@0.4.1: @@ -3336,18 +3870,30 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lines-and-columns@1.2.4: {} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 lodash.merge@4.6.2: {} + lodash.truncate@4.4.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 math-intrinsics@1.1.0: {} + mathml-tag-names@2.1.3: {} + + mdn-data@2.12.2: {} + + mdn-data@2.24.0: {} + + meow@13.2.0: {} + merge2@1.4.1: {} micromatch@4.0.8: @@ -3375,9 +3921,9 @@ snapshots: motion-utils@12.23.6: {} - motion@12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + motion@12.23.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: - framer-motion: 12.23.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + framer-motion: 12.23.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1) tslib: 2.8.1 optionalDependencies: react: 19.1.1 @@ -3417,16 +3963,44 @@ snapshots: dependencies: callsites: 3.1.0 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + path-exists@4.0.0: {} path-key@3.1.1: {} + path-type@4.0.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} picomatch@4.0.3: {} + postcss-media-query-parser@0.2.3: {} + + postcss-resolve-nested-selector@0.1.6: {} + + postcss-safe-parser@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-scss@4.0.9(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -3466,37 +4040,41 @@ snapshots: repeat-string@1.6.1: {} + require-from-string@2.0.2: {} + resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} reusify@1.1.0: {} - rollup@4.50.2: + rollup@4.51.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.2 - '@rollup/rollup-android-arm64': 4.50.2 - '@rollup/rollup-darwin-arm64': 4.50.2 - '@rollup/rollup-darwin-x64': 4.50.2 - '@rollup/rollup-freebsd-arm64': 4.50.2 - '@rollup/rollup-freebsd-x64': 4.50.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.2 - '@rollup/rollup-linux-arm-musleabihf': 4.50.2 - '@rollup/rollup-linux-arm64-gnu': 4.50.2 - '@rollup/rollup-linux-arm64-musl': 4.50.2 - '@rollup/rollup-linux-loong64-gnu': 4.50.2 - '@rollup/rollup-linux-ppc64-gnu': 4.50.2 - '@rollup/rollup-linux-riscv64-gnu': 4.50.2 - '@rollup/rollup-linux-riscv64-musl': 4.50.2 - '@rollup/rollup-linux-s390x-gnu': 4.50.2 - '@rollup/rollup-linux-x64-gnu': 4.50.2 - '@rollup/rollup-linux-x64-musl': 4.50.2 - '@rollup/rollup-openharmony-arm64': 4.50.2 - '@rollup/rollup-win32-arm64-msvc': 4.50.2 - '@rollup/rollup-win32-ia32-msvc': 4.50.2 - '@rollup/rollup-win32-x64-msvc': 4.50.2 + '@rollup/rollup-android-arm-eabi': 4.51.0 + '@rollup/rollup-android-arm64': 4.51.0 + '@rollup/rollup-darwin-arm64': 4.51.0 + '@rollup/rollup-darwin-x64': 4.51.0 + '@rollup/rollup-freebsd-arm64': 4.51.0 + '@rollup/rollup-freebsd-x64': 4.51.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.51.0 + '@rollup/rollup-linux-arm-musleabihf': 4.51.0 + '@rollup/rollup-linux-arm64-gnu': 4.51.0 + '@rollup/rollup-linux-arm64-musl': 4.51.0 + '@rollup/rollup-linux-loong64-gnu': 4.51.0 + '@rollup/rollup-linux-ppc64-gnu': 4.51.0 + '@rollup/rollup-linux-riscv64-gnu': 4.51.0 + '@rollup/rollup-linux-riscv64-musl': 4.51.0 + '@rollup/rollup-linux-s390x-gnu': 4.51.0 + '@rollup/rollup-linux-x64-gnu': 4.51.0 + '@rollup/rollup-linux-x64-musl': 4.51.0 + '@rollup/rollup-openharmony-arm64': 4.51.0 + '@rollup/rollup-win32-arm64-msvc': 4.51.0 + '@rollup/rollup-win32-ia32-msvc': 4.51.0 + '@rollup/rollup-win32-x64-msvc': 4.51.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -3529,6 +4107,16 @@ snapshots: shebang-regex@3.0.0: {} + signal-exit@4.1.0: {} + + slash@3.0.0: {} + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + solid-js@1.9.9: dependencies: csstype: 3.1.3 @@ -3546,14 +4134,121 @@ snapshots: '@sqlite.org/sqlite-wasm': 3.48.0-build4 kysely: 0.27.6 + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strip-json-comments@3.1.1: {} + stylelint-config-recommended-scss@16.0.1(postcss@8.5.6)(stylelint@16.24.0(typescript@5.9.2)): + dependencies: + postcss-scss: 4.0.9(postcss@8.5.6) + stylelint: 16.24.0(typescript@5.9.2) + stylelint-config-recommended: 17.0.0(stylelint@16.24.0(typescript@5.9.2)) + stylelint-scss: 6.12.1(stylelint@16.24.0(typescript@5.9.2)) + optionalDependencies: + postcss: 8.5.6 + + stylelint-config-recommended@17.0.0(stylelint@16.24.0(typescript@5.9.2)): + dependencies: + stylelint: 16.24.0(typescript@5.9.2) + + stylelint-config-standard-scss@16.0.0(postcss@8.5.6)(stylelint@16.24.0(typescript@5.9.2)): + dependencies: + stylelint: 16.24.0(typescript@5.9.2) + stylelint-config-recommended-scss: 16.0.1(postcss@8.5.6)(stylelint@16.24.0(typescript@5.9.2)) + stylelint-config-standard: 39.0.0(stylelint@16.24.0(typescript@5.9.2)) + optionalDependencies: + postcss: 8.5.6 + + stylelint-config-standard@39.0.0(stylelint@16.24.0(typescript@5.9.2)): + dependencies: + stylelint: 16.24.0(typescript@5.9.2) + stylelint-config-recommended: 17.0.0(stylelint@16.24.0(typescript@5.9.2)) + + stylelint-scss@6.12.1(stylelint@16.24.0(typescript@5.9.2)): + dependencies: + css-tree: 3.1.0 + is-plain-object: 5.0.0 + known-css-properties: 0.36.0 + mdn-data: 2.24.0 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + stylelint: 16.24.0(typescript@5.9.2) + + stylelint@16.24.0(typescript@5.9.2): + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + '@dual-bundle/import-meta-resolve': 4.2.1 + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 9.0.0(typescript@5.9.2) + css-functions-list: 3.2.3 + css-tree: 3.1.0 + debug: 4.4.3 + fast-glob: 3.3.3 + fastest-levenshtein: 1.0.16 + file-entry-cache: 10.1.4 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 7.0.5 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.37.0 + mathml-tag-names: 2.1.3 + meow: 13.2.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-resolve-nested-selector: 0.1.6 + postcss-safe-parser: 7.0.1(postcss@8.5.6) + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + supports-hyperlinks: 3.2.0 + svg-tags: 1.0.0 + table: 6.9.0 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + supports-color@7.2.0: dependencies: has-flag: 4.0.0 + supports-hyperlinks@3.2.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + svg-tags@1.0.0: {} + tabbable@6.2.0: {} + table@6.9.0: + dependencies: + ajv: 8.17.1 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + tiny-invariant@1.3.3: {} tiny-warning@1.0.3: {} @@ -3567,15 +4262,15 @@ snapshots: dependencies: is-number: 7.0.0 - ts-api-utils@2.1.0(typescript@5.8.3): + ts-api-utils@2.1.0(typescript@5.9.2): dependencies: - typescript: 5.8.3 + typescript: 5.9.2 tslib@2.8.1: {} tsx@4.20.5: dependencies: - esbuild: 0.25.9 + esbuild: 0.25.10 get-tsconfig: 4.10.1 optionalDependencies: fsevents: 2.3.3 @@ -3584,18 +4279,20 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.8.3): + typescript-eslint@8.44.0(eslint@9.35.0)(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.8.3))(eslint@9.35.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.8.3) - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.44.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.44.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.44.0(eslint@9.35.0)(typescript@5.9.2) eslint: 9.35.0 - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - typescript@5.8.3: {} + typescript@5.9.2: {} + + undici-types@7.12.0: {} unplugin@2.3.10: dependencies: @@ -3604,9 +4301,9 @@ snapshots: picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.3(browserslist@4.26.0): + update-browserslist-db@1.1.3(browserslist@4.26.2): dependencies: - browserslist: 4.26.0 + browserslist: 4.26.2 escalade: 3.2.0 picocolors: 1.1.1 @@ -3620,29 +4317,43 @@ snapshots: dependencies: react: 19.1.1 + util-deprecate@1.0.2: {} + uuid@10.0.0: {} - vite@7.1.5(sass@1.92.1)(tsx@4.20.5): + uuid@13.0.0: {} + + vite@7.1.6(@types/node@24.5.2)(sass@1.92.1)(tsx@4.20.5): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.10 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.2 + rollup: 4.51.0 tinyglobby: 0.2.15 optionalDependencies: + '@types/node': 24.5.2 fsevents: 2.3.3 sass: 1.92.1 tsx: 4.20.5 webpack-virtual-modules@0.6.2: {} + which@1.3.1: + dependencies: + isexe: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + ws@8.18.3: {} yallist@3.1.1: {} diff --git a/webnext/src/routeTree.gen.ts b/webnext/src/routeTree.gen.ts index e3c97c56..d204c269 100644 --- a/webnext/src/routeTree.gen.ts +++ b/webnext/src/routeTree.gen.ts @@ -8,52 +8,52 @@ // You should NOT make any changes in this file as it will be overwritten. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. -import { Route as rootRouteImport } from './routes/__root'; -import { Route as IndexRouteImport } from './routes/index'; +import { Route as rootRouteImport } from './routes/__root' +import { Route as IndexRouteImport } from './routes/index' const IndexRoute = IndexRouteImport.update({ id: '/', path: '/', getParentRoute: () => rootRouteImport, -} as any); +} as any) export interface FileRoutesByFullPath { - '/': typeof IndexRoute; + '/': typeof IndexRoute } export interface FileRoutesByTo { - '/': typeof IndexRoute; + '/': typeof IndexRoute } export interface FileRoutesById { - __root__: typeof rootRouteImport; - '/': typeof IndexRoute; + __root__: typeof rootRouteImport + '/': typeof IndexRoute } export interface FileRouteTypes { - fileRoutesByFullPath: FileRoutesByFullPath; - fullPaths: '/'; - fileRoutesByTo: FileRoutesByTo; - to: '/'; - id: '__root__' | '/'; - fileRoutesById: FileRoutesById; + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/' + fileRoutesByTo: FileRoutesByTo + to: '/' + id: '__root__' | '/' + fileRoutesById: FileRoutesById } export interface RootRouteChildren { - IndexRoute: typeof IndexRoute; + IndexRoute: typeof IndexRoute } declare module '@tanstack/react-router' { interface FileRoutesByPath { '/': { - id: '/'; - path: '/'; - fullPath: '/'; - preLoaderRoute: typeof IndexRouteImport; - parentRoute: typeof rootRouteImport; - }; + id: '/' + path: '/' + fullPath: '/' + preLoaderRoute: typeof IndexRouteImport + parentRoute: typeof rootRouteImport + } } } const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, -}; +} export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) - ._addFileTypes(); + ._addFileTypes() diff --git a/webnext/src/routes/index.tsx b/webnext/src/routes/index.tsx index 6becf904..26483c3b 100644 --- a/webnext/src/routes/index.tsx +++ b/webnext/src/routes/index.tsx @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/react-router'; -import { IndexPage } from '../pages/IndexPage/IndexPage'; +import { TestPage } from '../test_components/page/TestPage'; export const Route = createFileRoute('/')({ - component: IndexPage, + component: TestPage, }); diff --git a/webnext/src/shared/components/Container/Container.tsx b/webnext/src/shared/components/Container/Container.tsx new file mode 100644 index 00000000..60a1f010 --- /dev/null +++ b/webnext/src/shared/components/Container/Container.tsx @@ -0,0 +1,28 @@ +import './style.scss'; +import clsx from 'clsx'; +import type { HTMLProps, PropsWithChildren } from 'react'; +import { BorderRadius, type BorderRadiusValue } from '../../defguard-ui/types'; + +type Props = { + borderRadius?: BorderRadiusValue; +} & PropsWithChildren & + HTMLProps; + +export const Container = ({ + className, + children, + borderRadius = BorderRadius.Lg, + ...rest +}: Props) => { + return ( +
+ {children} +
+ ); +}; diff --git a/webnext/src/shared/components/Container/style.scss b/webnext/src/shared/components/Container/style.scss new file mode 100644 index 00000000..042f85e6 --- /dev/null +++ b/webnext/src/shared/components/Container/style.scss @@ -0,0 +1,3 @@ +.container { + border: 1px solid var(--border-default); +} diff --git a/webnext/src/shared/components/Page/Page.tsx b/webnext/src/shared/components/Page/Page.tsx new file mode 100644 index 00000000..3b4903b8 --- /dev/null +++ b/webnext/src/shared/components/Page/Page.tsx @@ -0,0 +1,17 @@ +import './style.scss'; +import clsx from 'clsx'; +import type { HTMLProps, PropsWithChildren } from 'react'; + +type Props = PropsWithChildren & HTMLProps; + +export const Page = ({ className, children, ...rest }: Props) => { + return ( +
+
+
+
{children}
+
+
+
+ ); +}; diff --git a/webnext/src/shared/components/Page/style.scss b/webnext/src/shared/components/Page/style.scss new file mode 100644 index 00000000..d55bc4ac --- /dev/null +++ b/webnext/src/shared/components/Page/style.scss @@ -0,0 +1,26 @@ +.page { + width: 100%; + + & > .content-track { + display: flex; + flex-flow: row; + align-items: center; + justify-content: center; + box-sizing: border-box; + padding: 0 var(--spacing-xl); + + & > .content-limiter { + width: 100%; + max-width: 1440px; + display: grid; + grid-template-columns: repeat(12, 1fr); + grid-template-rows: 1fr; + column-gap: 40px; + + & > .page-content { + grid-row: 1; + grid-column: 4 / 10; + } + } + } +} diff --git a/webnext/src/shared/consts.ts b/webnext/src/shared/consts.ts index e69de29b..0be8e07a 100644 --- a/webnext/src/shared/consts.ts +++ b/webnext/src/shared/consts.ts @@ -0,0 +1,5 @@ +export const motionTransitionStandard = { + type: 'tween', + ease: 'easeOut', + duration: 0.16, +} as const; diff --git a/webnext/src/shared/defguard-ui/components/Avatar/Avatar.tsx b/webnext/src/shared/defguard-ui/components/Avatar/Avatar.tsx new file mode 100644 index 00000000..ff61b189 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Avatar/Avatar.tsx @@ -0,0 +1,46 @@ +import './style.scss'; +import clsx from 'clsx'; +import { useId } from 'react'; +import type { AvatarSizeValue } from './types'; + +type Props = { + size?: AvatarSizeValue; + name?: string; +}; + +export const Avatar = ({ size = 'default' }: Props) => { + return ( +
+
+ +
+
+ ); +}; + +const EmptyIcon = () => { + const id = useId(); + return ( + + + + + + + + + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Avatar/style.scss b/webnext/src/shared/defguard-ui/components/Avatar/style.scss new file mode 100644 index 00000000..20b26195 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Avatar/style.scss @@ -0,0 +1,47 @@ +.avatar { + user-select: none; + + &.size-small { + .inner { + width: 16px; + height: 16px; + } + } + + &.size-default { + .inner { + width: 24px; + height: 24px; + } + } + + &.size-big { + .inner { + width: 40px; + height: 40px; + } + } + + svg { + height: inherit; + width: inherit; + } +} + +.avatar .icon-default { + g { + rect { + fill: var(--bg-emphasis); + } + + path { + fill: var(--bg-faded); + } + } + + defs { + rect { + fill: var(--fg-default); + } + } +} diff --git a/webnext/src/shared/defguard-ui/components/Avatar/types.ts b/webnext/src/shared/defguard-ui/components/Avatar/types.ts new file mode 100644 index 00000000..c3eeedc2 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Avatar/types.ts @@ -0,0 +1,7 @@ +export const AvatarSize = { + Default: 'default', + Small: 'small', + Big: 'big', +} as const; + +export type AvatarSizeValue = (typeof AvatarSize)[keyof typeof AvatarSize]; diff --git a/webnext/src/shared/defguard-ui/components/Badge/Badge.tsx b/webnext/src/shared/defguard-ui/components/Badge/Badge.tsx new file mode 100644 index 00000000..b87141d1 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Badge/Badge.tsx @@ -0,0 +1,37 @@ +import './style.scss'; +import clsx from 'clsx'; +import type { Ref } from 'react'; +import { Icon } from '../Icon'; +import type { BadgeVariantValue } from './types'; + +type Props = { + text: string; + background?: boolean; + variant?: BadgeVariantValue; + className?: string; + testId?: string; + ref?: Ref; +}; + +export const Badge = ({ + text, + className, + testId, + ref, + background = false, + variant = 'neutral', +}: Props) => { + return ( +
+ + {text} +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Badge/style.scss b/webnext/src/shared/defguard-ui/components/Badge/style.scss new file mode 100644 index 00000000..64354a68 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Badge/style.scss @@ -0,0 +1,68 @@ +.badge { + --bg-color: transparent; + --color: var(--fg-neutral); + --icon-color: var(--color); + + border-radius: var(--badge-border-radius); + display: grid; + grid-template-columns: 20px auto; + grid-template-rows: 1fr; + align-items: center; + box-sizing: border-box; + padding: calc(var(--badge-spacing) / 2) var(--badge-spacing); + column-gap: var(--badge-gap); + background-color: var(--bg-color); + color: var(--color); + user-select: none; + + @include animate(background-color); + + &.variant-neutral { + --color: var(--fg-neutral); + --icon-color: var(--fg-muted); + + &:not(.bg) { + --bg-color: var(--bg-muted); + } + } + + &.variant-success { + --color: var(--fg-success); + + &:not(.bg) { + --bg-color: var(--c-green-500-transparent); + } + } + + &.variant-critical { + --color: var(--fg-critical); + + &:not(.bg) { + --bg-color: var(--c-red-500-transparent); + } + } + + &.variant-warning { + --color: var(--fg-attention); + + &:not(.bg) { + --bg-color: var(--c-orange-500-transparent); + } + } + + span { + font: var(--t-badge); + letter-spacing: var(--t-badge-spacing); + color: inherit; + + @include animate(color); + } + + & > .icon > svg { + rect { + fill: var(--icon-color); + + @include animate(fill); + } + } +} diff --git a/webnext/src/shared/defguard-ui/components/Badge/types.ts b/webnext/src/shared/defguard-ui/components/Badge/types.ts new file mode 100644 index 00000000..f2002f1a --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Badge/types.ts @@ -0,0 +1,8 @@ +export const BadgeVariant = { + Neutral: 'neutral', + Success: 'success', + Critical: 'critical', + Warning: 'warning', +} as const; + +export type BadgeVariantValue = (typeof BadgeVariant)[keyof typeof BadgeVariant]; diff --git a/webnext/src/shared/defguard-ui/components/Button/Button.tsx b/webnext/src/shared/defguard-ui/components/Button/Button.tsx index 6efd75d6..f09487f7 100644 --- a/webnext/src/shared/defguard-ui/components/Button/Button.tsx +++ b/webnext/src/shared/defguard-ui/components/Button/Button.tsx @@ -1,17 +1,62 @@ +import './style.scss'; import { clsx } from 'clsx'; +import { AnimatePresence, motion } from 'motion/react'; +import { motionTransitionStandard } from '../../../consts'; +import { isPresent } from '../../utils/isPresent'; +import { LoaderSpinner } from '../LoaderSpinner/LoaderSpinner'; +import type { ButtonProps } from './types'; -type ButtonVariant = '' | ''; - -type Props = { - text: string; - variant: ButtonVariant; -}; - -export const Button = ({}: Props) => { +export const Button = ({ + text, + testId, + iconLeft, + iconRight, + onClick, + ref, + size = 'primary', + variant = 'primary', + type = 'button', + disabled = false, + loading = false, +}: ButtonProps) => { return ( - ); }; diff --git a/webnext/src/shared/defguard-ui/components/Button/style.scss b/webnext/src/shared/defguard-ui/components/Button/style.scss new file mode 100644 index 00000000..de4ae93d --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Button/style.scss @@ -0,0 +1,156 @@ +.btn { + --btn-size: var(--button-size-primary); + --border-color: transparent; + --bg-color: transparent; + --text-color: var(--fg-default); + --loader-bg: transparent; + --loader-track: transparent; + --loader-part: transparent; + + border: none; + box-sizing: border-box; + border-radius: var(--button-border-radius-primary); + background: var(--bg-color); + box-shadow: 0 0 0 1px var(--border-color); + color: var(--text-color); + min-height: var(--button-size-primary); + padding: var(--spacing-sm) var(--spacing-lg); + background-clip: padding-box; + position: relative; + user-select: none; + + @include animate(background-color, border-color, opacity, box-shadow); + + &:not(.disabled, .loading) { + cursor: pointer; + } + + &.disabled { + cursor: not-allowed; + pointer-events: none; + } + + .text { + font: var(--t-button-label-primary); + color: inherit; + + @include animate(color); + } + + &.size-primary { + --btn-size: var(--button-size-primary); + } + + &.size-big { + --btn-size: var(--button-size-big); + } + + &.variant-primary { + --bg-color: var(--fg-action); + --border-color: var(--fg-action); + --text-color: var(--fg-white); + --loader-track: var(--c-white-50); + --loader-part: var(--c-white); + --loader-bg: var(--bg-action-emphasis); + + &:hover { + --bg-color: var(--bg-action-emphasis); + --border-color: var(--bg-color); + } + + &.disabled { + --bg-color: var(--fg-blue-transparent-2); + --border-color: var(--bg-color); + --text-color: var(--fg-action-muted); + } + } + + &.variant-secondary { + --bg-color: var(--bg-emphasis); + --border-color: var(--bg-color); + --text-color: var(--fg-default); + --loader-track: var(--c-neutral-400); + --loader-part: var(--c-neutral-800); + --loader-bg: var(--bg-active); + + &:hover { + --bg-color: var(--bg-active); + } + + &.disabled { + --bg-color: var(--bg-disabled); + --text-color: var(--fg-disabled); + } + } + + &.variant-critical { + --bg-color: var(--bg-critical); + --border-color: var(--bg-color); + --text-color: var(--fg-white); + --loader-track: var(--c-white-50); + --loader-part: var(--c-white); + --loader-bg: var(--bg-critical-faded); + + &:hover { + --bg-color: var(--bg-critical-faded); + } + + &.disabled { + --bg-color: var(--bg-critical-muted); + --text-color: var(--fg-white-transparent); + } + } + + &.variant-outlined { + --bg-color: transparent; + --border-color: var(--border-action); + --loader-track: var(--c-blue-200); + --loader-part: var(--c-blue-500); + --loader-bg: var(--bg-action-muted); + + &:hover { + --bg-color: var(--bg-action-muted); + --border-color: var(--border-action); + } + + &.disabled { + --bg-color: var(--fg-blue-transparent-2); + --border-color: var(--bg-color); + --text-color: var(--fg-action-muted); + } + } + + // since box-shadow adds on top of element it's needed to be set with loader overlay + &:not(.disabled).loading { + --border-color: var(--loader-bg); + } + + .loader-overlay { + background-color: var(--loader-bg); + border: none; + border-radius: inherit; + position: absolute; + inset: 0; + width: 100%; + height: 100%; + display: flex; + flex-flow: row; + align-items: center; + justify-content: center; + + svg { + & > path { + stroke: var(--loader-part); + fill: none; + + @include animate(stroke); + } + + & > circle { + stroke: var(--loader-track); + + @include animate(stroke); + } + } + } +} diff --git a/webnext/src/shared/defguard-ui/components/Button/types.ts b/webnext/src/shared/defguard-ui/components/Button/types.ts new file mode 100644 index 00000000..6f00702e --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Button/types.ts @@ -0,0 +1,22 @@ +import type { ButtonHTMLAttributes, Ref } from 'react'; +import type { IconKindValue } from '../Icon/icon-types'; + +type DefaultButtonProps = ButtonHTMLAttributes; + +type ButtonVariant = 'primary' | 'secondary' | 'critical' | 'outlined'; + +type ButtonSize = 'primary' | 'big'; + +export type ButtonProps = { + text: string; + variant?: ButtonVariant; + size?: ButtonSize; + type?: DefaultButtonProps['type']; + iconLeft?: IconKindValue; + iconRight?: IconKindValue; + testId?: string; + disabled?: boolean; + loading?: boolean; + onClick?: () => void; + ref?: Ref; +}; diff --git a/webnext/src/shared/defguard-ui/components/Checkbox/Checkbox.tsx b/webnext/src/shared/defguard-ui/components/Checkbox/Checkbox.tsx new file mode 100644 index 00000000..72be6a26 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Checkbox/Checkbox.tsx @@ -0,0 +1,245 @@ +import clsx from 'clsx'; +import './style.scss'; +import { useHover } from '@uidotdev/usehooks'; +import { useId, useMemo } from 'react'; +import { isPresent } from '../../utils/isPresent'; + +type Props = { + canError?: boolean; + active?: boolean; + error?: string; + disabled?: boolean; + text?: string; + onClick?: () => void; +}; + +// todo: Include error text when it will be needed +export const Checkbox = ({ + text, + error, + canError = false, + active = false, + disabled = false, + onClick, +}: Props) => { + const hasError = isPresent(error); + + const [ref, hover] = useHover(); + + const ContentRender = useMemo(() => { + if (disabled) { + if (!active) return StateDefaultDisabled; + return StateSelectedDisabled; + } + if (active) { + return StateSelected; + } + if (hasError) { + return StateError; + } + if (hover) { + return StateHover; + } + return StateDefault; + }, [hover, active, hasError, disabled]); + + return ( +
+ + {isPresent(text) && {text}} +
+ ); +}; + +const StateDefault = () => { + const id = useId(); + return ( + + + + + + + + ); +}; +const StateDefaultDisabled = () => { + return ( + + + + + ); +}; +const StateHover = () => { + return ( + + + + + + + + ); +}; +const StateSelected = () => { + return ( + + + + + ); +}; +const StateSelectedDisabled = () => { + return ( + + + + + ); +}; +// const StateMixed = () => { +// return ( +// +// +// +// +// ); +// }; +// const StateMixedDisabled = () => { +// return ( +// +// +// +// +// ); +// }; +const StateError = () => { + return ( + + + + + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Checkbox/style.scss b/webnext/src/shared/defguard-ui/components/Checkbox/style.scss new file mode 100644 index 00000000..5830091b --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Checkbox/style.scss @@ -0,0 +1,29 @@ +.checkbox { + display: inline-block; + user-select: none; + + &:not(.disabled) { + cursor: pointer; + } + + .can-error { + padding-bottom: var(--form-field-error-space); + } + + &.disabled { + pointer-events: none; + cursor: not-allowed; + } + + &.text { + display: grid; + grid-template-columns: 24px auto; + grid-template-rows: 1fr; + column-gap: var(--spacing-sm); + align-items: center; + } + + span { + font: var(--t-body-sm-400); + } +} diff --git a/webnext/src/shared/defguard-ui/components/CounterLabel/CounterLabel.tsx b/webnext/src/shared/defguard-ui/components/CounterLabel/CounterLabel.tsx new file mode 100644 index 00000000..5f22bc2f --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/CounterLabel/CounterLabel.tsx @@ -0,0 +1,27 @@ +import clsx from 'clsx'; +import './style.scss'; +import type { Ref } from 'react'; + +type Variant = 'neutral' | 'default' | 'action' | 'critical' | 'warning'; + +type Props = { + ref?: Ref; + className?: string; + testId?: string; + id?: string; + value?: number; + variant?: Variant; +}; + +export const CounterLabel = ({ ref, className, id, testId, value, variant }: Props) => { + return ( +
+ {value ?? 0} +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/CounterLabel/style.scss b/webnext/src/shared/defguard-ui/components/CounterLabel/style.scss new file mode 100644 index 00000000..6864cf14 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/CounterLabel/style.scss @@ -0,0 +1,46 @@ +.counter-label { + --color: var(--fg-white); + --bg-color: transparent; + + color: var(--color); + background-color: var(--bg-color); + border-radius: 8px; + user-select: none; + pointer-events: none; + box-sizing: border-box; + padding: 0 var(--spacing-xs); + min-width: 20px; + display: inline-flex; + align-items: center; + justify-content: center; + flex-flow: row; + flex: none; + height: auto; + + &.variant-neutral { + --color: var(--fg-neutral); + --bg-color: var(--bg-emphasis); + } + + &.variant-action { + --bg-color: var(--bg-action); + } + + &.variant-critical { + --bg-color: var(--bg-critical); + } + + &.variant-warning { + --bg-color: var(--bg-warning); + } + + &.variant-default { + --bg-color: var(--bg-dark); + } + + span { + font: var(--t-body-xxs-600); + color: inherit; + text-align: center; + } +} diff --git a/webnext/src/shared/defguard-ui/components/Divider/Divider.tsx b/webnext/src/shared/defguard-ui/components/Divider/Divider.tsx new file mode 100644 index 00000000..22123376 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Divider/Divider.tsx @@ -0,0 +1,39 @@ +import './style.scss'; +import clsx from 'clsx'; +import type { OrientationValue } from '../../types'; +import { isPresent } from '../../utils/isPresent'; + +type Props = { + text?: string; + orientation?: OrientationValue; +}; + +export const Divider = ({ text, orientation }: Props) => { + const textPresent = isPresent(text) && text.length > 0; + + return ( +
+ {orientation === 'horizontal' && ( + <> + {textPresent && ( + <> + + {text} + + + )} + {!textPresent && } + + )} + {orientation === 'vertical' && } +
+ ); +}; + +const Line = () => { + return
; +}; diff --git a/webnext/src/shared/defguard-ui/components/Divider/style.scss b/webnext/src/shared/defguard-ui/components/Divider/style.scss new file mode 100644 index 00000000..a692a9ee --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Divider/style.scss @@ -0,0 +1,53 @@ +.divider { + --divider-line-size: 1px; + --divider-color: var(--bg-active); + + user-select: none; + + .line { + content: ' '; + display: block; + background-color: var(--divider-color); + border-radius: 0; + margin: 0; + padding: 0; + } + + &.vertical { + display: inline-block; + height: 10px; + + .line { + height: inherit; + width: var(--divider-line-size); + } + } + + &.horizontal { + width: 100%; + + .line { + width: 100%; + height: var(--divider-line-size); + } + } + + &.horizontal.text { + --divider-color: var(--bg-action-faded); + + display: grid; + grid-template-columns: 1fr auto 1fr; + grid-template-rows: 1fr; + column-gap: var(--spacing-lg); + align-items: center; + + .line { + width: 100%; + } + } + + span { + font: var(--t-body-sm-400); + color: var(--fg-action); + } +} diff --git a/webnext/src/shared/defguard-ui/components/EmptyState/EmptyState.tsx b/webnext/src/shared/defguard-ui/components/EmptyState/EmptyState.tsx new file mode 100644 index 00000000..7c2be3e4 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/EmptyState/EmptyState.tsx @@ -0,0 +1,74 @@ +import type { Ref } from 'react'; +import './style.scss'; +import clsx from 'clsx'; +import { ThemeSpacing } from '../../types'; +import { isPresent } from '../../utils/isPresent'; +import { Button } from '../Button/Button'; +import type { ButtonProps } from '../Button/types'; +import { Icon } from '../Icon'; +import type { IconKindValue } from '../Icon/icon-types'; +import { SizedBox } from '../SizedBox/SizedBox'; + +type Props = { + ref?: Ref; + title?: string; + subtitle?: string; + icon?: IconKindValue; + className?: string; + testId?: string; + id?: string; + primaryAction?: ButtonProps; + secondaryAction?: () => void; + secondaryActionText?: string; +}; + +//TODO: icon is incompatible, remove it when this will be needed +export const EmptyState = ({ + ref, + icon, + primaryAction, + secondaryAction, + secondaryActionText, + subtitle, + title, + className, + id, + testId, +}: Props) => { + return ( +
+ {isPresent(icon) && ( + <> +
+ +
+ + + )} + {isPresent(title) && ( + <> +

{title}

+ + + )} + {isPresent(subtitle) &&

{subtitle}

} + + {isPresent(primaryAction) && ( + <> + + )} +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/EmptyState/style.scss b/webnext/src/shared/defguard-ui/components/EmptyState/style.scss new file mode 100644 index 00000000..90a3b596 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/EmptyState/style.scss @@ -0,0 +1,46 @@ +.empty-state { + display: flex; + flex-flow: column; + flex: none; + align-items: center; + justify-content: flex-start; + height: auto; + user-select: none; + + & > p, + & > span { + text-align: center; + } + + .title { + color: var(--fg-muted); + font: var(--t-body-primary-500); + } + + .subtitle { + color: var(--fg-muted); + font: var(--t-body-sm-400); + } + + .secondary-action { + background-color: transparent; + text-align: center; + color: var(--fg-action); + border: none; + padding: 0; + margin: 0; + } + + .empty-icon { + width: 40px; + height: 40px; + display: flex; + flex-flow: row; + align-items: center; + justify-content: center; + flex: none; + padding: 4px; + border: 1px dashed var(--border-faded); + border-radius: 100px; + } +} diff --git a/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx b/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx index 3947d476..31d6045e 100644 --- a/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx +++ b/webnext/src/shared/defguard-ui/components/Icon/Icon.tsx @@ -1,11 +1,14 @@ import { type CSSProperties, type Ref, useMemo } from 'react'; -import type { IconKind } from './icon-types'; +import type { IconKindValue } from './icon-types'; import './style.scss'; import type { Direction } from '../../types'; import { IconArrowBig } from './icons/IconArrowBig'; import { IconArrowSmall } from './icons/IconArrowSmall'; +import { IconLoader } from './icons/IconLoader'; +import { IconPlus } from './icons/IconPlus'; +import { IconStatusSimple } from './icons/IconStatusSimple'; -type Props = { +type Props = { icon: T; size?: number; rotationDirection?: Direction; @@ -15,7 +18,7 @@ type Props = { type RotationMap = Record; -const mapRotation = (kind: IconKind, direction: Direction): number => { +const mapRotation = (kind: IconKindValue, direction: Direction): number => { switch (kind) { case 'arrow-small': case 'arrow-big': { @@ -34,7 +37,7 @@ const mapRotation = (kind: IconKind, direction: Direction): number => { }; // Color should be set by css bcs some icons have different structures like 'loader' -export const Icon = ({ +export const Icon = ({ icon: iconKind, rotationDirection, customRotation, @@ -48,6 +51,12 @@ export const Icon = ({ } case 'arrow-small': return IconArrowSmall; + case 'loader': + return IconLoader; + case 'plus': + return IconPlus; + case 'status-simple': + return IconStatusSimple; default: throw Error('Unimplemented icon kind'); } diff --git a/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts b/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts index f48eb35f..eacdc835 100644 --- a/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts +++ b/webnext/src/shared/defguard-ui/components/Icon/icon-types.ts @@ -1,5 +1,3 @@ -import type { Direction, ThemeKey } from '../../types'; - export const IconKind = { ArrowBig: 'arrow-big', ArrowSmall: 'arrow-small', @@ -90,4 +88,4 @@ export const IconKind = { StatusImportant: 'status-important', } as const; -export type IconKind = (typeof IconKind)[keyof typeof IconKind]; +export type IconKindValue = (typeof IconKind)[keyof typeof IconKind]; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx index 1833626a..3d80a851 100644 --- a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowBig.tsx @@ -1,5 +1,4 @@ import type { SVGProps } from 'react'; -import { ThemeKey } from '../../../types'; export const IconArrowBig = (props: SVGProps) => { return ( @@ -11,13 +10,7 @@ export const IconArrowBig = (props: SVGProps) => { fill="none" {...props} > - + ); }; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx index b827348a..cb5ac0c4 100644 --- a/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconArrowSmall.tsx @@ -1,5 +1,4 @@ import type { SVGProps } from 'react'; -import { ThemeKey } from '../../../types'; export const IconArrowSmall = (props: SVGProps) => { return ( @@ -15,10 +14,6 @@ export const IconArrowSmall = (props: SVGProps) => { fill-rule="evenodd" clip-rule="evenodd" d="M8.06189 4.95046L12.3719 9.27046C12.6642 9.56345 12.6639 10.0378 12.3713 10.3305L8.06127 14.6405L7.00061 13.5798L10.7809 9.79956L7 6.00989L8.06189 4.95046Z" - fill="#7E8794" - style={{ - fill: ThemeKey.FgMuted, - }} /> ); diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconLoader.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconLoader.tsx new file mode 100644 index 00000000..117773e4 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconLoader.tsx @@ -0,0 +1,17 @@ +export const IconLoader = () => { + return ( + + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconPlus.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconPlus.tsx new file mode 100644 index 00000000..b375db67 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconPlus.tsx @@ -0,0 +1,16 @@ +import type { SVGProps } from 'react'; + +export const IconPlus = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/icons/IconStatusSimple.tsx b/webnext/src/shared/defguard-ui/components/Icon/icons/IconStatusSimple.tsx new file mode 100644 index 00000000..8ca913e8 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Icon/icons/IconStatusSimple.tsx @@ -0,0 +1,16 @@ +import type { SVGProps } from 'react'; + +export const IconStatusSimple = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Icon/style.scss b/webnext/src/shared/defguard-ui/components/Icon/style.scss index 0dd2af2e..b73c09cc 100644 --- a/webnext/src/shared/defguard-ui/components/Icon/style.scss +++ b/webnext/src/shared/defguard-ui/components/Icon/style.scss @@ -1,21 +1,21 @@ .icon { display: inline-block; overflow: hidden; + user-select: none; svg { + width: inherit; + height: inherit; transition-property: transform; - @include animate(); - } - svg { + @include animate; + path { - transition-property: fill; - @include animate(); + @include animate(fill); } circle { - transition-property: stroke; - @include animate(); + @include animate(stroke); } } } diff --git a/webnext/src/shared/defguard-ui/components/IconButton/IconButton.tsx b/webnext/src/shared/defguard-ui/components/IconButton/IconButton.tsx new file mode 100644 index 00000000..a0976442 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/IconButton/IconButton.tsx @@ -0,0 +1,30 @@ +import './style.scss'; +import clsx from 'clsx'; +import type { Ref } from 'react'; +import { Icon } from '../Icon/Icon'; +import type { IconKindValue } from '../Icon/icon-types'; + +type Props = { + icon: IconKindValue; + disabled?: boolean; + ref?: Ref; + onClick?: () => void; +}; + +export const IconButton = ({ icon, ref, disabled = false, onClick }: Props) => { + return ( +
{ + if (!disabled) { + onClick?.(); + } + }} + > + +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/IconButton/style.scss b/webnext/src/shared/defguard-ui/components/IconButton/style.scss new file mode 100644 index 00000000..d2197d8b --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/IconButton/style.scss @@ -0,0 +1,33 @@ +.icon-button { + --icon-button-icon-color: var(--fg-neutral); + + background-color: transparent; + border-radius: var(--button-border-radius-sm); + height: var(--button-size-primary); + width: var(--button-size-primary); + display: inline-flex; + flex-flow: column; + align-items: center; + justify-content: center; + + @include animate(background-color); + + &:not(.disabled) { + cursor: pointer; + + &:hover { + background-color: var(--bg-emphasis); + } + } + + &.disabled { + cursor: not-allowed; + --icon-button-icon-color: var(--fg-disabled); + } + + & > .icon svg path { + fill: var(--icon-button-icon-color); + + @include animate(fill); + } +} diff --git a/webnext/src/shared/defguard-ui/components/Input/Input.tsx b/webnext/src/shared/defguard-ui/components/Input/Input.tsx new file mode 100644 index 00000000..8c31a86e --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Input/Input.tsx @@ -0,0 +1,13 @@ +import './style.scss'; + +export const Input = () => { + return ( +
+
+
+ +
+
+
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Input/style.scss b/webnext/src/shared/defguard-ui/components/Input/style.scss new file mode 100644 index 00000000..38360998 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Input/style.scss @@ -0,0 +1,9 @@ +.input { + & > .inner { + position: relative; + + .track { + box-sizing: border-box; + } + } +} diff --git a/webnext/src/shared/defguard-ui/components/Input/types.ts b/webnext/src/shared/defguard-ui/components/Input/types.ts new file mode 100644 index 00000000..6f9a90ac --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Input/types.ts @@ -0,0 +1,9 @@ +import type { HTMLInputTypeAttribute, Ref } from 'react'; + +export type InputProps = { + value: string | null; + type?: HTMLInputTypeAttribute; + ref?: Ref; + error?: string; + canError?: boolean; +}; diff --git a/webnext/src/shared/defguard-ui/components/LoaderSpinner/LoaderSpinner.tsx b/webnext/src/shared/defguard-ui/components/LoaderSpinner/LoaderSpinner.tsx new file mode 100644 index 00000000..27196295 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/LoaderSpinner/LoaderSpinner.tsx @@ -0,0 +1,14 @@ +import { Icon } from '../Icon'; +import './style.scss'; + +type Props = { + size?: number; +}; + +export const LoaderSpinner = ({ size = 20 }: Props) => { + return ( +
+ +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/LoaderSpinner/style.scss b/webnext/src/shared/defguard-ui/components/LoaderSpinner/style.scss new file mode 100644 index 00000000..b0832f7a --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/LoaderSpinner/style.scss @@ -0,0 +1,18 @@ +.loader-spinner { + display: inline-block; + user-select: none; + + & > .icon { + animation: spin 1s ease-in-out infinite; + } +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/webnext/src/shared/defguard-ui/components/Radio/Radio.tsx b/webnext/src/shared/defguard-ui/components/Radio/Radio.tsx new file mode 100644 index 00000000..91cf260c --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Radio/Radio.tsx @@ -0,0 +1,128 @@ +import './style.scss'; +import { useHover } from '@uidotdev/usehooks'; +import clsx from 'clsx'; +import { useMemo } from 'react'; +import { isPresent } from '../../utils/isPresent'; + +type Props = { + text?: string; + active?: boolean; + disabled?: boolean; + onClick?: () => void; +}; + +export const Radio = ({ text, active, disabled, onClick }: Props) => { + const [ref, hover] = useHover(); + + const RenderIcon = useMemo(() => { + if (active) { + if (disabled) { + return StateSelectedDisabled; + } + return StateSelected; + } + if (disabled) { + return StateDefaultDisabled; + } + if (hover) { + return StateDefaultHover; + } + return StateDefault; + }, [active, disabled, hover]); + + return ( +
+ + {isPresent(text) && {text}} +
+ ); +}; + +const StateDefault = () => { + return ( + + + + ); +}; + +const StateDefaultHover = () => { + return ( + + + + ); +}; + +const StateDefaultDisabled = () => { + return ( + + + + ); +}; + +const StateSelected = () => { + return ( + + + + + ); +}; + +const StateSelectedDisabled = () => { + return ( + + + + + ); +}; diff --git a/webnext/src/shared/defguard-ui/components/Radio/style.scss b/webnext/src/shared/defguard-ui/components/Radio/style.scss new file mode 100644 index 00000000..264c497d --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Radio/style.scss @@ -0,0 +1,67 @@ +.radio { + user-select: none; + cursor: pointer; + + &.disabled { + cursor: not-allowed; + } + + &.text { + display: grid; + grid-template-columns: 24px auto; + grid-template-rows: 1fr; + column-gap: var(--spacing-sm); + } + + span { + font: var(--t-body-sm-400); + } +} + +// state colors +.radio svg { + &.icon-default { + circle { + stroke: var(--border-default); + fill: var(--bg-default); + } + } + + &.icon-hover { + circle { + stroke: var(--border-emphasis); + fill: var(--bg-default); + } + } + + &.icon-disabled { + circle { + fill: var(--bg-disabled); + stroke: var(--border-disabled); + } + } + + &.icon-selected { + circle { + &:nth-child(1) { + fill: var(--bg-action); + } + + &:nth-child(2) { + fill: var(--c-white); + } + } + } + + &.icon-selected-disabled { + circle { + &:nth-child(1) { + fill: var(--bg-faded); + } + + &:nth-child(2) { + fill: var(--bg-disabled); + } + } + } +} diff --git a/webnext/src/shared/defguard-ui/components/SizedBox/SizedBox.tsx b/webnext/src/shared/defguard-ui/components/SizedBox/SizedBox.tsx new file mode 100644 index 00000000..544312fd --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/SizedBox/SizedBox.tsx @@ -0,0 +1,19 @@ +import './style.scss'; + +type Props = { + height: string | number; + width?: string | number; +}; + +/**Spawns a block with a strict size, meant to fill spaces that are not regular like layouts that can't utilize "gap" css property due to irregular gaps in across same axis*/ +export const SizedBox = ({ width, height }: Props) => { + return ( +
+ ); +}; diff --git a/webnext/src/shared/defguard-ui/components/SizedBox/style.scss b/webnext/src/shared/defguard-ui/components/SizedBox/style.scss new file mode 100644 index 00000000..7a0173b6 --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/SizedBox/style.scss @@ -0,0 +1,6 @@ +.sized-box { + display: block; + user-select: none; + pointer-events: none; + content: ''; +} diff --git a/webnext/src/shared/defguard-ui/components/Text/Text.tsx b/webnext/src/shared/defguard-ui/components/Text/Text.tsx new file mode 100644 index 00000000..b5fcd8de --- /dev/null +++ b/webnext/src/shared/defguard-ui/components/Text/Text.tsx @@ -0,0 +1,59 @@ +import type { + PolymorphicForwardedRef, + PolymorphicProps, +} from '@axa-ch/react-polymorphic-types'; +import type React from 'react'; +import { createElement, type ElementType } from 'react'; +import type { TextStyleValue } from '../../types'; + +type TextDefault = 'p'; +type TextAllowed = + | TextDefault + | 'span' + | 'strong' + | 'em' + | 'small' + | 'label' + | 'code' + | 'kbd' + | 'mark' + | 'sup' + | 'sub' + | 'time' + | 'abbr' + | 'q' + | 'cite' + | 'del' + | 'ins' + | 'pre' + | 'blockquote' + | 'h1' + | 'h2' + | 'h3' + | 'h4' + | 'h5' + | 'h6'; + +type OwnProps = React.ComponentPropsWithoutRef & { + font: TextStyleValue; +}; + +type TextProps = PolymorphicProps< + OwnProps, + T, + TextAllowed +> & { + ref?: PolymorphicForwardedRef; +}; + +export const Text = ({ + as, + children, + style, + font, + ...rest +}: TextProps) => { + const Component = (as ?? ('p' satisfies ElementType)) as ElementType; + const computedStyle = { ...style, font }; + return createElement(Component, { ...rest, style: computedStyle }, children); +}; diff --git a/webnext/src/shared/defguard-ui/scss/_base.scss b/webnext/src/shared/defguard-ui/scss/_base.scss new file mode 100644 index 00000000..94720529 --- /dev/null +++ b/webnext/src/shared/defguard-ui/scss/_base.scss @@ -0,0 +1,59 @@ +/* stylelint-disable font-family-name-quotes */ +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +ul, +li { + margin: 0; + padding: 0; +} + +#root { + position: relative; + min-height: 100dvh; + width: 100%; +} + +p, +span, +div, +section, +a, +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--fg-default); + font-family: + system-ui, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Open Sans', + 'Helvetica Neue', + sans-serif; +} + +.icon path { + fill: var(--fg-muted); +} + +*:focus { + outline: none; +} + +*:-moz-focus-inner { + border: 0; +} diff --git a/webnext/src/shared/defguard-ui/scss/_fonts.scss b/webnext/src/shared/defguard-ui/scss/_fonts.scss index 23b3fd10..79664bd2 100644 --- a/webnext/src/shared/defguard-ui/scss/_fonts.scss +++ b/webnext/src/shared/defguard-ui/scss/_fonts.scss @@ -1,63 +1,64 @@ +/* stylelint-disable font-family-name-quotes */ // fonts.scss @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-Regular.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-RegularItalic.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-RegularItalic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-Medium.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-MediumItalic.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-MediumItalic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-SemiBold.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-SemiBoldItalic.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-SemiBoldItalic.woff2') format('woff2'); font-weight: 600; font-style: italic; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-Bold.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } @font-face { - font-family: "Geist"; - src: url("/fonts/geist/Geist-BoldItalic.woff2") format("woff2"); + font-family: 'Geist'; + src: url('/fonts/geist/Geist-BoldItalic.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; @@ -66,8 +67,8 @@ // source-code-pro @font-face { - font-family: "Source Code Pro"; - src: url("/fonts/source_code_pro/SourceCodePro-Regular.woff2") format("woff2"); + font-family: 'Source Code Pro'; + src: url('/fonts/source_code_pro/SourceCodePro-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; diff --git a/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss b/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss index 932c06aa..b3ee114e 100644 --- a/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss +++ b/webnext/src/shared/defguard-ui/scss/_shared_tokens.scss @@ -1,30 +1,50 @@ +$font-fallback: + system-ui, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Open Sans', + 'Helvetica Neue', + sans-serif; +$geist: + geist, + #{$font-fallback}; +$source-code-pro: + 'Source Code Pro', + #{$font-fallback}; + +/* stylelint-disable value-keyword-case */ :root { // font settings - --font-family-title: Geist, system-ui, sans-serif; - --font-family-body: Geist, system-ui, sans-serif; - --font-family-component: Geist, system-ui, sans-serif; - --font-family-code: "Source Code Pro", system-ui, sans-serif; + --font-family-title: #{$geist}; + --font-family-body: #{$geist}; + --font-family-component: #{geist}; + --font-family-code: #{$source-code-pro}; - --t-body-xxs-600: 600 11px/14px var(--font-family-body); - --t-body-xxs-400: 400 11px/14px var(--font-family-body); + --t-body-xxs-600: normal 600 11px/14px #{$geist}; + --t-body-xxs-400: normal 400 11px/14px #{$geist}; - --t-body-xs-600: 600 12px/16px var(--font-family-body); - --t-body-xs-500: 500 12px/16px var(--font-family-body); - --t-body-xs-400: 400 12px/16px var(--font-family-body); + --t-body-xs-600: normal 600 12px/16px #{$geist}; + --t-body-xs-500: normal 500 12px/16px #{$geist}; + --t-body-xs-400: normal 400 12px/16px #{$geist}; - --t-body-sm-600: 600 14px/20px var(--font-family-body); - --t-body-sm-500: 500 14px/20px var(--font-family-body); - --t-body-sm-400: 400 14px/20px var(--font-family-body); + --t-body-sm-600: normal 600 14px/20px #{$geist}; + --t-body-sm-500: normal 500 14px/20px #{$geist}; + --t-body-sm-400: normal 400 14px/20px #{$geist}; - --t-body-primary-400: 400 16px/24px var(--font-family-body); - --t-body-primary-600: 600 16px/24px var(--font-family-body); - --t-body-primary-500: 500 16px/24px var(--font-family-body); + --t-body-primary-400: normal 400 16px/24px #{$geist}; + --t-body-primary-600: normal 600 16px/24px #{$geist}; + --t-body-primary-500: normal 500 16px/24px #{$geist}; - --t-title-h5: 600 18px/28px var(--font-family-title); - --t-title-h4: 600 20px/28px var(--font-family-title); - --t-title-h3: 600 24px/32px var(--font-family-title); - --t-title-h2: 600 28px/40px var(--font-family-title); - --t-title-h1: 600 32px/44px var(--font-family-title); + --t-title-h5: normal 600 18px/28px #{$geist}; + --t-title-h4: normal 600 20px/28px #{$geist}; + --t-title-h3: normal 600 24px/32px #{$geist}; + --t-title-h2: normal 600 28px/40px #{$geist}; + --t-title-h1: normal 600 32px/44px #{$geist}; // border width --border-1: 1px; @@ -65,80 +85,80 @@ --spacing-9xl: 120px; // color basis - --c-neutral-1400: rgba(20, 21, 23); - --c-neutral-1300: rgba(25, 26, 28); - --c-neutral-1200: rgba(36, 38, 41); - --c-neutral-1100: rgba(46, 49, 54); - --c-neutral-1000: rgba(50, 54, 60); - --c-neutral-900: rgba(61, 67, 75); - --c-neutral-800: rgba(74, 80, 89); - --c-neutral-700: rgba(94, 102, 114); - --c-neutral-600: rgba(126, 135, 148); - --c-neutral-500: rgba(147, 156, 169); - --c-neutral-400: rgba(162, 172, 186); - --c-neutral-300: rgba(184, 192, 205); - --c-neutral-200: rgba(223, 227, 233); - --c-neutral-100: rgba(240, 242, 245); - --c-neutral-50: rgba(247, 248, 250); - - --c-white: rgba(255, 255, 255); - --c-white-50: rgba(255, 255, 255, 0.5); - --c-transparent: rgba(0, 0, 0, 0); - - --c-additional-error: rgba(204, 60, 60); - --c-additional-warning: rgba(255, 149, 0); - --c-additional-success: rgba(3, 128, 38); - --c-additional-code: rgba(112, 75, 172); - - --c-green-700: rgba(2, 78, 23); - --c-green-600: rgba(2, 90, 27); - --c-green-500: rgba(3, 128, 38); - --c-green-400: rgba(46, 150, 75); - --c-green-300: rgba(109, 181, 129); - --c-green-200: rgba(152, 203, 166); - --c-green-100: rgba(230, 242, 233); - --c-green-500-transparent: rgba(3, 128, 38, 0.08); - - --c-orange-700: rgba(156, 91, 0); - --c-orange-600: rgba(179, 104, 0); - --c-orange-500: rgba(255, 149, 0); - --c-orange-400: rgba(255, 167, 43); - --c-orange-300: rgba(255, 194, 107); - --c-orange-200: rgba(255, 212, 150); - --c-orange-100: rgba(255, 244, 230); - --c-orange-500-transparent: rgba(255, 149, 0, 0.08); - - --c-violet-700: rgba(53, 36, 82); - --c-violet-600: rgba(83, 55, 128); - --c-violet-500: rgba(102, 55, 178); - --c-violet-400: rgba(136, 106, 186); - --c-violet-300: rgba(172, 151, 207); - --c-violet-200: rgba(196, 181, 221); - --c-violet-100: rgba(241, 237, 247); - - --c-blue-700: rgba(38, 57, 115); - --c-blue-600: rgba(51, 77, 156); - --c-blue-500: rgba(57, 97, 219); - --c-blue-400: rgba(87, 119, 217); - --c-blue-300: rgba(140, 161, 222); - --c-blue-200: rgba(180, 196, 242); - --c-blue-100: rgba(237, 241, 252); - --c-blue-500-transparent: rgba(50, 92, 219, 0.08); - - --c-red-700: rgba(124, 37, 37); - --c-red-600: rgba(143, 42, 42); - --c-red-500: rgba(204, 60, 60); - --c-red-400: rgba(213, 93, 93); - --c-red-300: rgba(225, 142, 142); - --c-red-200: rgba(234, 175, 175); - --c-red-100: rgba(250, 236, 236); - --c-red-500-transparent: rgba(204, 60, 60, 0.08); + --c-neutral-1400: rgb(20 21 23); + --c-neutral-1300: rgb(25 26 28); + --c-neutral-1200: rgb(36 38 41); + --c-neutral-1100: rgb(46 49 54); + --c-neutral-1000: rgb(50 54 60); + --c-neutral-900: rgb(61 67 75); + --c-neutral-800: rgb(74 80 89); + --c-neutral-700: rgb(94 102 114); + --c-neutral-600: rgb(126 135 148); + --c-neutral-500: rgb(147 156 169); + --c-neutral-400: rgb(162 172 186); + --c-neutral-300: rgb(184 192 205); + --c-neutral-200: rgb(223 227 233); + --c-neutral-100: rgb(240 242 245); + --c-neutral-50: rgb(247 248 250); + + --c-white: rgb(255 255 255); + --c-white-50: rgb(255 255 255 / 50%); + --c-transparent: rgb(0 0 0 / 0%); + + --c-additional-error: rgb(204 60 60); + --c-additional-warning: rgb(255 149 0); + --c-additional-success: rgb(3 128 38); + --c-additional-code: rgb(112 75 172); + + --c-green-700: rgb(2 78 23); + --c-green-600: rgb(2 90 27); + --c-green-500: rgb(3 128 38); + --c-green-400: rgb(46 150 75); + --c-green-300: rgb(109 181 129); + --c-green-200: rgb(152 203 166); + --c-green-100: rgb(230 242 233); + --c-green-500-transparent: rgb(3 128 38 / 8%); + + --c-orange-700: rgb(156 91 0); + --c-orange-600: rgb(179 104 0); + --c-orange-500: rgb(255 149 0); + --c-orange-400: rgb(255 167 43); + --c-orange-300: rgb(255 194 107); + --c-orange-200: rgb(255 212 150); + --c-orange-100: rgb(255 244 230); + --c-orange-500-transparent: rgb(255 149 0 / 8%); + + --c-violet-700: rgb(53 36 82); + --c-violet-600: rgb(83 55 128); + --c-violet-500: rgb(102 55 178); + --c-violet-400: rgb(136 106 186); + --c-violet-300: rgb(172 151 207); + --c-violet-200: rgb(196 181 221); + --c-violet-100: rgb(241 237 247); + + --c-blue-700: rgb(38 57 115); + --c-blue-600: rgb(51 77 156); + --c-blue-500: rgb(57 97 219); + --c-blue-400: rgb(87 119 217); + --c-blue-300: rgb(140 161 222); + --c-blue-200: rgb(180 196 242); + --c-blue-100: rgb(237 241 252); + --c-blue-500-transparent: rgb(50 92 219 / 8%); + + --c-red-700: rgb(124 37 37); + --c-red-600: rgb(143 42 42); + --c-red-500: rgb(204 60 60); + --c-red-400: rgb(213 93 93); + --c-red-300: rgb(225 142 142); + --c-red-200: rgb(234 175 175); + --c-red-100: rgb(250 236 236); + --c-red-500-transparent: rgb(204 60 60 / 8%); // Components // Menu - --t-menu-title: 600 12px/24px var(--font-family-body); - --t-menu-body: 400 14px/24px var(--font-family-body); + --t-menu-title: 600 12px/24px #{$geist}; + --t-menu-body: 400 14px/24px #{$geist}; --menu-spacing-icon: var(--spacing-md); --menu-padding-sides: var(--spacing-sm); --menu-border-radius-group: var(--radius-lg); @@ -162,12 +182,27 @@ // Buttons - --t-button-label-lg: 400 16/auto var(--font-family-component); - --t-button-label-primary: 400 14/auto var(--font-family-component); + --t-button-label-lg: normal 400 16px / normal #{$geist}; + --t-button-label-primary: normal 400 14px / normal #{$geist}; --button-border-radius-sm: var(--radius-md); --button-border-radius-primary: var(--radius-md); --button-border-radius-xl: var(--radius-full); --button-size-primary: var(--size-2xl); --button-size-lg: var(--size-4xl); --button-size-xl: var(--size-5xl); + + // Badge + --badge-border-radius: var(--radius-md); + --badge-spacing: var(--spacing-sm); + --badge-gap: var(--spacing-xs); + --t-badge: normal 500 12px / 16px #{$geist}; + --t-badge-spacing: 0.3px; + + // custom + + // how much space does error message in all takes + --form-field-error-space: 24px; + + // how much space error should gap from main container + --form-field-error-gap: 8px; } diff --git a/webnext/src/shared/defguard-ui/scss/_themes.scss b/webnext/src/shared/defguard-ui/scss/_themes.scss index f2f3d7c8..55f17925 100644 --- a/webnext/src/shared/defguard-ui/scss/_themes.scss +++ b/webnext/src/shared/defguard-ui/scss/_themes.scss @@ -1,113 +1,113 @@ -:root[data-theme="light"] { - --theme-bg-default: var(--c-white); - --theme-bg-dark: var(--c-neutral-1300); - --theme-bg-white: var(--c-white); - --theme-bg-faded: var(--c-neutral-300); - --theme-bg-disabled: var(--c-neutral-50); - --theme-bg-muted: var(--c-neutral-50); - --theme-bg-emphasis: var(--c-neutral-100); - --theme-bg-active: var(--c-neutral-200); - --theme-bg-inverted: var(--c-neutral-1300); +:root[data-theme='light'] { + --bg-default: var(--c-white); + --bg-dark: var(--c-neutral-1300); + --bg-white: var(--c-white); + --bg-faded: var(--c-neutral-300); + --bg-disabled: var(--c-neutral-50); + --bg-muted: var(--c-neutral-50); + --bg-emphasis: var(--c-neutral-100); + --bg-active: var(--c-neutral-200); + --bg-inverted: var(--c-neutral-1300); - --theme-bg-action: var(--c-blue-500); - --theme-bg-action-emphasis: var(--c-blue-400); - --theme-bg-action-faded: var(--c-blue-300); - --theme-bg-action-muted: var(--c-blue-100); + --bg-action: var(--c-blue-500); + --bg-action-emphasis: var(--c-blue-400); + --bg-action-faded: var(--c-blue-300); + --bg-action-muted: var(--c-blue-100); - --theme-bg-critical-emphasis: var(--c-red-600); - --theme-bg-critical: var(--c-red-500); - --theme-bg-critical-faded: var(--c-red-400); - --theme-bg-critical-muted: var(--c-red-200); + --bg-critical-emphasis: var(--c-red-600); + --bg-critical: var(--c-red-500); + --bg-critical-faded: var(--c-red-400); + --bg-critical-muted: var(--c-red-200); - --theme-bg-success: var(--c-green-500); - --theme-bg-warning: var(--c-orange-500); + --bg-success: var(--c-green-500); + --bg-warning: var(--c-orange-500); - --theme-border-action: var(--c-blue-500); - --theme-border-action-disabled: var(--c-blue-300); - --theme-border-default: var(--c-neutral-200); - --theme-border-disabled: var(--c-neutral-200); - --theme-border-emphasis: var(--c-neutral-500); - --theme-border-muted: var(--c-neutral-200); - --theme-border-faded: var(--c-neutral-400); - --theme-border-critical: var(--c-red-500); - --theme-border-success: var(--c-green-300); - --theme-border-warning: var(--c-orange-300); + --border-action: var(--c-blue-500); + --border-action-disabled: var(--c-blue-300); + --border-default: var(--c-neutral-200); + --border-disabled: var(--c-neutral-200); + --border-emphasis: var(--c-neutral-500); + --border-muted: var(--c-neutral-200); + --border-faded: var(--c-neutral-400); + --border-critical: var(--c-red-500); + --border-success: var(--c-green-300); + --border-warning: var(--c-orange-300); - --theme-fg-action: var(--c-blue-500); - --theme-fg-action-emphasis: var(--c-blue-600); - --theme-fg-action-muted: var(--c-blue-300); - --theme-fg-attention: var(--c-orange-500); - --theme-fg-critical: var(--c-red-500); - --theme-fg-critical-muted: var(--c-red-200); + --fg-action: var(--c-blue-500); + --fg-action-emphasis: var(--c-blue-600); + --fg-action-muted: var(--c-blue-300); + --fg-attention: var(--c-orange-500); + --fg-critical: var(--c-red-500); + --fg-critical-muted: var(--c-red-200); - --theme-fg-default: var(--c-neutral-1400); - --theme-fg-faded: var(--c-neutral-900); - --theme-fg-neutral: var(--c-neutral-800); - --theme-fg-muted: var(--c-neutral-600); - --theme-fg-disabled: var(--c-neutral-500); + --fg-default: var(--c-neutral-1400); + --fg-faded: var(--c-neutral-900); + --fg-neutral: var(--c-neutral-800); + --fg-muted: var(--c-neutral-600); + --fg-disabled: var(--c-neutral-500); - --theme-fg-success: var(--c-green-500); - --theme-fg-success-muted: var(--c-green-100); - --theme-fg-code: var(--c-violet-500); - --theme-fg-inverted: var(--c-white); - --theme-fg-white: var(--c-white); - --theme-fg-white-transparent: var(--c-white-50); - --theme-fg-blue-transparent-2: var(--c-blue-500-transparent); + --fg-success: var(--c-green-500); + --fg-success-muted: var(--c-green-100); + --fg-code: var(--c-violet-500); + --fg-inverted: var(--c-white); + --fg-white: var(--c-white); + --fg-white-transparent: var(--c-white-50); + --fg-blue-transparent-2: var(--c-blue-500-transparent); } -:root[data-theme="dark"] { - --theme-bg-default: var(--c-neutral-1400); - --theme-bg-dark: var(--c-neutral-1100); - --theme-bg-white: var(--c-white); - --theme-bg-faded: var(--c-neutral-900); - --theme-bg-disabled: var(--c-neutral-1300); - --theme-bg-muted: var(--c-neutral-1200); - --theme-bg-emphasis: var(--c-neutral-1200); - --theme-bg-active: var(--c-neutral-1100); - --theme-bg-inverted: var(--c-neutral-100); +:root[data-theme='dark'] { + --bg-default: var(--c-neutral-1400); + --bg-dark: var(--c-neutral-1100); + --bg-white: var(--c-white); + --bg-faded: var(--c-neutral-900); + --bg-disabled: var(--c-neutral-1300); + --bg-muted: var(--c-neutral-1200); + --bg-emphasis: var(--c-neutral-1200); + --bg-active: var(--c-neutral-1100); + --bg-inverted: var(--c-neutral-100); - --theme-bg-action: var(--c-blue-500); - --theme-bg-action-emphasis: var(--c-blue-600); - --theme-bg-action-faded: var(--c-blue-400); - --theme-bg-action-muted: var(--c-blue-300); + --bg-action: var(--c-blue-500); + --bg-action-emphasis: var(--c-blue-600); + --bg-action-faded: var(--c-blue-400); + --bg-action-muted: var(--c-blue-300); - --theme-bg-critical-emphasis: var(--c-red-600); - --theme-bg-critical: var(--c-red-500); - --theme-bg-critical-faded: var(--c-red-400); - --theme-bg-critical-muted: var(--c-red-200); + --bg-critical-emphasis: var(--c-red-600); + --bg-critical: var(--c-red-500); + --bg-critical-faded: var(--c-red-400); + --bg-critical-muted: var(--c-red-200); - --theme-bg-success: var(--c-green-500); - --theme-bg-warning: var(--c-orange-500); + --bg-success: var(--c-green-500); + --bg-warning: var(--c-orange-500); - --theme-border-action: var(--c-blue-500); - --theme-border-action-disabled: var(--c-blue-300); - --theme-border-default: var(--c-neutral-900); - --theme-border-disabled: var(--c-neutral-1000); - --theme-border-emphasis: var(--c-neutral-500); - --theme-border-muted: var(--c-neutral-1100); - --theme-border-faded: var(--c-neutral-800); - --theme-border-critical: var(--c-red-500); - --theme-border-success: var(--c-green-300); - --theme-border-warning: var(--c-orange-300); + --border-action: var(--c-blue-500); + --border-action-disabled: var(--c-blue-300); + --border-default: var(--c-neutral-900); + --border-disabled: var(--c-neutral-1000); + --border-emphasis: var(--c-neutral-500); + --border-muted: var(--c-neutral-1100); + --border-faded: var(--c-neutral-800); + --border-critical: var(--c-red-500); + --border-success: var(--c-green-300); + --border-warning: var(--c-orange-300); - --theme-fg-action: var(--c-blue-500); - --theme-fg-action-emphasis: var(--c-blue-600); - --theme-fg-action-muted: var(--c-blue-300); - --theme-fg-attention: var(--c-orange-500); - --theme-fg-critical: var(--c-red-500); - --theme-fg-critical-muted: var(--c-red-200); + --fg-action: var(--c-blue-500); + --fg-action-emphasis: var(--c-blue-600); + --fg-action-muted: var(--c-blue-300); + --fg-attention: var(--c-orange-500); + --fg-critical: var(--c-red-500); + --fg-critical-muted: var(--c-red-200); - --theme-fg-default: var(--c-white); - --theme-fg-faded: var(--c-neutral-400); - --theme-fg-neutral: var(--c-neutral-300); - --theme-fg-muted: var(--c-neutral-200); - --theme-fg-disabled: var(--c-neutral-700); + --fg-default: var(--c-white); + --fg-faded: var(--c-neutral-400); + --fg-neutral: var(--c-neutral-300); + --fg-muted: var(--c-neutral-200); + --fg-disabled: var(--c-neutral-700); - --theme-fg-success: var(--c-green-500); - --theme-fg-success-muted: var(--c-green-100); - --theme-fg-code: var(--c-violet-500); - --theme-fg-inverted: var(--c-neutral-1400); - --theme-fg-white: var(--c-white); - --theme-fg-white-transparent: var(--c-white-50); - --theme-fg-blue-transparent-2: var(--c-blue-500-transparent); + --fg-success: var(--c-green-500); + --fg-success-muted: var(--c-green-100); + --fg-code: var(--c-violet-500); + --fg-inverted: var(--c-neutral-1400); + --fg-white: var(--c-white); + --fg-white-transparent: var(--c-white-50); + --fg-blue-transparent-2: var(--c-blue-500-transparent); } diff --git a/webnext/src/shared/defguard-ui/scss/global/_animate.scss b/webnext/src/shared/defguard-ui/scss/global/_animate.scss index 294c40a7..024cc924 100644 --- a/webnext/src/shared/defguard-ui/scss/global/_animate.scss +++ b/webnext/src/shared/defguard-ui/scss/global/_animate.scss @@ -1,9 +1,11 @@ +@use 'sass:list'; + // for now no prop required @mixin animate($properties...) { transition-timing-function: ease-out; transition-duration: 160ms; - @if length($properties)>0 { + @if list.length($properties) > 0 { transition-property: $properties; } } diff --git a/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss b/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss index 9325d13f..d99b76ff 100644 --- a/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss +++ b/webnext/src/shared/defguard-ui/scss/global/_breakpoints.scss @@ -10,24 +10,34 @@ $grid-breakpoints: ( xxl: 1600px, ); -@function break-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { - $n: index($breakpoint-names, $name); +@function break-next( + $name, + $breakpoints: $grid-breakpoints, + $breakpoint-names: map.keys($breakpoints) +) { + $n: list.index($breakpoint-names, $name); @if not $n { @error "breakpoint `#{$name}` not found in `#{$breakpoints}`"; } - @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); + @return if( + $n < list.length($breakpoint-names), + list.nth($breakpoint-names, $n + 1), + null + ); } @function break-min($name, $breakpoints: $grid-breakpoints) { - $min: map-get($breakpoints, $name); - @return if($min !=0, $min, null); + $min: map.get($breakpoints, $name); + + @return if($min != 0, $min, null); } @function break-max($name, $breakpoints: $grid-breakpoints) { - $max: map-get($breakpoints, $name); - @return if($max and $max > 0, $max - .02, null); + $max: map.get($breakpoints, $name); + + @return if($max and $max > 0, $max - 0.02, null); } @mixin break-up($name, $breakpoints: $grid-breakpoints) { @@ -37,9 +47,7 @@ $grid-breakpoints: ( @media (min-width: $min) { @content; } - } - - @else { + } @else { @content; } } @@ -51,9 +59,7 @@ $grid-breakpoints: ( @media (max-width: $max) { @content; } - } - - @else { + } @else { @content; } } @@ -62,19 +68,15 @@ $grid-breakpoints: ( $min: break-min($lower, $breakpoints); $max: break-max($upper, $breakpoints); - @if $min !=null and $max !=null { + @if $min != null and $max != null { @media (min-width: $min) and (max-width: $max) { @content; } - } - - @else if $max ==null { + } @else if $max == null { @include break-up($lower, $breakpoints) { @content; } - } - - @else if $min ==null { + } @else if $min == null { @include break-down($upper, $breakpoints) { @content; } @@ -86,19 +88,15 @@ $grid-breakpoints: ( $next: break-next($name, $breakpoints); $max: break-max($next, $breakpoints); - @if $min !=null and $max !=null { + @if $min != null and $max != null { @media (min-width: $min) and (max-width: $max) { @content; } - } - - @else if $max ==null { + } @else if $max == null { @include break-up($name, $breakpoints) { @content; } - } - - @else if $min ==null { + } @else if $min == null { @include break-down($next, $breakpoints) { @content; } diff --git a/webnext/src/shared/defguard-ui/scss/index.scss b/webnext/src/shared/defguard-ui/scss/index.scss index c543d763..55a38126 100644 --- a/webnext/src/shared/defguard-ui/scss/index.scss +++ b/webnext/src/shared/defguard-ui/scss/index.scss @@ -1,3 +1,4 @@ -@use "./fonts"; -@use "./shared_tokens"; -@use "./themes"; +@use './fonts'; +@use './shared_tokens'; +@use './themes'; +@use './base'; diff --git a/webnext/src/shared/defguard-ui/types.ts b/webnext/src/shared/defguard-ui/types.ts index 85bfb6c6..2a71ddd0 100644 --- a/webnext/src/shared/defguard-ui/types.ts +++ b/webnext/src/shared/defguard-ui/types.ts @@ -11,54 +11,125 @@ export type Direction = (typeof Direction)[keyof typeof Direction]; export type TSSvgProps = SVGProps; -export const ThemeKey = { - BgDefault: 'var(--theme-bg-default)', - BgDark: 'var(--theme-bg-dark)', - BgWhite: 'var(--theme-bg-white)', - BgFaded: 'var(--theme-bg-faded)', - BgDisabled: 'var(--theme-bg-disabled)', - BgMuted: 'var(--theme-bg-muted)', - BgEmphasis: 'var(--theme-bg-emphasis)', - BgActive: 'var(--theme-bg-active)', - BgInverted: 'var(--theme-bg-inverted)', - BgAction: 'var(--theme-bg-action)', - BgActionEmphasis: 'var(--theme-bg-action-emphasis)', - BgActionFaded: 'var(--theme-bg-action-faded)', - BgActionMuted: 'var(--theme-bg-action-muted)', - BgCriticalEmphasis: 'var(--theme-bg-critical-emphasis)', - BgCritical: 'var(--theme-bg-critical)', - BgCriticalFaded: 'var(--theme-bg-critical-faded)', - BgCriticalMuted: 'var(--theme-bg-critical-muted)', - BgSuccess: 'var(--theme-bg-success)', - BgWarning: 'var(--theme-bg-warning)', - BorderAction: 'var(--theme-border-action)', - BorderActionDisabled: 'var(--theme-border-action-disabled)', - BorderDefault: 'var(--theme-border-default)', - BorderDisabled: 'var(--theme-border-disabled)', - BorderEmphasis: 'var(--theme-border-emphasis)', - BorderMuted: 'var(--theme-border-muted)', - BorderFaded: 'var(--theme-border-faded)', - BorderCritical: 'var(--theme-border-critical)', - BorderSuccess: 'var(--theme-border-success)', - BorderWarning: 'var(--theme-border-warning)', - FgAction: 'var(--theme-fg-action)', - FgActionEmphasis: 'var(--theme-fg-action-emphasis)', - FgActionMuted: 'var(--theme-fg-action-muted)', - FgAttention: 'var(--theme-fg-attention)', - FgCritical: 'var(--theme-fg-critical)', - FgCriticalMuted: 'var(--theme-fg-critical-muted)', - FgDefault: 'var(--theme-fg-default)', - FgFaded: 'var(--theme-fg-faded)', - FgNeutral: 'var(--theme-fg-neutral)', - FgMuted: 'var(--theme-fg-muted)', - FgDisabled: 'var(--theme-fg-disabled)', - FgSuccess: 'var(--theme-fg-success)', - FgSuccessMuted: 'var(--theme-fg-success-muted)', - FgCode: 'var(--theme-fg-code)', - FgInverted: 'var(--theme-fg-inverted)', - FgWhite: 'var(--theme-fg-white)', - FgWhiteTransparent: 'var(--theme-fg-white-transparent)', - FgBlueTransparent2: 'var(--theme-fg-blue-transparent-2)', +export const ThemeVariable = { + BgDefault: 'var(--bg-default)', + BgDark: 'var(--bg-dark)', + BgWhite: 'var(--bg-white)', + BgFaded: 'var(--bg-faded)', + BgDisabled: 'var(--bg-disabled)', + BgMuted: 'var(--bg-muted)', + BgEmphasis: 'var(--bg-emphasis)', + BgActive: 'var(--bg-active)', + BgInverted: 'var(--bg-inverted)', + BgAction: 'var(--bg-action)', + BgActionEmphasis: 'var(--bg-action-emphasis)', + BgActionFaded: 'var(--bg-action-faded)', + BgActionMuted: 'var(--bg-action-muted)', + BgCriticalEmphasis: 'var(--bg-critical-emphasis)', + BgCritical: 'var(--bg-critical)', + BgCriticalFaded: 'var(--bg-critical-faded)', + BgCriticalMuted: 'var(--bg-critical-muted)', + BgSuccess: 'var(--bg-success)', + BgWarning: 'var(--bg-warning)', + BorderAction: 'var(--border-action)', + BorderActionDisabled: 'var(--border-action-disabled)', + BorderDefault: 'var(--border-default)', + BorderDisabled: 'var(--border-disabled)', + BorderEmphasis: 'var(--border-emphasis)', + BorderMuted: 'var(--border-muted)', + BorderFaded: 'var(--border-faded)', + BorderCritical: 'var(--border-critical)', + BorderSuccess: 'var(--border-success)', + BorderWarning: 'var(--border-warning)', + FgAction: 'var(--fg-action)', + FgActionEmphasis: 'var(--fg-action-emphasis)', + FgActionMuted: 'var(--fg-action-muted)', + FgAttention: 'var(--fg-attention)', + FgCritical: 'var(--fg-critical)', + FgCriticalMuted: 'var(--fg-critical-muted)', + FgDefault: 'var(--fg-default)', + FgFaded: 'var(--fg-faded)', + FgNeutral: 'var(--fg-neutral)', + FgMuted: 'var(--fg-muted)', + FgDisabled: 'var(--fg-disabled)', + FgSuccess: 'var(--fg-success)', + FgSuccessMuted: 'var(--fg-success-muted)', + FgCode: 'var(--fg-code)', + FgInverted: 'var(--fg-inverted)', + FgWhite: 'var(--fg-white)', + FgWhiteTransparent: 'var(--fg-white-transparent)', + FgBlueTransparent2: 'var(--fg-blue-transparent-2)', } as const; -export type ThemeKey = (typeof ThemeKey)[keyof typeof ThemeKey]; +export type ThemeVariableValue = (typeof ThemeVariable)[keyof typeof ThemeVariable]; + +export const TextStyle = { + TBodyXxs600: 'var(--t-body-xxs-600)', + TBodyXxs400: 'var(--t-body-xxs-400)', + TBodyXs600: 'var(--t-body-xs-600)', + TBodyXs500: 'var(--t-body-xs-500)', + TBodyXs400: 'var(--t-body-xs-400)', + TBodySm600: 'var(--t-body-sm-600)', + TBodySm500: 'var(--t-body-sm-500)', + TBodySm400: 'var(--t-body-sm-400)', + TBodyPrimary400: 'var(--t-body-primary-400)', + TBodyPrimary600: 'var(--t-body-primary-600)', + TBodyPrimary500: 'var(--t-body-primary-500)', + TTitleH5: 'var(--t-title-h5)', + TTitleH4: 'var(--t-title-h4)', + TTitleH3: 'var(--t-title-h3)', + TTitleH2: 'var(--t-title-h2)', + TTitleH1: 'var(--t-title-h1)', +} as const; + +export type TextStyleValue = (typeof TextStyle)[keyof typeof TextStyle]; + +export const BorderRadius = { + Sm: 'var(--radius-sm)', + Md: 'var(--radius-md)', + Lg: 'var(--radius-lg)', + Xl: 'var(--radius-xl)', + Xxl: 'var(--radius-xxl)', + Xxxl: 'var(--radius-xxl)', + Full: 'var(--radius-full)', +} as const; + +export type BorderRadiusValue = (typeof BorderRadius)[keyof typeof BorderRadius]; + +export const Orientation = { + Horizontal: 'horizontal', + Vertical: 'vertical', +} as const; + +export type OrientationValue = (typeof Orientation)[keyof typeof Orientation]; + +export const ThemeSize = { + Xs: 'var(--size-xs)', + Sm: 'var(--size-sm)', + Md: 'var(--size-md)', + Xl: 'var(--size-xl)', + Xl2: 'var(--size-2xl)', + Xl3: 'var(--size-3xl)', + Xl4: 'var(--size-4xl)', + Xl5: 'var(--size-5xl)', +}; + +export type ThemeSizeValue = (typeof ThemeSize)[keyof typeof ThemeSize]; + +export const ThemeSpacing = { + Xs: 'var(--spacing-xs)', + Sm: 'var(--spacing-sm)', + Md: 'var(--spacing-md)', + Lg: 'var(--spacing-lg)', + Xl: 'var(--spacing-xl)', + Xl2: 'var(--spacing-2xl)', + Xl3: 'var(--spacing-3xl)', + Xl4: 'var(--spacing-4xl)', + Xl5: 'var(--spacing-5xl)', + Xl6: 'var(--spacing-6xl)', + Xl7: 'var(--spacing-7xl)', + Xl8: 'var(--spacing-8xl)', + Xl9: 'var(--spacing-9xl)', +}; + +export type ThemeSpacingValue = (typeof ThemeSpacing)[keyof typeof ThemeSpacing]; diff --git a/webnext/src/shared/defguard-ui/utils/detectClickOutside.ts b/webnext/src/shared/defguard-ui/utils/detectClickOutside.ts new file mode 100644 index 00000000..933609a8 --- /dev/null +++ b/webnext/src/shared/defguard-ui/utils/detectClickOutside.ts @@ -0,0 +1,22 @@ +/** + * Checks if mouse event clicked within any of provided rects + */ +export const detectClickInside = (event: MouseEvent, rects: DOMRect[]) => { + for (const domRect of rects) { + if (domRect) { + const start_x = domRect?.x; + const start_y = domRect?.y; + const end_x = start_x + domRect?.width; + const end_y = start_y + domRect.height; + if ( + event.clientX >= start_x && + event.clientX <= end_x && + event.clientY >= start_y && + event.clientY <= end_y + ) { + return true; + } + } + } + return false; +}; diff --git a/webnext/src/shared/defguard-ui/utils/isComparable.ts b/webnext/src/shared/defguard-ui/utils/isComparable.ts new file mode 100644 index 00000000..120180f1 --- /dev/null +++ b/webnext/src/shared/defguard-ui/utils/isComparable.ts @@ -0,0 +1,10 @@ +export const isComparableWithStrictEquality = (val: unknown) => { + const t = typeof val; + return ( + t === 'number' || + t === 'string' || + t === 'boolean' || + t === 'undefined' || + val === null + ); +}; diff --git a/webnext/src/shared/defguard-ui/utils/isPresent.ts b/webnext/src/shared/defguard-ui/utils/isPresent.ts new file mode 100644 index 00000000..510ce8d4 --- /dev/null +++ b/webnext/src/shared/defguard-ui/utils/isPresent.ts @@ -0,0 +1,3 @@ +export const isPresent = (value: T): value is NonNullable => { + return value !== null && value !== undefined; +}; diff --git a/webnext/src/test_components/page/TestPage.tsx b/webnext/src/test_components/page/TestPage.tsx new file mode 100644 index 00000000..52284719 --- /dev/null +++ b/webnext/src/test_components/page/TestPage.tsx @@ -0,0 +1,143 @@ +import { type PropsWithChildren, useState } from 'react'; +import { Page } from '../../shared/components/Page/Page'; +import './style.scss'; +import { Avatar } from '../../shared/defguard-ui/components/Avatar/Avatar'; +import { Badge } from '../../shared/defguard-ui/components/Badge/Badge'; +import { Button } from '../../shared/defguard-ui/components/Button/Button'; +import { Checkbox } from '../../shared/defguard-ui/components/Checkbox/Checkbox'; +import { CounterLabel } from '../../shared/defguard-ui/components/CounterLabel/CounterLabel'; +import { Divider } from '../../shared/defguard-ui/components/Divider/Divider'; +import { EmptyState } from '../../shared/defguard-ui/components/EmptyState/EmptyState'; +import { IconButton } from '../../shared/defguard-ui/components/IconButton/IconButton'; +import { Radio } from '../../shared/defguard-ui/components/Radio/Radio'; + +export const TestPage = () => { + return ( + + +

Test ground

+
+ +