From a98e2fa29d58e516ec2ae0e20919662a349d8e91 Mon Sep 17 00:00:00 2001 From: Dedakup Date: Thu, 28 Nov 2024 17:43:47 +0100 Subject: [PATCH] refactor: Added Next.js and turbopack. In next commits planning to finaly refactor codebase. Initially Next.js will be deployed with Netlify or Vercel, then i will transition it to EC2 --- frontend/.env.example | 22 +- frontend/.gitignore | 3 + frontend/eslint.config.js | 4 +- frontend/index.html | 17 - frontend/next.config.mjs | 70 + frontend/package-lock.json | 2941 ++++++++--------- frontend/package.json | 59 +- frontend/{ => public}/focusflow-icon.svg | 0 frontend/src/app/[[...slug]]/client.tsx | 9 + frontend/src/app/[[...slug]]/page.tsx | 9 + frontend/src/app/favicon.ico | Bin 0 -> 217534 bytes frontend/src/app/layout.tsx | 20 + frontend/src/app/robots.txt | 0 .../src/components/common/ErrorBoundary.tsx | 2 +- .../components/BackgroundSelector.tsx | 2 +- .../{redux => store}/backgroundSlice.ts | 0 .../dashboard/components/BottomMenu.tsx | 69 +- .../sounds/{redux => store}/soundSlice.ts | 0 frontend/src/index.tsx | 24 - frontend/tsconfig.json | 17 +- frontend/vite.config.js | 27 - 21 files changed, 1535 insertions(+), 1760 deletions(-) create mode 100644 frontend/next.config.mjs rename frontend/{ => public}/focusflow-icon.svg (100%) create mode 100644 frontend/src/app/[[...slug]]/client.tsx create mode 100644 frontend/src/app/[[...slug]]/page.tsx create mode 100644 frontend/src/app/favicon.ico create mode 100644 frontend/src/app/layout.tsx create mode 100644 frontend/src/app/robots.txt rename frontend/src/features/background/{redux => store}/backgroundSlice.ts (100%) rename frontend/src/features/sounds/{redux => store}/soundSlice.ts (100%) delete mode 100644 frontend/src/index.tsx delete mode 100644 frontend/vite.config.js diff --git a/frontend/.env.example b/frontend/.env.example index b1f82cc..51bfe76 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -1,2 +1,20 @@ -DYNAMODB_TABLE_NAME=example-tasks -VITE_API_BASE_URL=http://localhost:3000/example #https://example.execute-api.us-east-1.amazonaws.com/example \ No newline at end of file +# API Configuration +NEXT_PUBLIC_API_BASE_URL=http://localhost:3000/dev +NEXT_PUBLIC_PROD_API_URL=your_production_api_url + +# Database Configuration +NEXT_PUBLIC_DYNAMODB_TABLE_NAME=your_table_name + +# Auth0 Configuration +NEXT_PUBLIC_AUTH0_DOMAIN=your_auth0_domain +NEXT_PUBLIC_AUTH0_CLIENT_ID=your_auth0_client_id +NEXT_PUBLIC_AUTH0_AUDIENCE=your_auth0_audience + +# Storybook Configuration +NEXT_PUBLIC_CHROMATIC_PROJECT_TOKEN=your_chromatic_token + +# Environment +NEXT_PUBLIC_NODE_ENV=development + +# AWS Configuration +NEXT_PUBLIC_AWS_REGION=your_aws_region \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore index f5bd7a2..3ba853e 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -32,3 +32,6 @@ node_modules/ *.sw? *storybook.log + +.next +next-env.d.ts \ No newline at end of file diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index e95a8e3..6f136ea 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -47,8 +47,8 @@ export default [ MutationObserver: true, CSS: true, process: 'readonly', - __dirname: 'readonly' - } + __dirname: 'readonly', + }, }, plugins: { '@typescript-eslint': tseslintPlugin, diff --git a/frontend/index.html b/frontend/index.html index b0a315d..e69de29 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,17 +0,0 @@ - - - - - - - Focus Flow - - -
- - - diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs new file mode 100644 index 0000000..2d49f69 --- /dev/null +++ b/frontend/next.config.mjs @@ -0,0 +1,70 @@ +/** @type {import('next').NextConfig} */ +import process from 'process'; + +const nextConfig = { + output: 'export', + distDir: './build', + experimental: { + turbo: { + rules: { + // TypeScript/JavaScript + '*.ts': { + loaders: ['swc-loader'], + as: '*.js', + }, + '*.tsx': { + loaders: ['swc-loader'], + as: '*.js', + }, + // CSS and Tailwind + '*.css': { + loaders: ['postcss-loader'], + }, + '*.module.css': { + loaders: ['postcss-loader'], + }, + // Static assets + '*.svg': { + loaders: ['@svgr/webpack'], + as: '*.js', + }, + }, + + // Path aliases matching tsconfig + resolveAlias: { + '@': './src', + '@app': './src/app', + '@components': './src/components', + '@features': './src/features', + '@auth': './src/features/auth', + '@background': './src/features/background', + '@dashboard': './src/features/dashboard', + '@music': './src/features/music', + '@pomodoro': './src/features/pomodoro', + '@sounds': './src/features/sounds', + '@tasks': './src/features/tasks', + '@shared': './src/shared', + '@config': './src/shared/config', + '@hooks': './src/shared/hooks', + '@utils': './src/shared/utils', + '@styles': './src/styles', + }, + + resolveExtensions: [ + '.tsx', + '.ts', + '.jsx', + '.js', + '.json', + '.css', + '.module.css', + ], + + moduleIdStrategy: process.env.NODE_ENV === 'development' + ? 'named' + : 'deterministic', + }, + }, +}; + +export default nextConfig; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b33891c..e7a07ee 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,77 +1,63 @@ { "name": "focusflow", - "version": "0.0.0", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "focusflow", - "version": "0.0.0", + "version": "0.1.0", "dependencies": { "@auth0/auth0-react": "^2.2.4", - "@fortawesome/fontawesome-free": "^6.6.0", "@heroicons/react": "^2.1.5", "@material-tailwind/react": "2.1.8", "@mui/icons-material": "^6.1.7", "@reduxjs/toolkit": "^2.3.0", "@sentry/react": "^8.41.0", "@sentry/tracing": "^7.114.0", - "@storybook/addon-a11y": "^8.4.5", "axios": "^1.7.7", "dotenv": "^16.4.5", + "next": "^14.1.0", "nprogress": "^0.2.0", - "prop-types": "^15.8.1", "react": "18.2.0", "react-dom": "18.2.0", "react-redux": "^9.1.2", - "react-router-dom": "^6.28.0", "react-toastify": "^10.0.6", - "react-youtube": "^10.1.0", - "redux": "^5.0.1", - "toast": "^0.5.4" + "react-youtube": "^10.1.0" }, "devDependencies": { - "@chromatic-com/storybook": "^3.2.2", - "@eslint/js": "latest", + "@storybook/addon-a11y": "^8.4.5", "@storybook/addon-essentials": "^8.4.5", "@storybook/addon-interactions": "^8.4.5", - "@storybook/addon-onboarding": "^8.4.5", - "@storybook/blocks": "^8.4.5", "@storybook/react": "^8.4.5", "@storybook/react-vite": "^8.4.5", - "@storybook/test": "^8.4.5", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", - "@types/axios": "^0.9.36", "@types/jest": "^29.5.14", + "@types/node": "^20.11.0", "@types/nprogress": "^0.2.3", "@types/react": "^18.2.45", "@types/react-dom": "^18.2.18", - "@types/react-redux": "^7.1.34", - "@types/redux": "^3.6.31", "@typescript-eslint/eslint-plugin": "^8.16.0", "@typescript-eslint/parser": "^8.16.0", "@vitejs/plugin-react": "4.2.1", - "autoprefixer": "10.4.16", + "autoprefixer": "^10.4.16", "chromatic": "^11.19.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.5", - "eslint-plugin-storybook": "^0.11.1", - "globals": "^15.12.0", + "husky": "^9.0.0", "jest": "^29.7.0", - "postcss": "8.4.32", + "lint-staged": "^15.0.0", + "postcss": "^8.4.32", "prettier": "^3.4.1", "storybook": "^8.4.5", "tailwindcss": "3.4.0", "ts-jest": "^29.2.5", - "typescript": "^5.7.2", - "vite": "^5.3.5" + "typescript": "^5.3.3" } }, "node_modules/@adobe/css-tools": { @@ -126,12 +112,14 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -139,10 +127,11 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -178,29 +167,32 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.0", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -218,28 +210,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -258,42 +251,32 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -311,99 +294,14 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -694,30 +592,32 @@ } }, "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -726,466 +626,34 @@ } }, "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/apply-release-plan": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.6.tgz", - "integrity": "sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==", - "license": "MIT", - "dependencies": { - "@changesets/config": "^3.0.4", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^2.7.1", - "resolve-from": "^5.0.0", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.5.tgz", - "integrity": "sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==", - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/assemble-release-plan/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/changelog-git": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", - "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0" - } - }, - "node_modules/@changesets/cli": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.10.tgz", - "integrity": "sha512-PfeXjvs9OfQJV8QSFFHjwHX3QnUL9elPEQ47SgkiwzLgtKGyuikWjrdM+lO9MXzOE22FO9jEGkcs4b+B6D6X0Q==", - "license": "MIT", - "dependencies": { - "@changesets/apply-release-plan": "^7.0.6", - "@changesets/assemble-release-plan": "^6.0.5", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.4", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/get-release-plan": "^4.0.5", - "@changesets/git": "^3.0.2", - "@changesets/logger": "^0.1.1", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.2", - "@manypkg/get-packages": "^1.1.3", - "ansi-colors": "^4.1.3", - "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "mri": "^1.2.0", - "p-limit": "^2.2.0", - "package-manager-detector": "^0.2.0", - "picocolors": "^1.1.0", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "spawndamnit": "^3.0.1", - "term-size": "^2.1.0" - }, - "bin": { - "changeset": "bin.js" - } - }, - "node_modules/@changesets/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@changesets/cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/config": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.4.tgz", - "integrity": "sha512-+DiIwtEBpvvv1z30f8bbOsUQGuccnZl9KRKMM/LxUHuDu5oEjmN+bJQ1RIBKNJjfYMQn8RZzoPiX0UgPaLQyXw==", - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/logger": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.8" - } - }, - "node_modules/@changesets/errors": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", - "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", - "license": "MIT", - "dependencies": { - "extendable-error": "^0.1.5" - } - }, - "node_modules/@changesets/get-dependents-graph": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.2.tgz", - "integrity": "sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==", - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "picocolors": "^1.1.0", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/get-release-plan": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.5.tgz", - "integrity": "sha512-E6wW7JoSMcctdVakut0UB76FrrN3KIeJSXvB+DHMFo99CnC3ZVnNYDCVNClMlqAhYGmLmAj77QfApaI3ca4Fkw==", - "license": "MIT", - "dependencies": { - "@changesets/assemble-release-plan": "^6.0.5", - "@changesets/config": "^3.0.4", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.2", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", - "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", - "license": "MIT" - }, - "node_modules/@changesets/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.2.tgz", - "integrity": "sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==", - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", - "micromatch": "^4.0.8", - "spawndamnit": "^3.0.1" - } - }, - "node_modules/@changesets/logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.1.tgz", - "integrity": "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==", - "license": "MIT", - "dependencies": { - "picocolors": "^1.1.0" - } - }, - "node_modules/@changesets/parse": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", - "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "js-yaml": "^3.13.1" - } - }, - "node_modules/@changesets/parse/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@changesets/parse/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@changesets/pre": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.1.tgz", - "integrity": "sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==", - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" - } - }, - "node_modules/@changesets/read": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.2.tgz", - "integrity": "sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==", - "license": "MIT", - "dependencies": { - "@changesets/git": "^3.0.2", - "@changesets/logger": "^0.1.1", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0", - "picocolors": "^1.1.0" - } - }, - "node_modules/@changesets/should-skip-package": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.1.tgz", - "integrity": "sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==", - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", - "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", - "license": "MIT" - }, - "node_modules/@changesets/write": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.2.tgz", - "integrity": "sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==", - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^2.7.1" - } - }, - "node_modules/@changesets/write/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@chromatic-com/storybook": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-3.2.2.tgz", - "integrity": "sha512-xmXt/GW0hAPbzNTrxYuVo43Adrtjue4DeVrsoIIEeJdGaPNNeNf+DHMlJKOBdlHmCnFUoe9R/0mLM9zUp5bKWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chromatic": "^11.15.0", - "filesize": "^10.0.12", - "jsonfile": "^6.1.0", - "react-confetti": "^6.1.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=16.0.0", - "yarn": ">=1.22.18" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@chromatic-com/storybook/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@chromatic-com/storybook/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=4" } }, - "node_modules/@chromatic-com/storybook/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@chromatic-com/storybook/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } + "license": "MIT" }, "node_modules/@emotion/cache": { "version": "11.13.5", @@ -1286,6 +754,7 @@ "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "aix" @@ -1301,6 +770,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "android" @@ -1316,6 +786,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -1331,6 +802,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "android" @@ -1346,6 +818,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -1361,6 +834,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -1376,6 +850,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -1391,6 +866,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -1406,6 +882,7 @@ "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1421,6 +898,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1436,6 +914,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1451,6 +930,7 @@ "cpu": [ "loong64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1466,6 +946,7 @@ "cpu": [ "mips64el" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1481,6 +962,7 @@ "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1496,6 +978,7 @@ "cpu": [ "riscv64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1511,6 +994,7 @@ "cpu": [ "s390x" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1526,6 +1010,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -1541,6 +1026,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "netbsd" @@ -1556,6 +1042,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "openbsd" @@ -1571,6 +1058,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "sunos" @@ -1586,6 +1074,7 @@ "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -1601,6 +1090,7 @@ "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "win32" @@ -1616,6 +1106,7 @@ "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -1719,16 +1210,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/js": { - "version": "9.15.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", - "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@floating-ui/core": { "version": "1.6.5", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz", @@ -1777,14 +1258,6 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz", "integrity": "sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==" }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", - "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", - "engines": { - "node": ">=6" - } - }, "node_modules/@heroicons/react": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.1.5.tgz", @@ -2402,124 +1875,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "license": "MIT" - }, - "node_modules/@manypkg/find-root/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@manypkg/find-root/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", - "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@changesets/types": "^4.0.1", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - } - }, - "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", - "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", - "license": "MIT" - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/@material-tailwind/react": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@material-tailwind/react/-/react-2.1.8.tgz", @@ -2814,63 +2169,214 @@ } } }, - "node_modules/@mui/types": { - "version": "7.2.19", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.19.tgz", - "integrity": "sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==", + "node_modules/@mui/types": { + "version": "7.2.19", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.19.tgz", + "integrity": "sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.8.tgz", + "integrity": "sha512-O2DWb1kz8hiANVcR7Z4gOB3SvPPsSQGUmStpyBDzde6dJIfBzgV9PbEQOBZd3EBsd1pB+Uv1z5LAJAbymmawrA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mui/types": "^7.2.19", + "@types/prop-types": "^15.7.13", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT", + "peer": true + }, + "node_modules/@next/env": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.18.tgz", + "integrity": "sha512-2vWLOUwIPgoqMJKG6dt35fVXVhgM09tw4tK3/Q34GFXDrfiHlG7iS33VA4ggnjWxjiz9KV5xzfsQzJX6vGAekA==", + "license": "MIT" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.18.tgz", + "integrity": "sha512-tOBlDHCjGdyLf0ube/rDUs6VtwNOajaWV+5FV/ajPgrvHeisllEdymY/oDgv2cx561+gJksfMUtqf8crug7sbA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.18.tgz", + "integrity": "sha512-uJCEjutt5VeJ30jjrHV1VIHCsbMYnEqytQgvREx+DjURd/fmKy15NaVK4aR/u98S1LGTnjq35lRTnRyygglxoA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.18.tgz", + "integrity": "sha512-IL6rU8vnBB+BAm6YSWZewc+qvdL1EaA+VhLQ6tlUc0xp+kkdxQrVqAnh8Zek1ccKHlTDFRyAft0e60gteYmQ4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.18.tgz", + "integrity": "sha512-RCaENbIZqKKqTlL8KNd+AZV/yAdCsovblOpYFp0OJ7ZxgLNbV5w23CUU1G5On+0fgafrsGcW+GdMKdFjaRwyYA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.18.tgz", + "integrity": "sha512-3kmv8DlyhPRCEBM1Vavn8NjyXtMeQ49ID0Olr/Sut7pgzaQTo4h01S7Z8YNE0VtbowyuAL26ibcz0ka6xCTH5g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.18.tgz", + "integrity": "sha512-mliTfa8seVSpTbVEcKEXGjC18+TDII8ykW4a36au97spm9XMPqQTpdGPNBJ9RySSFw9/hLuaCMByluQIAnkzlw==", + "cpu": [ + "x64" + ], "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@mui/utils": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.8.tgz", - "integrity": "sha512-O2DWb1kz8hiANVcR7Z4gOB3SvPPsSQGUmStpyBDzde6dJIfBzgV9PbEQOBZd3EBsd1pB+Uv1z5LAJAbymmawrA==", + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.18.tgz", + "integrity": "sha512-J5g0UFPbAjKYmqS3Cy7l2fetFmWMY9Oao32eUsBPYohts26BdrMUyfCJnZFQkX9npYaHNDOWqZ6uV9hSDPw9NA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.26.0", - "@mui/types": "^7.2.19", - "@types/prop-types": "^15.7.13", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.18.tgz", + "integrity": "sha512-Ynxuk4ZgIpdcN7d16ivJdjsDG1+3hTvK24Pp8DiDmIa2+A4CfhJSEHHVndCHok6rnLUzAZD+/UOKESQgTsAZGg==", + "cpu": [ + "ia32" + ], "license": "MIT", - "peer": true + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.18.tgz", + "integrity": "sha512-dtRGMhiU9TN5nyhwzce+7c/4CCeykYS+ipY/4mIrGzJ71+7zNo55ZxCB7cAVuNqdwtYniFNR2c9OFQ6UdFIMcg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2883,6 +2389,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "engines": { "node": ">= 8" } @@ -2891,6 +2398,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2957,15 +2465,6 @@ } } }, - "node_modules/@remix-run/router": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", - "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@rollup/pluginutils": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", @@ -3014,7 +2513,8 @@ "optional": true, "os": [ "android" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-android-arm64": { "version": "4.27.4", @@ -3028,7 +2528,8 @@ "optional": true, "os": [ "android" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.27.4", @@ -3042,7 +2543,8 @@ "optional": true, "os": [ "darwin" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-darwin-x64": { "version": "4.27.4", @@ -3056,7 +2558,8 @@ "optional": true, "os": [ "darwin" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-freebsd-arm64": { "version": "4.27.4", @@ -3070,7 +2573,8 @@ "optional": true, "os": [ "freebsd" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-freebsd-x64": { "version": "4.27.4", @@ -3084,7 +2588,8 @@ "optional": true, "os": [ "freebsd" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { "version": "4.27.4", @@ -3098,7 +2603,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { "version": "4.27.4", @@ -3112,7 +2618,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.27.4", @@ -3126,7 +2633,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-arm64-musl": { "version": "4.27.4", @@ -3140,7 +2648,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { "version": "4.27.4", @@ -3154,7 +2663,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { "version": "4.27.4", @@ -3168,7 +2678,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-s390x-gnu": { "version": "4.27.4", @@ -3182,7 +2693,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.27.4", @@ -3196,7 +2708,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.27.4", @@ -3210,7 +2723,8 @@ "optional": true, "os": [ "linux" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-win32-arm64-msvc": { "version": "4.27.4", @@ -3224,7 +2738,8 @@ "optional": true, "os": [ "win32" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-win32-ia32-msvc": { "version": "4.27.4", @@ -3238,7 +2753,8 @@ "optional": true, "os": [ "win32" - ] + ], + "peer": true }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.27.4", @@ -3252,7 +2768,8 @@ "optional": true, "os": [ "win32" - ] + ], + "peer": true }, "node_modules/@sentry-internal/browser-utils": { "version": "8.41.0", @@ -3464,6 +2981,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.5.tgz", "integrity": "sha512-lqIOpWJZNR0Ur+2zUcnFAMvdOe7kYEDeXPv1TM7fwEGyzKPYoM/k5xPA2cJCrYwtydxOqqrmn1jUIw0Qdkhuhg==", + "dev": true, "license": "MIT", "dependencies": { "@storybook/addon-highlight": "8.4.5", @@ -3589,6 +3107,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.5.tgz", "integrity": "sha512-sMA7v+4unaKY+5RDhow6lLncJqNX9ZLUnBIt3vzY1ntUsOYVwykAY1Hq4Ysj0luCBXjJJdJ6223ylrycnb7Ilw==", + "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0" @@ -3640,23 +3159,6 @@ "storybook": "^8.4.5" } }, - "node_modules/@storybook/addon-onboarding": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-8.4.5.tgz", - "integrity": "sha512-+FW50yVw2NMxYvk3uMpIberfkG4Sn0qRpiMse7MGHgTimtaJ0Mo1AUIrSfyIJCVTuxiWZud1a5DAnH0ybbWjjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "react-confetti": "^6.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.5" - } - }, "node_modules/@storybook/addon-outline": { "version": "8.4.5", "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.4.5.tgz", @@ -3773,6 +3275,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.5.tgz", "integrity": "sha512-aB1sQNX5nRoUAqg5u1py0MuR/VPd6c6PhECa4rW6pmr7kZcfyP4PP6UFpXuN71ypTQlkRE3Vc5PQZ3gLhE9o3g==", + "dev": true, "license": "MIT", "dependencies": { "@storybook/csf": "^0.1.11", @@ -3804,6 +3307,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -3816,6 +3320,7 @@ "version": "0.1.11", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==", + "dev": true, "license": "MIT", "dependencies": { "type-fest": "^2.19.0" @@ -3842,6 +3347,7 @@ "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" @@ -3854,6 +3360,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", + "dev": true, "license": "MIT" }, "node_modules/@storybook/icons": { @@ -4098,6 +3605,22 @@ "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, "node_modules/@testing-library/dom": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", @@ -4237,85 +3760,6 @@ "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@toastdotdev/lib": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@toastdotdev/lib/-/lib-0.0.1.tgz", - "integrity": "sha512-aNCJ7WzEK3im7mNdDMRo1RsnPiHkzNzFY5rBSL3nN9bTndVIoVCRp9gWM23g32h/GgKeo+jHV5TErTFiVJ2FNA==", - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@toastdotdev/lib-darwin-arm64": "0.0.1", - "@toastdotdev/lib-darwin-x64": "0.0.1", - "@toastdotdev/lib-linux-x64-gnu": "0.0.1", - "@toastdotdev/lib-win32-x64-msvc": "0.0.1" - } - }, - "node_modules/@toastdotdev/lib-darwin-arm64": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@toastdotdev/lib-darwin-arm64/-/lib-darwin-arm64-0.0.1.tgz", - "integrity": "sha512-6UbPdjDFeZsH/2gdNpc3YKVI9FF2VYGLaVUYSUfywpfw4EbAfw/xS+4VZR1ThdowEkoP1Bgy360z3/Iwmv1svg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@toastdotdev/lib-darwin-x64": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@toastdotdev/lib-darwin-x64/-/lib-darwin-x64-0.0.1.tgz", - "integrity": "sha512-nesyX960NPgXm8if2c0UUZwCVkhAi/gUGDnd8kAh5cKhb2ioxE37qgGTOHdyyM7IA73zZzDAv1tD9yZuPlHM+Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@toastdotdev/lib-linux-x64-gnu": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@toastdotdev/lib-linux-x64-gnu/-/lib-linux-x64-gnu-0.0.1.tgz", - "integrity": "sha512-ThaNF545J8lFOlYmFuuXHFj+PpNZSQg58hjgRM69uf5wNZB3AuiHLGyV0yHtenCUfFKd9OeG2jTtSxaTgOLPbA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@toastdotdev/lib-win32-x64-msvc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@toastdotdev/lib-win32-x64-msvc/-/lib-win32-x64-msvc-0.0.1.tgz", - "integrity": "sha512-xPL3bqnRwEXUzO6bxErvcNiQ+kH4K3E78cpjYu3q+94np9tb0VpCj38WrD8xyQFhvbvnvS+SP8MbZcBFTPgrRA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", @@ -4323,13 +3767,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/axios": { - "version": "0.9.36", - "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.9.36.tgz", - "integrity": "sha512-NLOpedx9o+rxo/X5ChbdiX6mS1atE4WHmEEIcR9NLenRVa5HoVjAvjafwU3FPTqnZEstpoqCaW7fagqSoTDNeg==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -4406,17 +3843,6 @@ "@types/node": "*" } }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", - "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -4505,13 +3931,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.0.tgz", - "integrity": "sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==", + "version": "20.17.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.9.tgz", + "integrity": "sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.19.2" } }, "node_modules/@types/nprogress": { @@ -4540,35 +3966,12 @@ }, "node_modules/@types/react-dom": { "version": "18.2.18", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", - "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-redux": { - "version": "7.1.34", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz", - "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hoist-non-react-statics": "^3.3.0", - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0", - "redux": "^4.0.0" - } - }, - "node_modules/@types/react-redux/node_modules/redux": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.9.2" + "@types/react": "*" } }, "node_modules/@types/react-transition-group": { @@ -4581,13 +3984,6 @@ "@types/react": "*" } }, - "node_modules/@types/redux": { - "version": "3.6.31", - "resolved": "https://registry.npmjs.org/@types/redux/-/redux-3.6.31.tgz", - "integrity": "sha512-UEa68g5Q1EPG4Wsnxqhbl0luFVRyX5dbKF3MQstkoWawSNKLulS2WsZZbALsPUX4Ax6SY9faqEs6dPM47cBAcg==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/resolve": { "version": "1.20.6", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", @@ -5036,15 +4432,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -5065,6 +4452,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -5175,15 +4563,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", @@ -5297,6 +4676,7 @@ "version": "0.16.1", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.0.1" @@ -5337,6 +4717,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "browserslist": "^4.21.10", "caniuse-lite": "^1.0.30001538", @@ -5359,6 +4740,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" @@ -5374,6 +4756,7 @@ "version": "4.10.2", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "dev": true, "license": "MPL-2.0", "engines": { "node": ">=4" @@ -5516,6 +4899,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, "license": "MIT", "dependencies": { "open": "^8.0.4" @@ -5524,18 +4908,6 @@ "node": ">=12.0.0" } }, - "node_modules/better-path-resolve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", - "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", - "license": "MIT", - "dependencies": { - "is-windows": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -5563,6 +4935,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -5573,12 +4946,13 @@ "node_modules/browser-assert": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==" + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", + "dev": true }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -5594,11 +4968,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5637,19 +5012,22 @@ "dev": true, "license": "MIT" }, - "node_modules/cac": { - "version": "6.7.12", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz", - "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==", - "license": "MIT", + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10.16.0" } }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -5695,10 +5073,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001645", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001645.tgz", - "integrity": "sha512-GFtY2+qt91kzyMk6j48dJcwJVq5uTkk71XxE3RtScx7XWRLsO7bU44LOFkOZYR8w9YMS0UhPSYpN/6rAMImmLw==", - "dev": true, + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "funding": [ { "type": "opencollective", @@ -5712,7 +5089,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chai": { "version": "5.1.2", @@ -5758,12 +5136,6 @@ "node": ">=10" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "license": "MIT" - }, "node_modules/check-error": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", @@ -5838,6 +5210,7 @@ "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, "funding": [ { "type": "github", @@ -5861,6 +5234,99 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -5960,6 +5426,13 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6020,6 +5493,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -6112,6 +5586,7 @@ "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -6168,6 +5643,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -6185,6 +5661,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6227,15 +5704,6 @@ "node": ">=6" } }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -6262,18 +5730,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -6346,10 +5802,11 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", - "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", - "dev": true + "version": "1.5.66", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.66.tgz", + "integrity": "sha512-pI2QF6+i+zjPbqRzJwkMvtvkdI7MjVbSh2g8dlMguDJIXEPw+kwasS1Jl+YGPEBfGVxsVgGUratAKymPdPo2vQ==", + "dev": true, + "license": "ISC" }, "node_modules/emittery": { "version": "0.13.1", @@ -6370,17 +5827,17 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8.6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/error-ex": { @@ -6458,6 +5915,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" @@ -6470,6 +5928,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6562,6 +6021,7 @@ "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -6599,6 +6059,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", + "dev": true, "license": "MIT", "dependencies": { "debug": "^4.3.4" @@ -6608,10 +6069,11 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6699,32 +6161,6 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-jest": { - "version": "28.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.9.0.tgz", - "integrity": "sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "engines": { - "node": "^16.10.0 || ^18.12.0 || >=20.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, "node_modules/eslint-plugin-prettier": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", @@ -6802,34 +6238,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.14.tgz", - "integrity": "sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-storybook": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.11.1.tgz", - "integrity": "sha512-yGKpAYkBm/Q2hZg476vRUAvd9lAccjjSvzU5nYy3BSQbKTPy7uopx7JEpwk2vSuw4weTMZzWF64z9/gp/K5RCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf": "^0.1.11", - "@typescript-eslint/utils": "^8.8.1", - "ts-dedent": "^2.2.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "eslint": ">=6" - } - }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -6960,6 +6368,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", @@ -7022,6 +6431,13 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -7079,26 +6495,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/extendable-error": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", - "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", - "license": "MIT" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7115,6 +6511,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7130,6 +6527,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7155,6 +6553,7 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -7215,20 +6614,11 @@ "node": ">=10" } }, - "node_modules/filesize": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", - "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 10.4.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7299,6 +6689,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "license": "MIT", "dependencies": { "is-callable": "^1.1.3" @@ -7375,20 +6766,6 @@ "tslib": "^2.1.0" } }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7414,6 +6791,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7466,10 +6844,24 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -7580,19 +6972,6 @@ "glob": "^7.1.6" } }, - "node_modules/globals": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", - "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", @@ -7610,30 +6989,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" @@ -7679,6 +7039,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -7691,6 +7052,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7703,6 +7065,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7715,6 +7078,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -7730,6 +7094,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -7758,12 +7123,6 @@ "dev": true, "license": "MIT" }, - "node_modules/human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", - "license": "MIT" - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -7774,22 +7133,27 @@ "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "bin": { + "husky": "bin.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -7878,6 +7242,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, "license": "ISC" }, "node_modules/internal-slot": { @@ -7899,6 +7264,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -7997,6 +7363,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -8056,6 +7423,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" @@ -8071,6 +7439,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8111,6 +7480,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" @@ -8126,6 +7496,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -8163,6 +7534,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } @@ -8268,18 +7640,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-subdir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", - "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", - "license": "MIT", - "dependencies": { - "better-path-resolve": "1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", @@ -8300,6 +7660,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" @@ -8354,19 +7715,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, "license": "MIT", "dependencies": { "is-docker": "^2.0.0" @@ -8385,7 +7738,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", @@ -9492,21 +8846,23 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", + "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -9549,15 +8905,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -9604,35 +8951,333 @@ "node": ">=6" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "15.2.10", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", + "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.6", + "execa": "~8.0.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", + "micromatch": "~4.0.8", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.5.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "node_modules/load-script": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", @@ -9675,12 +9320,160 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, "license": "MIT" }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -9804,6 +9597,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, "engines": { "node": ">= 8" } @@ -9812,6 +9606,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -9852,6 +9647,19 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -9894,25 +9702,11 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/module-alias": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz", - "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==", - "license": "MIT" - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/mz": { "version": "2.7.0", @@ -9929,7 +9723,6 @@ "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, "funding": [ { "type": "github", @@ -9950,6 +9743,84 @@ "dev": true, "license": "MIT" }, + "node_modules/next": { + "version": "14.2.18", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.18.tgz", + "integrity": "sha512-H9qbjDuGivUDEnK6wa+p2XKO+iMzgVgyr9Zp/4Iv29lKa+DYaxJGjOeEA+5VOvJh/M7HLiskehInSa0cWxVXUw==", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.18", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.18", + "@next/swc-darwin-x64": "14.2.18", + "@next/swc-linux-arm64-gnu": "14.2.18", + "@next/swc-linux-arm64-musl": "14.2.18", + "@next/swc-linux-x64-gnu": "14.2.18", + "@next/swc-linux-x64-musl": "14.2.18", + "@next/swc-win32-arm64-msvc": "14.2.18", + "@next/swc-win32-ia32-msvc": "14.2.18", + "@next/swc-win32-x64-msvc": "14.2.18" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -10141,6 +10012,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", @@ -10172,33 +10044,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/outdent": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", - "license": "MIT" - }, - "node_modules/p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", - "license": "MIT", - "dependencies": { - "p-map": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -10231,19 +10076,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -10255,12 +10092,6 @@ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "node_modules/package-manager-detector": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.4.tgz", - "integrity": "sha512-H/OUu9/zUfP89z1APcBf2X8Us0tt8dUK4lUmKqz12QNXif3DxAs1/YqjGtcutZi1zQqeNQRWr9C+EbQnnvSSFA==", - "license": "MIT" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10297,6 +10128,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10316,6 +10148,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, "engines": { "node": ">=8" } @@ -10342,15 +10175,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pathval": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", @@ -10371,6 +10195,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -10378,6 +10203,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -10493,6 +10331,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10517,6 +10356,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -10670,28 +10510,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/preact": { - "version": "10.10.6", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.10.6.tgz", - "integrity": "sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/preact-render-to-string": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", - "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", - "license": "MIT", - "dependencies": { - "pretty-format": "^3.8.0" - }, - "peerDependencies": { - "preact": ">=10" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10706,7 +10524,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz", "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==", - "devOptional": true, + "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -10731,16 +10549,11 @@ "node": ">=6.0.0" } }, - "node_modules/pretty-format": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", - "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", - "license": "MIT" - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6.0" @@ -10808,6 +10621,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -10834,22 +10648,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-confetti": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-confetti/-/react-confetti-6.1.0.tgz", - "integrity": "sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tween-functions": "^1.2.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "react": "^16.3.0 || ^17.0.1 || ^18.0.0" - } - }, "node_modules/react-docgen": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.0.tgz", @@ -10941,27 +10739,6 @@ "react": "^18.2.0" } }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", - "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4.1.1", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.1.1", - "react-side-effect": "^2.1.0" - }, - "peerDependencies": { - "react": ">=16.3.0" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -10999,47 +10776,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-router": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", - "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.21.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz", - "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.21.0", - "react-router": "6.28.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-side-effect": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", - "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", - "license": "MIT", - "peerDependencies": { - "react": "^16.3.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/react-toastify": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.6.tgz", @@ -11095,52 +10831,6 @@ "pify": "^2.3.0" } }, - "node_modules/read-yaml-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", - "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/read-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/read-yaml-file/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -11157,6 +10847,7 @@ "version": "0.23.9", "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", + "dev": true, "license": "MIT", "dependencies": { "ast-types": "^0.16.1", @@ -11322,15 +11013,56 @@ "node": ">=10" } }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -11354,6 +11086,7 @@ "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.6" }, @@ -11390,6 +11123,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -11445,12 +11179,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -11472,6 +11200,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -11505,6 +11234,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -11516,6 +11246,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "engines": { "node": ">=8" } @@ -11543,6 +11274,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { "node": ">=14" }, @@ -11566,15 +11298,60 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -11584,7 +11361,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -11601,20 +11377,11 @@ "source-map": "^0.6.0" } }, - "node_modules/spawndamnit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-3.0.1.tgz", - "integrity": "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "cross-spawn": "^7.0.5", - "signal-exit": "^4.0.1" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, "license": "BSD-3-Clause" }, "node_modules/stack-utils": { @@ -11644,6 +11411,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.5.tgz", "integrity": "sha512-9tfgabXnMibYp3SvoaJXXMD63Pw0SA9Hnf5v6TxysCYZs4DZ/04fAkK+9RW+K4C5JkV83qXMMlrsPj766R47fg==", + "dev": true, "license": "MIT", "dependencies": { "@storybook/core": "8.4.5" @@ -11666,6 +11434,24 @@ } } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -11839,6 +11625,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11863,6 +11650,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -11913,6 +11701,29 @@ "tslib": "^2.1.0" } }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", @@ -12092,18 +11903,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -12151,6 +11950,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, "license": "MIT" }, "node_modules/tinyrainbow": { @@ -12173,18 +11973,6 @@ "node": ">=14.0.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -12192,19 +11980,11 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -12212,24 +11992,6 @@ "node": ">=8.0" } }, - "node_modules/toast": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/toast/-/toast-0.5.4.tgz", - "integrity": "sha512-/0us8QyyJJ3jGKCOfJNYfxiDlABDmQDs8mePVcTEabwHH31KyFw3kS2nMeydTFVcHAhm4bWuNRHwIPPTcF8tfQ==", - "license": "ISC", - "dependencies": { - "@changesets/cli": "^2.24.4", - "@toastdotdev/lib": "0.0.1", - "cac": "6.7.12", - "module-alias": "^2.2.2", - "preact": "10.10.6", - "preact-render-to-string": "^5.2.2", - "react-helmet": "^6.1.0" - }, - "bin": { - "toast": "toast-cli.mjs" - } - }, "node_modules/ts-api-utils": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.2.tgz", @@ -12341,13 +12103,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "node_modules/tween-functions": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", - "integrity": "sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==", - "dev": true, - "license": "BSD" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -12492,21 +12247,12 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unplugin": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.0.tgz", @@ -12522,9 +12268,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "funding": [ { @@ -12540,9 +12286,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -12574,6 +12321,7 @@ "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -12624,6 +12372,7 @@ "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -12698,6 +12447,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", @@ -12728,6 +12478,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -12805,6 +12556,7 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -12956,6 +12708,7 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/frontend/package.json b/frontend/package.json index b48d6c6..d624816 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,86 +1,87 @@ { "name": "focusflow", "private": true, - "version": "0.0.0", + "version": "0.1.0", "type": "module", "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "lint": "eslint .", + "dev": "next dev", + "dev:turbo": "next dev --turbo", + "build": "next build", + "build:turbo": "next build --turbo", + "start": "next start", + "preview": "next preview", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "lint:fix": "eslint . --fix", "format": "prettier --write .", + "typecheck": "tsc --noEmit", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:e2e": "playwright test", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", - "chromatic": "npx chromatic --project-token=${CHROMATIC_PROJECT_TOKEN}" + "chromatic": "npx chromatic --project-token=${CHROMATIC_PROJECT_TOKEN}", + "prepare": "husky install" }, "dependencies": { "@auth0/auth0-react": "^2.2.4", - "@fortawesome/fontawesome-free": "^6.6.0", "@heroicons/react": "^2.1.5", "@material-tailwind/react": "2.1.8", "@mui/icons-material": "^6.1.7", "@reduxjs/toolkit": "^2.3.0", "@sentry/react": "^8.41.0", "@sentry/tracing": "^7.114.0", - "@storybook/addon-a11y": "^8.4.5", "axios": "^1.7.7", "dotenv": "^16.4.5", + "next": "^14.1.0", "nprogress": "^0.2.0", - "prop-types": "^15.8.1", "react": "18.2.0", "react-dom": "18.2.0", "react-redux": "^9.1.2", - "react-router-dom": "^6.28.0", "react-toastify": "^10.0.6", - "react-youtube": "^10.1.0", - "redux": "^5.0.1", - "toast": "^0.5.4" + "react-youtube": "^10.1.0" }, "devDependencies": { - "@chromatic-com/storybook": "^3.2.2", - "@eslint/js": "latest", + "@storybook/addon-a11y": "^8.4.5", "@storybook/addon-essentials": "^8.4.5", "@storybook/addon-interactions": "^8.4.5", - "@storybook/addon-onboarding": "^8.4.5", - "@storybook/blocks": "^8.4.5", "@storybook/react": "^8.4.5", "@storybook/react-vite": "^8.4.5", - "@storybook/test": "^8.4.5", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", - "@types/axios": "^0.9.36", "@types/jest": "^29.5.14", + "@types/node": "^20.11.0", "@types/nprogress": "^0.2.3", "@types/react": "^18.2.45", "@types/react-dom": "^18.2.18", - "@types/react-redux": "^7.1.34", - "@types/redux": "^3.6.31", "@typescript-eslint/eslint-plugin": "^8.16.0", "@typescript-eslint/parser": "^8.16.0", "@vitejs/plugin-react": "4.2.1", - "autoprefixer": "10.4.16", + "autoprefixer": "^10.4.16", "chromatic": "^11.19.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.5", - "eslint-plugin-storybook": "^0.11.1", - "globals": "^15.12.0", + "husky": "^9.0.0", "jest": "^29.7.0", - "postcss": "8.4.32", + "lint-staged": "^15.0.0", + "postcss": "^8.4.32", "prettier": "^3.4.1", "storybook": "^8.4.5", "tailwindcss": "3.4.0", "ts-jest": "^29.2.5", - "typescript": "^5.7.2", - "vite": "^5.3.5" + "typescript": "^5.3.3" + }, + "lint-staged": { + "*.{js,jsx,ts,tsx}": [ + "eslint --fix", + "prettier --write" + ], + "*.{json,md,yml}": [ + "prettier --write" + ] } } diff --git a/frontend/focusflow-icon.svg b/frontend/public/focusflow-icon.svg similarity index 100% rename from frontend/focusflow-icon.svg rename to frontend/public/focusflow-icon.svg diff --git a/frontend/src/app/[[...slug]]/client.tsx b/frontend/src/app/[[...slug]]/client.tsx new file mode 100644 index 0000000..20a779e --- /dev/null +++ b/frontend/src/app/[[...slug]]/client.tsx @@ -0,0 +1,9 @@ +'use client'; + +import dynamic from 'next/dynamic'; + +const App = dynamic(() => import('../../App'), { ssr: false }); + +export function ClientOnly() { + return ; +} diff --git a/frontend/src/app/[[...slug]]/page.tsx b/frontend/src/app/[[...slug]]/page.tsx new file mode 100644 index 0000000..c070f31 --- /dev/null +++ b/frontend/src/app/[[...slug]]/page.tsx @@ -0,0 +1,9 @@ +import { ClientOnly } from './client'; + +export function generateStaticParams() { + return [{ slug: [''] }]; +} + +export default function Page() { + return ; +} diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..293ee130d1c0315ec8c11de4314aa2fd91329a63 GIT binary patch literal 217534 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 O0000 + +
{children}
+ + + ); +} diff --git a/frontend/src/app/robots.txt b/frontend/src/app/robots.txt new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/components/common/ErrorBoundary.tsx b/frontend/src/components/common/ErrorBoundary.tsx index 7159d70..0ee6e0d 100644 --- a/frontend/src/components/common/ErrorBoundary.tsx +++ b/frontend/src/components/common/ErrorBoundary.tsx @@ -13,7 +13,7 @@ class ErrorBoundary extends React.Component { } componentDidCatch(error: Error, errorInfo: React.ErrorInfo) { - console.error("Uncaught error:", error, errorInfo); + console.error('Uncaught error:', error, errorInfo); toast.error('Something went wrong. Please try again.'); } diff --git a/frontend/src/features/background/components/BackgroundSelector.tsx b/frontend/src/features/background/components/BackgroundSelector.tsx index bb209d3..4220ee3 100644 --- a/frontend/src/features/background/components/BackgroundSelector.tsx +++ b/frontend/src/features/background/components/BackgroundSelector.tsx @@ -9,7 +9,7 @@ import { import { EyeIcon as EyeIconSolid } from '@heroicons/react/24/solid'; import { EyeIcon as EyeIconOutline } from '@heroicons/react/24/outline'; import { toast } from 'react-toastify'; -import { setBackgrounds, selectBackground } from '../redux/backgroundSlice'; +import { setBackgrounds, selectBackground } from '../store/backgroundSlice'; import { useAuth0 } from '@auth0/auth0-react'; import SkeletonLoader from './skeletons/SkeletonLoader'; diff --git a/frontend/src/features/background/redux/backgroundSlice.ts b/frontend/src/features/background/store/backgroundSlice.ts similarity index 100% rename from frontend/src/features/background/redux/backgroundSlice.ts rename to frontend/src/features/background/store/backgroundSlice.ts diff --git a/frontend/src/features/dashboard/components/BottomMenu.tsx b/frontend/src/features/dashboard/components/BottomMenu.tsx index 92e6c54..6cbab3c 100644 --- a/frontend/src/features/dashboard/components/BottomMenu.tsx +++ b/frontend/src/features/dashboard/components/BottomMenu.tsx @@ -1,72 +1,21 @@ -import React, { useState, useRef } from 'react'; -import YouTube from 'react-youtube'; +import React, { useState } from 'react'; +import MusicPlayer from '../music/MusicPlayer'; import VolumeControl from '../music/VolumeControl'; import MusicSelection from '../music/MusicSelection'; import AmbientSoundControl from '../../sounds/components/AmbientSoundControl'; import BackgroundSelector from './BackgroundSelector'; -import MusicPlayer from '../music/MusicPlayer'; -import { useAmbientSounds } from '../../hooks/useAmbientSounds'; -import { useVideoPlayer } from '../../hooks/useVideoPlayer'; -import { useLocalStorageSync } from '../../hooks/useLocalStorageSync'; -import { videos } from '../../../shared/data/videos'; -/*import Alert from '@material-tailwind/react'; -import Loading from './Loading'; -import PropTypes from 'prop-types'; // Import PropTypes -import { useSelector } from 'react-redux'; // Import useSelector*/ - - -const BottomMenu = ({ onBackgroundChange }) => { - const [volume, setVolume] = useState(100); +const BottomMenu = () => { + // PROBLEM: Bottomm menu shouldn't manage chield's state and side effects const [isMenuHidden, setIsMenuHidden] = useState(true); - const soundRefs = useRef<{ [key: string]: HTMLAudioElement }>({}); - const { ambientSounds, soundRefs, handleAmbientSoundChange } = - useAmbientSounds(); - const { - selectedVideo, - isPlaying, - handlePlayPause, - handleVideoSelect, - onPlayerReady, - playerRef, - } = useVideoPlayer(videos, volume); - - interface SoundRefs { - [key: string]: HTMLAudioElement | null; - } - - useLocalStorageSync('ambientSounds', ambientSounds); - useLocalStorageSync('selectedVideo', selectedVideo); - - const handleVolumeChange = (newVolume) => { - setVolume(newVolume); - if (playerRef.current) { - if (newVolume === 0) playerRef.current.mute(); - else playerRef.current.unMute(); - playerRef.current.setVolume(newVolume); - } - }; return (
- {/* Render components here, utilizing the custom hooks */} - - - - - - + + + + +
); }; diff --git a/frontend/src/features/sounds/redux/soundSlice.ts b/frontend/src/features/sounds/store/soundSlice.ts similarity index 100% rename from frontend/src/features/sounds/redux/soundSlice.ts rename to frontend/src/features/sounds/store/soundSlice.ts diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx deleted file mode 100644 index 22492fc..0000000 --- a/frontend/src/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import { Auth0Provider } from '@auth0/auth0-react'; -import App from './App'; -import './index.css'; - -import { ThemeProvider } from '@material-tailwind/react'; - -ReactDOM.createRoot(document.getElementById('root')!).render( - - - - - - - , -); diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 08be76b..d597128 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "es6", "module": "esnext", - "jsx": "react-jsx", + "jsx": "preserve", "strict": true, "moduleResolution": "node", "esModuleInterop": true, @@ -26,8 +26,19 @@ "@hooks/*": ["shared/hooks/*"], "@utils/*": ["shared/utils/*"], "@styles/*": ["styles/*"] - } + }, + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "noEmit": true, + "incremental": true, + "resolveJsonModule": true, + "isolatedModules": true, + "plugins": [ + { + "name": "next" + } + ] }, - "include": ["src"], + "include": ["src", "./build/types/**/*.ts"], "exclude": ["node_modules", "dist"] } diff --git a/frontend/vite.config.js b/frontend/vite.config.js deleted file mode 100644 index 5f1ad61..0000000 --- a/frontend/vite.config.js +++ /dev/null @@ -1,27 +0,0 @@ -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; -import path from 'path'; - -export default defineConfig({ - plugins: [react()], - resolve: { - alias: { - '@': path.resolve(__dirname, 'src'), // Base alias for the `src` directory - '@app': path.resolve(__dirname, 'src/app'), // Alias for `app` directory - '@components': path.resolve(__dirname, 'src/components'), // Alias for `components` - '@features': path.resolve(__dirname, 'src/features'), // Alias for `features` - '@auth': path.resolve(__dirname, 'src/features/auth'), // Alias for `auth` in `features` - '@background': path.resolve(__dirname, 'src/features/background'), // Alias for `background` - '@dashboard': path.resolve(__dirname, 'src/features/dashboard'), // Alias for `dashboard` - '@music': path.resolve(__dirname, 'src/features/music'), // Alias for `music` - '@pomodoro': path.resolve(__dirname, 'src/features/pomodoro'), // Alias for `pomodoro` - '@sounds': path.resolve(__dirname, 'src/features/sounds'), // Alias for `sounds` - '@tasks': path.resolve(__dirname, 'src/features/tasks'), // Alias for `tasks` - '@shared': path.resolve(__dirname, 'src/shared'), // Alias for `shared` - '@config': path.resolve(__dirname, 'src/shared/config'), // Alias for `config` in `shared` - '@hooks': path.resolve(__dirname, 'src/shared/hooks'), // Alias for `hooks` in `shared` - '@utils': path.resolve(__dirname, 'src/shared/utils'), // Alias for `utils` in `shared` - '@styles': path.resolve(__dirname, 'src/styles'), // Alias for `styles` - }, - }, -});