From a52c4630214088054a9e4747c26a7a4afcc005d5 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 16:04:24 +0530 Subject: [PATCH 01/19] feat: Init landing page Signed-off-by: Ayush --- landing/.gitignore | 25 + landing/README.md | 54 + landing/eslint.config.js | 28 + landing/index.html | 20 + landing/package-lock.json | 4481 +++++++++++++++++ landing/package.json | 35 + landing/postcss.config.js | 6 + landing/public/dashboard_preview.png | Bin 0 -> 179170 bytes landing/public/logo.svg | 5 + landing/src/App.css | 42 + landing/src/App.tsx | 45 + landing/src/assets/react.svg | 1 + landing/src/components/layout/Footer.tsx | 59 + landing/src/components/layout/Navbar.tsx | 100 + landing/src/components/sections/Features.tsx | 110 + landing/src/components/sections/Hero.tsx | 127 + .../src/components/sections/HowItWorks.tsx | 125 + .../src/components/sections/Integrations.tsx | 123 + landing/src/components/sections/Waitlist.tsx | 111 + landing/src/index.css | 43 + landing/src/main.tsx | 10 + landing/src/vite-env.d.ts | 1 + landing/tailwind.config.js | 26 + landing/tsconfig.app.json | 26 + landing/tsconfig.json | 7 + landing/tsconfig.node.json | 24 + landing/vite.config.ts | 9 + 27 files changed, 5643 insertions(+) create mode 100644 landing/.gitignore create mode 100644 landing/README.md create mode 100644 landing/eslint.config.js create mode 100644 landing/index.html create mode 100644 landing/package-lock.json create mode 100644 landing/package.json create mode 100644 landing/postcss.config.js create mode 100644 landing/public/dashboard_preview.png create mode 100644 landing/public/logo.svg create mode 100644 landing/src/App.css create mode 100644 landing/src/App.tsx create mode 100644 landing/src/assets/react.svg create mode 100644 landing/src/components/layout/Footer.tsx create mode 100644 landing/src/components/layout/Navbar.tsx create mode 100644 landing/src/components/sections/Features.tsx create mode 100644 landing/src/components/sections/Hero.tsx create mode 100644 landing/src/components/sections/HowItWorks.tsx create mode 100644 landing/src/components/sections/Integrations.tsx create mode 100644 landing/src/components/sections/Waitlist.tsx create mode 100644 landing/src/index.css create mode 100644 landing/src/main.tsx create mode 100644 landing/src/vite-env.d.ts create mode 100644 landing/tailwind.config.js create mode 100644 landing/tsconfig.app.json create mode 100644 landing/tsconfig.json create mode 100644 landing/tsconfig.node.json create mode 100644 landing/vite.config.ts diff --git a/landing/.gitignore b/landing/.gitignore new file mode 100644 index 0000000..85459e9 --- /dev/null +++ b/landing/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local +!src/lib/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/landing/README.md b/landing/README.md new file mode 100644 index 0000000..40ede56 --- /dev/null +++ b/landing/README.md @@ -0,0 +1,54 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default tseslint.config({ + extends: [ + // Remove ...tseslint.configs.recommended and replace with this + ...tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + ...tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + ...tseslint.configs.stylisticTypeChecked, + ], + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default tseslint.config({ + plugins: { + // Add the react-x and react-dom plugins + 'react-x': reactX, + 'react-dom': reactDom, + }, + rules: { + // other rules... + // Enable its recommended typescript rules + ...reactX.configs['recommended-typescript'].rules, + ...reactDom.configs.recommended.rules, + }, +}) +``` diff --git a/landing/eslint.config.js b/landing/eslint.config.js new file mode 100644 index 0000000..092408a --- /dev/null +++ b/landing/eslint.config.js @@ -0,0 +1,28 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +) diff --git a/landing/index.html b/landing/index.html new file mode 100644 index 0000000..9f40c04 --- /dev/null +++ b/landing/index.html @@ -0,0 +1,20 @@ + + + + + + + + + Devr.AI | AI-Powered Developer Relations Assistant + + + + + + +
+ + + + \ No newline at end of file diff --git a/landing/package-lock.json b/landing/package-lock.json new file mode 100644 index 0000000..0b6394d --- /dev/null +++ b/landing/package-lock.json @@ -0,0 +1,4481 @@ +{ + "name": "devrai-landing", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "devrai-landing", + "version": "0.1.0", + "dependencies": { + "@studio-freight/lenis": "^1.0.42", + "framer-motion": "^10.16.4", + "lucide-react": "^0.344.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.5.2" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-react": "^4.0.3", + "autoprefixer": "^10.4.14", + "eslint": "^8.45.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "postcss": "^8.4.27", + "tailwindcss": "^3.3.3", + "typescript": "^5.0.2", + "vite": "^4.4.5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "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/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "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.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "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.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "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.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.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" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "license": "MIT", + "optional": true + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.0.tgz", + "integrity": "sha512-WhCn7Z7TauhBtmzhvKpoQs0Wwb/kBcy4CwpuI0/eEIr2Lx2auxmulAzLr91wVZJaz47iUZdkXOK7WlAfxGKCnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/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/@isaacs/cliui/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/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "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, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "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, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@studio-freight/lenis": { + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/@studio-freight/lenis/-/lenis-1.0.42.tgz", + "integrity": "sha512-HJAGf2DeM+BTvKzHv752z6Z7zy6bA643nZM7W88Ft9tnw2GsJSp6iJ+3cekjyMIWH+cloL2U9X82dKXgdU8kPg==", + "deprecated": "The '@studio-freight/lenis' package has been renamed to 'lenis'. Please update your dependencies: npm install lenis and visit the documentation: https://www.npmjs.com/package/lenis", + "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", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz", + "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.6.tgz", + "integrity": "sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/semver": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.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==", + "dev": true, + "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", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.136", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz", + "integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "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" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "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.19", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.19.tgz", + "integrity": "sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.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, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", + "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "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/goober": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "license": "MIT", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "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/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "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, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.344.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.344.0.tgz", + "integrity": "sha512-6YyBnn91GB45VuVT96bYCOKElbJzUHqp65vX8cDcu55MQL9T969v4dhGClpljamuI/+KMO9P6w9Acq1CVQGvIQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "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", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "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.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-hot-toast": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.5.2.tgz", + "integrity": "sha512-Tun3BbCxzmXXM7C+NI4qiv6lT0uwGh4oAfeJyNOjYUejTsm35mK9iCaYLGv8cBz9L5YxZLx/2ii7zsIwPtPUdw==", + "license": "MIT", + "dependencies": { + "csstype": "^3.1.3", + "goober": "^2.1.16" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "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/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/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/string-width/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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.13.tgz", + "integrity": "sha512-Hgp8IF/yZDzKsN1hQWOuQZbrKiaFsbQud+07jJ8h9m9PaHWkpvZ5u55Xw5yYjWRXwRQ4jwFlJvY7T7FUJG9MCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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/wrap-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/wrap-ansi/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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/landing/package.json b/landing/package.json new file mode 100644 index 0000000..195ad2c --- /dev/null +++ b/landing/package.json @@ -0,0 +1,35 @@ +{ + "name": "devrai-landing", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@studio-freight/lenis": "^1.0.42", + "framer-motion": "^10.16.4", + "lucide-react": "^0.344.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.5.2" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-react": "^4.0.3", + "autoprefixer": "^10.4.14", + "eslint": "^8.45.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "postcss": "^8.4.27", + "tailwindcss": "^3.3.3", + "typescript": "^5.0.2", + "vite": "^4.4.5" + } +} diff --git a/landing/postcss.config.js b/landing/postcss.config.js new file mode 100644 index 0000000..49c0612 --- /dev/null +++ b/landing/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/landing/public/dashboard_preview.png b/landing/public/dashboard_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..27a7915d503b553942eda171dd0652e0d2386dce GIT binary patch literal 179170 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�!l?_Crt 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 z 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 Mg`_?d3TS)%54-tbVE_OC literal 0 HcmV?d00001 diff --git a/landing/public/logo.svg b/landing/public/logo.svg new file mode 100644 index 0000000..9c524e2 --- /dev/null +++ b/landing/public/logo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/landing/src/App.css b/landing/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/landing/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/landing/src/App.tsx b/landing/src/App.tsx new file mode 100644 index 0000000..57df4bc --- /dev/null +++ b/landing/src/App.tsx @@ -0,0 +1,45 @@ +import React, { useEffect } from 'react'; +import { Toaster } from 'react-hot-toast'; +import Lenis from '@studio-freight/lenis'; +import Hero from './components/sections/Hero'; +import Features from './components/sections/Features'; +import HowItWorks from './components/sections/HowItWorks'; +import Integrations from './components/sections/Integrations'; +import Waitlist from './components/sections/Waitlist'; +import Footer from './components/layout/Footer'; +import Navbar from './components/layout/Navbar'; + +function App() { + useEffect(() => { + // Initialize smooth scroll + const lenis = new Lenis({ + duration: 1.2, + easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)), + smoothWheel: true, + }); + + function raf(time: number) { + lenis.raf(time); + requestAnimationFrame(raf); + } + + requestAnimationFrame(raf); + }, []); + + return ( +

+ +
+ + + + + +
+
+ +
+ ); +} + +export default App; \ No newline at end of file diff --git a/landing/src/assets/react.svg b/landing/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/landing/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/landing/src/components/layout/Footer.tsx b/landing/src/components/layout/Footer.tsx new file mode 100644 index 0000000..46d3fea --- /dev/null +++ b/landing/src/components/layout/Footer.tsx @@ -0,0 +1,59 @@ +import React from 'react'; +import { Github, Twitter, Linkedin } from 'lucide-react'; + +const Footer: React.FC = () => { + const currentYear = new Date().getFullYear(); + + return ( +
+ ); +}; + +export default Footer; \ No newline at end of file diff --git a/landing/src/components/layout/Navbar.tsx b/landing/src/components/layout/Navbar.tsx new file mode 100644 index 0000000..20d8dae --- /dev/null +++ b/landing/src/components/layout/Navbar.tsx @@ -0,0 +1,100 @@ +import React, { useState, useEffect } from 'react'; +import { Menu, X } from 'lucide-react'; +import { motion } from 'framer-motion'; + +const Navbar: React.FC = () => { + const [isOpen, setIsOpen] = useState(false); + const [scrolled, setScrolled] = useState(false); + + useEffect(() => { + const handleScroll = () => { + setScrolled(window.scrollY > 50); + }; + + window.addEventListener('scroll', handleScroll); + return () => { + window.removeEventListener('scroll', handleScroll); + }; + }, []); + + const navLinks = [ + { name: 'Features', href: '#features' }, + { name: 'How It Works', href: '#how-it-works' }, + { name: 'Integrations', href: '#integrations' }, + { name: 'Join Waitlist', href: '#waitlist' }, + ]; + + return ( +
+
+
+ + + Devr.AI + + + + {/* Desktop Nav */} + + {navLinks.map((link) => ( + + {link.name} + + ))} + + + {/* Mobile Nav Toggle */} + +
+
+ + {/* Mobile Nav */} + + + +
+ ); +}; + +export default Navbar; \ No newline at end of file diff --git a/landing/src/components/sections/Features.tsx b/landing/src/components/sections/Features.tsx new file mode 100644 index 0000000..047d35b --- /dev/null +++ b/landing/src/components/sections/Features.tsx @@ -0,0 +1,110 @@ +import React from 'react'; +import { motion } from 'framer-motion'; +import { + Users, + GitPullRequest, + BookOpen, + BarChart3, + MessageSquareQuote, + Code2 +} from 'lucide-react'; + +const Features: React.FC = () => { + const features = [ + { + icon: , + title: 'Contributor Engagement', + description: 'Automate onboarding for new contributors with personalized welcome messages and guidance through first contribution steps.' + }, + { + icon: , + title: 'Issue Triage & PR Assistance', + description: 'Automatically categorize issues, identify duplicates, and provide initial code review comments for PRs.' + }, + { + icon: , + title: 'Knowledge Base Automation', + description: 'Extract FAQs from conversations, maintain project wikis, and provide instant answers to common questions.' + }, + { + icon: , + title: 'Community Analytics', + description: 'Track engagement metrics, analyze contribution patterns, and monitor community health across platforms.' + }, + { + icon: , + title: 'Multi-Platform Support', + description: 'Seamlessly integrate with Discord, Slack, GitHub, and Discourse to provide unified experiences.' + }, + { + icon: , + title: 'Code Understanding', + description: 'Leverage AI to understand code context, provide meaningful suggestions, and assist with documentation.' + } + ]; + + const container = { + hidden: { opacity: 0 }, + show: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.3, + }, + }, + }; + + const item = { + hidden: { opacity: 0, y: 20 }, + show: { opacity: 1, y: 0 }, + }; + + return ( +
+
+ +

+ Powerful Features +

+

+ Devr.AI comes packed with tools designed to reduce maintainer workload, improve contributor experience, and enhance project visibility. +

+
+ + + {features.map((feature, index) => ( + +
+ {feature.icon} +
+

+ {feature.title} +

+

+ {feature.description} +

+
+ ))} +
+
+
+ ); +}; + +export default Features; \ No newline at end of file diff --git a/landing/src/components/sections/Hero.tsx b/landing/src/components/sections/Hero.tsx new file mode 100644 index 0000000..9e31b91 --- /dev/null +++ b/landing/src/components/sections/Hero.tsx @@ -0,0 +1,127 @@ +import React from 'react'; +import { motion } from 'framer-motion'; +import { Bot, Github, MessageSquare, Users } from 'lucide-react'; + +const Hero: React.FC = () => { + const container = { + hidden: { opacity: 0 }, + show: { + opacity: 1, + transition: { + staggerChildren: 0.2, + }, + }, + }; + + const item = { + hidden: { opacity: 0, y: 20 }, + show: { opacity: 1, y: 0 }, + }; + + return ( +
+ {/* Background decorations */} +
+
+
+ + {/* Floating icons */} + + + + + + + + + +
+ +
+ + + + Developer Experience Reimagined + + + + AI-Powered Developer Relations Assistant + + + Devr.AI revolutionizes open-source community management by automating engagement, + streamlining onboarding, and delivering real-time project updates across Discord, + Slack, GitHub, and more. + + + + + Join the Waitlist + + + Explore Features + + + + +
+
+ Devr.AI Dashboard +
+
+
+
+
+ ); +}; + +export default Hero; \ No newline at end of file diff --git a/landing/src/components/sections/HowItWorks.tsx b/landing/src/components/sections/HowItWorks.tsx new file mode 100644 index 0000000..ffe449c --- /dev/null +++ b/landing/src/components/sections/HowItWorks.tsx @@ -0,0 +1,125 @@ +import React from 'react'; +import { motion } from 'framer-motion'; +import { BrainCircuit, Workflow, Database, GitMerge } from 'lucide-react'; + +const HowItWorks: React.FC = () => { + const steps = [ + { + icon: , + title: 'AI-Powered Understanding', + description: 'Our AI service layer understands natural language, code context, and project-specific information to provide intelligent responses.', + color: 'from-green-500 to-blue-500', + }, + { + icon: , + title: 'Workflow Orchestration', + description: 'The core processing engine manages workflows between different services and handles the context for ongoing conversations.', + color: 'from-blue-500 to-purple-500', + }, + { + icon: , + title: 'Knowledge Retrieval', + description: 'Our system stores and retrieves project-specific information from documentation, code, and past interactions.', + color: 'from-purple-500 to-pink-500', + }, + { + icon: , + title: 'Platform Integration', + description: 'Seamlessly connect with GitHub, Discord, Slack, and Discourse through dedicated integration services.', + color: 'from-pink-500 to-orange-500', + }, + ]; + + return ( +
+
+ +

+ How It Works +

+

+ Devr.AI follows a microservices architecture designed for efficiency, scalability, and intelligent operations. +

+
+ +
+ {steps.map((step, index) => ( + +
+
+ {step.icon} +
+
+

{step.title}

+

{step.description}

+
+
+ + {index < steps.length - 1 && ( + + + )} +
+ ))} +
+ + +
+                        
+                            {`
+flowchart TB
+  subgraph "External Platforms"
+    GH["GitHub"] --- DS["Discord"] --- SL["Slack"]
+  end
+  
+  subgraph "Core Processing"
+    WF["Workflow Orchestrator"] --- LLM["LLM Service"]
+    WF --- KR["Knowledge Retrieval"]
+  end
+  
+  subgraph "Data Storage"
+    VDB["Vector DB"] --- RDB["Relational DB"]
+  end
+  
+  GH <--> API["API Gateway"] <--> WF
+  DS <--> API
+  SL <--> API
+  
+  LLM <--> VDB
+  KR <--> VDB
+  WF <--> RDB
+              `}
+                        
+                    
+
+
+
+ ); +}; + +export default HowItWorks; \ No newline at end of file diff --git a/landing/src/components/sections/Integrations.tsx b/landing/src/components/sections/Integrations.tsx new file mode 100644 index 0000000..9ab2820 --- /dev/null +++ b/landing/src/components/sections/Integrations.tsx @@ -0,0 +1,123 @@ +import React from 'react'; +import { motion } from 'framer-motion'; +import { Github, MessageSquare, Slack, MessageCircle } from 'lucide-react'; + +const Integrations: React.FC = () => { + const integrations = [ + { + icon: , + name: 'GitHub', + description: 'Automate issue triage, PR reviews, and contributor onboarding directly on GitHub.', + features: [ + 'Automated issue labeling', + 'PR review assistance', + 'Release notes generation', + 'Welcome messages for first-time contributors' + ] + }, + { + icon: , + name: 'Slack', + description: 'Streamline team communication and project updates within your Slack workspace.', + features: [ + 'Real-time notifications', + 'Command center for quick actions', + 'Channel monitoring and insights', + 'Integration with CI/CD pipeline' + ] + }, + { + icon: , + name: 'Discord', + description: 'Build an engaging community space for developers with automated assistance.', + features: [ + 'Support channel automation', + 'Role-based access management', + 'Event notifications', + 'Documentation search' + ] + }, + { + icon: , + name: 'Discourse', + description: 'Enhance your community forum experience with AI-powered assistance.', + features: [ + 'Topic categorization', + 'Automated responses', + 'Content moderation', + 'Knowledge base management' + ] + } + ]; + + const container = { + hidden: { opacity: 0 }, + show: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.3, + }, + }, + }; + + const item = { + hidden: { opacity: 0, y: 20 }, + show: { opacity: 1, y: 0 }, + }; + + return ( +
+
+ +

+ Platform Integrations +

+

+ Connect Devr.AI with the tools you already use to enhance developer experience and community management. +

+
+ + + {integrations.map((integration, index) => ( + +
+
+ {integration.icon} +
+

{integration.name}

+
+

{integration.description}

+
    + {integration.features.map((feature, featIndex) => ( +
  • + + {feature} +
  • + ))} +
+
+ ))} +
+
+
+ ); +}; + +export default Integrations; \ No newline at end of file diff --git a/landing/src/components/sections/Waitlist.tsx b/landing/src/components/sections/Waitlist.tsx new file mode 100644 index 0000000..79ea4df --- /dev/null +++ b/landing/src/components/sections/Waitlist.tsx @@ -0,0 +1,111 @@ +import React, { useState } from 'react'; +import { motion } from 'framer-motion'; +import { toast } from 'react-hot-toast'; +import { Send } from 'lucide-react'; + +const Waitlist: React.FC = () => { + const [email, setEmail] = useState(''); + const [name, setName] = useState(''); + const [submitting, setSubmitting] = useState(false); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + setSubmitting(true); + + // Simulate API call + setTimeout(() => { + toast.success('You have been added to the waitlist!'); + setEmail(''); + setName(''); + setSubmitting(false); + }, 1500); + }; + + return ( +
+
+
+ +

+ Join the Waitlist +

+

+ Be among the first to experience Devr.AI and revolutionize your open-source community management. +

+
+ + +
+
+ + setName(e.target.value)} + required + placeholder="Your name" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+
+ + setEmail(e.target.value)} + required + placeholder="your@email.com" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+
+ +
+ +

+ We'll notify you when early access becomes available. +

+
+
+
+
+
+ ); +}; + +export default Waitlist; \ No newline at end of file diff --git a/landing/src/index.css b/landing/src/index.css new file mode 100644 index 0000000..f62be29 --- /dev/null +++ b/landing/src/index.css @@ -0,0 +1,43 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); + +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + font-family: 'Inter', sans-serif; + @apply bg-dark text-white antialiased; +} + +.gradient-text { + @apply bg-gradient-to-r from-green-400 to-blue-500 bg-clip-text text-transparent; +} + +.card { + @apply bg-dark-card border border-gray-700 rounded-xl p-6 transition-all hover:border-green-500; +} + +.btn-primary { + @apply px-6 py-3 rounded-lg bg-primary hover:bg-primary-hover transition-all text-white font-medium; +} + +.btn-secondary { + @apply px-6 py-3 rounded-lg bg-dark-lighter hover:bg-gray-800 transition-all text-white font-medium border border-gray-700; +} + +.section { + @apply py-16 md:py-24; +} + +/* Acenity-inspired effects */ +.hover-lift { + @apply transition-transform duration-300; +} + +.hover-lift:hover { + transform: translateY(-5px); +} + +.radial-gradient-bg { + background: radial-gradient(circle at center, rgba(34, 197, 94, 0.15), transparent 50%); +} \ No newline at end of file diff --git a/landing/src/main.tsx b/landing/src/main.tsx new file mode 100644 index 0000000..cf06587 --- /dev/null +++ b/landing/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App.tsx'; +import './index.css'; + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +); \ No newline at end of file diff --git a/landing/src/vite-env.d.ts b/landing/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/landing/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/landing/tailwind.config.js b/landing/tailwind.config.js new file mode 100644 index 0000000..a77198c --- /dev/null +++ b/landing/tailwind.config.js @@ -0,0 +1,26 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], + theme: { + extend: { + colors: { + primary: { + DEFAULT: '#22c55e', // green-500 + hover: '#16a34a', // green-600 + }, + dark: { + DEFAULT: '#09090b', // gray-950 + lighter: '#18181b', // gray-900 + card: '#27272a', // gray-800 + }, + }, + fontFamily: { + sans: ['Inter', 'system-ui', 'sans-serif'], + }, + animation: { + 'spin-slow': 'spin 8s linear infinite', + }, + }, + }, + plugins: [], +}; diff --git a/landing/tsconfig.app.json b/landing/tsconfig.app.json new file mode 100644 index 0000000..358ca9b --- /dev/null +++ b/landing/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/landing/tsconfig.json b/landing/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/landing/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/landing/tsconfig.node.json b/landing/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/landing/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/landing/vite.config.ts b/landing/vite.config.ts new file mode 100644 index 0000000..df2542b --- /dev/null +++ b/landing/vite.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + server: { + port: 3001, + }, +}); From a4f008a35f5e2893d4d26a0b680e3a326ceea752 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 16:42:12 +0530 Subject: [PATCH 02/19] improve style Signed-off-by: Ayush --- landing/src/App.tsx | 1 - landing/src/components/layout/Footer.tsx | 2 +- landing/src/components/sections/Hero.tsx | 135 +++++++++++++++- .../src/components/sections/HowItWorks.tsx | 146 +++++++++++++----- landing/src/index.css | 1 - 5 files changed, 236 insertions(+), 49 deletions(-) diff --git a/landing/src/App.tsx b/landing/src/App.tsx index 57df4bc..22f118c 100644 --- a/landing/src/App.tsx +++ b/landing/src/App.tsx @@ -11,7 +11,6 @@ import Navbar from './components/layout/Navbar'; function App() { useEffect(() => { - // Initialize smooth scroll const lenis = new Lenis({ duration: 1.2, easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)), diff --git a/landing/src/components/layout/Footer.tsx b/landing/src/components/layout/Footer.tsx index 46d3fea..33ddbb6 100644 --- a/landing/src/components/layout/Footer.tsx +++ b/landing/src/components/layout/Footer.tsx @@ -40,7 +40,7 @@ const Footer: React.FC = () => { © {currentYear} Devr.AI. All rights reserved.

- + diff --git a/landing/src/components/sections/Hero.tsx b/landing/src/components/sections/Hero.tsx index 9e31b91..2ec39e3 100644 --- a/landing/src/components/sections/Hero.tsx +++ b/landing/src/components/sections/Hero.tsx @@ -1,6 +1,17 @@ import React from 'react'; import { motion } from 'framer-motion'; -import { Bot, Github, MessageSquare, Users } from 'lucide-react'; +import { + Bot, + Github, + MessageSquare, + Users, + GitBranch, + GitMerge, + GitPullRequest, + Slack, + Code, + MessagesSquare +} from 'lucide-react'; const Hero: React.FC = () => { const container = { @@ -20,12 +31,13 @@ const Hero: React.FC = () => { return (
- {/* Background decorations */}
+
+
+ - {/* Floating icons */} { repeat: Infinity, repeatType: 'reverse', }} - className="absolute top-1/4 left-1/5 text-green-500/20" + className="absolute top-[10%] left-[15%] text-green-500/20" > + + + + + + + + + + + + + + + + + { repeat: Infinity, repeatType: 'reverse', }} - className="absolute bottom-1/3 right-1/6 text-blue-500/20" + className="absolute bottom-[25%] right-[20%] text-blue-500/20" > @@ -63,10 +146,38 @@ const Hero: React.FC = () => { repeat: Infinity, repeatType: 'reverse', }} - className="absolute top-2/3 left-1/6 text-purple-500/20" + className="absolute bottom-[20%] left-[20%] text-purple-500/20" > + + + + + +
@@ -87,6 +198,16 @@ const Hero: React.FC = () => { > AI-Powered Developer Relations Assistant + + + + Coming Soon — Join the Waitlist for Early Access + + + {
Devr.AI Dashboard diff --git a/landing/src/components/sections/HowItWorks.tsx b/landing/src/components/sections/HowItWorks.tsx index ffe449c..77e3e93 100644 --- a/landing/src/components/sections/HowItWorks.tsx +++ b/landing/src/components/sections/HowItWorks.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { motion } from 'framer-motion'; -import { BrainCircuit, Workflow, Database, GitMerge } from 'lucide-react'; +import { BrainCircuit, Workflow, Database, GitMerge, ArrowRight, Github, Slack, MessageSquare, Users, Shield } from 'lucide-react'; const HowItWorks: React.FC = () => { const steps = [ @@ -28,6 +28,18 @@ const HowItWorks: React.FC = () => { description: 'Seamlessly connect with GitHub, Discord, Slack, and Discourse through dedicated integration services.', color: 'from-pink-500 to-orange-500', }, + { + icon: , + title: 'Contributor Management', + description: 'Automate onboarding for new contributors, provide personalized guidance, and track contribution milestones to boost engagement.', + color: 'from-orange-500 to-amber-500', + }, + { + icon: , + title: 'Maintainer Support', + description: 'Reduce workload for maintainers through automated issue triage, PR reviews, and community health monitoring tools.', + color: 'from-green-500 to-emerald-500', + } ]; return ( @@ -48,7 +60,7 @@ const HowItWorks: React.FC = () => {

-
+
{steps.map((step, index) => ( { transition={{ duration: 0.6, delay: index * 0.1 }} className="relative" > -
-
+
+
{step.icon}
-

{step.title}

-

{step.description}

+

{step.title}

+

{step.description}

- {index < steps.length - 1 && ( + {index < steps.length - 2 && index % 2 === 0 && ( + + + )} + + {index < steps.length - 2 && index % 2 === 1 && ( )} @@ -83,39 +106,84 @@ const HowItWorks: React.FC = () => {
-
-                        
-                            {`
-flowchart TB
-  subgraph "External Platforms"
-    GH["GitHub"] --- DS["Discord"] --- SL["Slack"]
-  end
-  
-  subgraph "Core Processing"
-    WF["Workflow Orchestrator"] --- LLM["LLM Service"]
-    WF --- KR["Knowledge Retrieval"]
-  end
-  
-  subgraph "Data Storage"
-    VDB["Vector DB"] --- RDB["Relational DB"]
-  end
-  
-  GH <--> API["API Gateway"] <--> WF
-  DS <--> API
-  SL <--> API
-  
-  LLM <--> VDB
-  KR <--> VDB
-  WF <--> RDB
-              `}
-                        
-                    
+

System Architecture

+ +
+
+
+
+ + GitHub +
+
+ + Discord +
+
+ + Slack +
+
+ +
+ +
+ +
+

API Gateway

+

Handles authentication and request routing

+
+ +
+ +
+ +
+
+

Workflow Orchestrator

+

Manages service interactions

+
+
+

Task Queue

+

Processes async operations

+
+
+ +
+ +
+ +
+
+

LLM Service

+

Natural language processing

+
+
+

Knowledge Retrieval

+

Data querying & retrieval

+
+
+

Code Understanding

+

Code analysis & processing

+
+
+ +
+ +
+ +
+

Data Storage (Supabase)

+

Vector DB and Relational DB

+
+
+
diff --git a/landing/src/index.css b/landing/src/index.css index f62be29..08fdf88 100644 --- a/landing/src/index.css +++ b/landing/src/index.css @@ -29,7 +29,6 @@ body { @apply py-16 md:py-24; } -/* Acenity-inspired effects */ .hover-lift { @apply transition-transform duration-300; } From 47ea9e0d32137826485cea39e2d93c1e01dc2186 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 16:47:04 +0530 Subject: [PATCH 03/19] fix flowchart Signed-off-by: Ayush --- .../src/components/sections/HowItWorks.tsx | 118 ++++++++++++------ 1 file changed, 77 insertions(+), 41 deletions(-) diff --git a/landing/src/components/sections/HowItWorks.tsx b/landing/src/components/sections/HowItWorks.tsx index 77e3e93..b3f08fd 100644 --- a/landing/src/components/sections/HowItWorks.tsx +++ b/landing/src/components/sections/HowItWorks.tsx @@ -1,6 +1,21 @@ import React from 'react'; import { motion } from 'framer-motion'; -import { BrainCircuit, Workflow, Database, GitMerge, ArrowRight, Github, Slack, MessageSquare, Users, Shield } from 'lucide-react'; +import { + BrainCircuit, + Workflow, + Database, + GitMerge, + ArrowRight, + Github, + Slack, + MessageSquare, + Users, + Shield, + Layers, + Server, + Code, + FileCode +} from 'lucide-react'; const HowItWorks: React.FC = () => { const steps = [ @@ -110,77 +125,98 @@ const HowItWorks: React.FC = () => { whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.8, delay: 0.5 }} - className="mt-16 max-w-3xl mx-auto" + className="mt-16 max-w-4xl mx-auto" >

System Architecture

-
-
-
-
- - GitHub +
+
+
+
+ + GitHub
-
- - Discord +
+ + Discord
-
- - Slack +
+ + Slack
- +
-
-

API Gateway

-

Handles authentication and request routing

+
+
+ +
+

API Gateway

+

Handles authentication and request routing

- +
-
-
-

Workflow Orchestrator

-

Manages service interactions

+
+
+
+ +
+

Workflow Orchestrator

+

Manages service interactions

-
-

Task Queue

-

Processes async operations

+
+
+ +
+

Task Queue

+

Processes async operations

- +
-
-
-

LLM Service

-

Natural language processing

+
+
+
+ +
+

LLM Service

+

Natural language processing

-
-

Knowledge Retrieval

-

Data querying & retrieval

+
+
+ +
+

Knowledge Retrieval

+

Data querying & retrieval

-
-

Code Understanding

-

Code analysis & processing

+
+
+ +
+

Code Understanding

+

Code analysis & processing

- +
-
-

Data Storage (Supabase)

-

Vector DB and Relational DB

+
+
+ +
+

Data Storage (Supabase)

+

Vector DB and Relational DB

From ffc211b857bce3f7be938ba319246744578e0587 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:04:24 +0530 Subject: [PATCH 04/19] add netlify form support Signed-off-by: Ayush --- .gitignore | 3 + landing/netlify.toml | 8 + landing/public/form-fallback.html | 21 ++ landing/src/components/sections/Waitlist.tsx | 194 ++++++++++++------- 4 files changed, 161 insertions(+), 65 deletions(-) create mode 100644 landing/netlify.toml create mode 100644 landing/public/form-fallback.html diff --git a/.gitignore b/.gitignore index 15201ac..91ab45a 100644 --- a/.gitignore +++ b/.gitignore @@ -169,3 +169,6 @@ cython_debug/ # PyPI configuration file .pypirc + +# Local Netlify folder +.netlify diff --git a/landing/netlify.toml b/landing/netlify.toml new file mode 100644 index 0000000..ae5f459 --- /dev/null +++ b/landing/netlify.toml @@ -0,0 +1,8 @@ +[build] +command = "npm run build" +publish = "dist" + +[[redirects]] +from = "/*" +to = "/index.html" +status = 200 diff --git a/landing/public/form-fallback.html b/landing/public/form-fallback.html new file mode 100644 index 0000000..b537819 --- /dev/null +++ b/landing/public/form-fallback.html @@ -0,0 +1,21 @@ + + + + + + Waitlist Form + + + + + + + + \ No newline at end of file diff --git a/landing/src/components/sections/Waitlist.tsx b/landing/src/components/sections/Waitlist.tsx index 79ea4df..0e48b57 100644 --- a/landing/src/components/sections/Waitlist.tsx +++ b/landing/src/components/sections/Waitlist.tsx @@ -1,24 +1,53 @@ import React, { useState } from 'react'; import { motion } from 'framer-motion'; import { toast } from 'react-hot-toast'; -import { Send } from 'lucide-react'; +import { Send, AlertCircle } from 'lucide-react'; const Waitlist: React.FC = () => { const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + const [submitted, setSubmitted] = useState(false); - const handleSubmit = (e: React.FormEvent) => { + const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setSubmitting(true); + setError(null); - // Simulate API call - setTimeout(() => { + try { + if (!name.trim() || !email.trim()) { + throw new Error('Name and email are required'); + } + + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + if (!emailRegex.test(email)) { + throw new Error('Please enter a valid email address'); + } + + const formData = new FormData(); + formData.append("form-name", "waitlist"); + formData.append("name", name); + formData.append("email", email); + + await fetch("/", { + method: "POST", + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + body: new URLSearchParams(formData as any).toString(), + }); + + setSubmitted(true); toast.success('You have been added to the waitlist!'); + setEmail(''); setName(''); + } catch (err) { + const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred'; + setError(errorMessage); + toast.error(errorMessage); + } finally { setSubmitting(false); - }, 1500); + } }; return ( @@ -39,69 +68,104 @@ const Waitlist: React.FC = () => {

- -
-
- - setName(e.target.value)} - required - placeholder="Your name" - className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" - /> -
-
-
-
+

+ + {error && ( +
+ +

{error}

+
+ )} -
- -

- We'll notify you when early access becomes available. -

-
-
+
+
+ + setEmail(e.target.value)} + required + placeholder="your@email.com" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+
+ +
+ +

+ We'll notify you when early access becomes available. +

+
+ + )}
From 28d7037271bcb7b80787c6cf317e80a7ea5f9795 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:07:33 +0530 Subject: [PATCH 05/19] fix netlify.toml path Signed-off-by: Ayush --- netlify.toml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 netlify.toml diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..b670e03 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,21 @@ +# example netlify.toml +[build] +command = "npm run build" +functions = "netlify/functions" +publish = "landing/dist" + +## Uncomment to use this redirect for Single Page Applications like create-react-app. +## Not needed for static site generators. +#[[redirects]] +# from = "/*" +# to = "/index.html" +# status = 200 + +## (optional) Settings for Netlify Dev +## https://github.com/netlify/cli/blob/main/docs/netlify-dev.md#project-detection +#[dev] +# command = "yarn start" # Command to start your dev server +# port = 3000 # Port that the dev server will be listening on +# publish = "dist" # Folder with the static content for _redirect file + +## more info on configuring this file: https://ntl.fyi/file-based-build-config From 7e5f02ac16fa388862159c22c8997ae0c7e2fb25 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:11:51 +0530 Subject: [PATCH 06/19] updated netlify config --- landing/netlify.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/landing/netlify.toml b/landing/netlify.toml index ae5f459..86558ab 100644 --- a/landing/netlify.toml +++ b/landing/netlify.toml @@ -6,3 +6,11 @@ publish = "dist" from = "/*" to = "/index.html" status = 200 + +[[plugins]] +package = "@netlify/plugin-functions" + +[dev] +command = "npm run dev" +port = 3001 +publish = "dist" From 4be61d46d6fae6ed617f6cf36709bb029d82a245 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:19:23 +0530 Subject: [PATCH 07/19] ignore submodules when deploying to netlify Signed-off-by: Ayush --- landing/netlify.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/landing/netlify.toml b/landing/netlify.toml index 86558ab..cf3088c 100644 --- a/landing/netlify.toml +++ b/landing/netlify.toml @@ -2,6 +2,9 @@ command = "npm run build" publish = "dist" +[git] +submodules = false + [[redirects]] from = "/*" to = "/index.html" From c4919620fe20c02943218d5fbe8cd1e02d3d112c Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:22:33 +0530 Subject: [PATCH 08/19] delete submodule --- backend/temp/Perspective | 1 - 1 file changed, 1 deletion(-) delete mode 160000 backend/temp/Perspective diff --git a/backend/temp/Perspective b/backend/temp/Perspective deleted file mode 160000 index cd9f19d..0000000 --- a/backend/temp/Perspective +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cd9f19d40e9bdd25172c09d6093386778959690c From 642db991664b6506d0009a6ac5fa3d22b0d8a311 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 17:29:03 +0530 Subject: [PATCH 09/19] update netlify form config Signed-off-by: Ayush --- landing/index.html | 6 ++++++ landing/netlify.toml | 3 --- landing/src/components/sections/Waitlist.tsx | 1 - 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/landing/index.html b/landing/index.html index 9f40c04..9d167e0 100644 --- a/landing/index.html +++ b/landing/index.html @@ -13,6 +13,12 @@ + +
diff --git a/landing/netlify.toml b/landing/netlify.toml index cf3088c..9192b09 100644 --- a/landing/netlify.toml +++ b/landing/netlify.toml @@ -10,9 +10,6 @@ from = "/*" to = "/index.html" status = 200 -[[plugins]] -package = "@netlify/plugin-functions" - [dev] command = "npm run dev" port = 3001 diff --git a/landing/src/components/sections/Waitlist.tsx b/landing/src/components/sections/Waitlist.tsx index 0e48b57..270050c 100644 --- a/landing/src/components/sections/Waitlist.tsx +++ b/landing/src/components/sections/Waitlist.tsx @@ -93,7 +93,6 @@ const Waitlist: React.FC = () => { data-netlify="true" netlify-honeypot="bot-field" > - {/* Netlify Forms hidden fields */}

{link.name} ))} + + + GitHub + + + Join Waitlist + - {/* Mobile Nav Toggle */}

- {/* Mobile Nav */} { {link.name} ))} + setIsOpen(false)} + className="flex items-center gap-2 py-3 text-gray-300 hover:text-white" + > + + GitHub + + setIsOpen(false)} + className="block py-3 text-primary hover:text-primary-hover font-medium" + > + Join Waitlist +
From b69e9c9cbe5dd3b42fb0a9978e80c5d4d9bb38b5 Mon Sep 17 00:00:00 2001 From: Ayush Date: Sun, 13 Apr 2025 21:02:00 +0530 Subject: [PATCH 11/19] improve hero section's styling Signed-off-by: Ayush --- landing/src/components/sections/Hero.tsx | 195 ++++------------------- 1 file changed, 27 insertions(+), 168 deletions(-) diff --git a/landing/src/components/sections/Hero.tsx b/landing/src/components/sections/Hero.tsx index 2ec39e3..5995ef2 100644 --- a/landing/src/components/sections/Hero.tsx +++ b/landing/src/components/sections/Hero.tsx @@ -1,17 +1,6 @@ import React from 'react'; import { motion } from 'framer-motion'; -import { - Bot, - Github, - MessageSquare, - Users, - GitBranch, - GitMerge, - GitPullRequest, - Slack, - Code, - MessagesSquare -} from 'lucide-react'; +import { Users } from 'lucide-react'; const Hero: React.FC = () => { const container = { @@ -30,187 +19,54 @@ const Hero: React.FC = () => { }; return ( -
-
-
-
-
-
+
+
+
+
+
+
- - - - - - +
- - - - - - - - - - - - +
- - - - - - - - - - - - +
+
+
- + Developer Experience Reimagined AI-Powered Developer Relations Assistant - + Coming Soon — Join the Waitlist for Early Access Devr.AI revolutionizes open-source community management by automating engagement, streamlining onboarding, and delivering real-time project updates across Discord, @@ -218,19 +74,22 @@ const Hero: React.FC = () => { - - + + Join the Waitlist - + Explore Features - -
+ +
Date: Sun, 13 Apr 2025 21:53:46 +0530 Subject: [PATCH 12/19] fix integration points alignment Signed-off-by: Ayush --- .../src/components/sections/Integrations.tsx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/landing/src/components/sections/Integrations.tsx b/landing/src/components/sections/Integrations.tsx index 9ab2820..b0f640f 100644 --- a/landing/src/components/sections/Integrations.tsx +++ b/landing/src/components/sections/Integrations.tsx @@ -9,10 +9,10 @@ const Integrations: React.FC = () => { name: 'GitHub', description: 'Automate issue triage, PR reviews, and contributor onboarding directly on GitHub.', features: [ - 'Automated issue labeling', - 'PR review assistance', - 'Release notes generation', - 'Welcome messages for first-time contributors' + 'Integration via GitHub Apps and Webhooks', + 'Automated issue labeling and PR review', + 'Contributor onboarding automation', + 'Repository insights and analytics' ] }, { @@ -20,10 +20,10 @@ const Integrations: React.FC = () => { name: 'Slack', description: 'Streamline team communication and project updates within your Slack workspace.', features: [ - 'Real-time notifications', - 'Command center for quick actions', - 'Channel monitoring and insights', - 'Integration with CI/CD pipeline' + 'Integration via Slack Events API and Bot Users', + 'Real-time notifications and command center', + 'Interactive project management tools', + 'Automated knowledge sharing' ] }, { @@ -31,10 +31,10 @@ const Integrations: React.FC = () => { name: 'Discord', description: 'Build an engaging community space for developers with automated assistance.', features: [ - 'Support channel automation', - 'Role-based access management', - 'Event notifications', - 'Documentation search' + 'Integration via Discord Bot API and Webhooks', + 'Community support and moderation', + 'Developer onboarding and guidance', + 'Knowledge base access and retrieval' ] }, { @@ -42,10 +42,10 @@ const Integrations: React.FC = () => { name: 'Discourse', description: 'Enhance your community forum experience with AI-powered assistance.', features: [ - 'Topic categorization', - 'Automated responses', - 'Content moderation', - 'Knowledge base management' + 'Integration via Discourse API and Webhooks', + 'Automated topic categorization', + 'Knowledge management and FAQs', + 'Community engagement tools' ] } ]; @@ -106,9 +106,9 @@ const Integrations: React.FC = () => {

{integration.description}

    {integration.features.map((feature, featIndex) => ( -
  • - - {feature} +
  • + + {feature}
  • ))}
From 47511770e7b1c08f39cab413e8cbd05867d2ae44 Mon Sep 17 00:00:00 2001 From: kartikbhtt7 Date: Mon, 14 Apr 2025 15:24:52 +0530 Subject: [PATCH 13/19] migrate to google forms --- landing/src/components/sections/Waitlist.tsx | 403 +++++++++++-------- 1 file changed, 239 insertions(+), 164 deletions(-) diff --git a/landing/src/components/sections/Waitlist.tsx b/landing/src/components/sections/Waitlist.tsx index 270050c..0b54751 100644 --- a/landing/src/components/sections/Waitlist.tsx +++ b/landing/src/components/sections/Waitlist.tsx @@ -4,171 +4,246 @@ import { toast } from 'react-hot-toast'; import { Send, AlertCircle } from 'lucide-react'; const Waitlist: React.FC = () => { - const [email, setEmail] = useState(''); - const [name, setName] = useState(''); - const [submitting, setSubmitting] = useState(false); - const [error, setError] = useState(null); - const [submitted, setSubmitted] = useState(false); - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - setSubmitting(true); - setError(null); - - try { - if (!name.trim() || !email.trim()) { - throw new Error('Name and email are required'); - } - - const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; - if (!emailRegex.test(email)) { - throw new Error('Please enter a valid email address'); - } - - const formData = new FormData(); - formData.append("form-name", "waitlist"); - formData.append("name", name); - formData.append("email", email); - - await fetch("/", { - method: "POST", - headers: { "Content-Type": "application/x-www-form-urlencoded" }, - body: new URLSearchParams(formData as any).toString(), - }); - - setSubmitted(true); - toast.success('You have been added to the waitlist!'); - - setEmail(''); - setName(''); - } catch (err) { - const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred'; - setError(errorMessage); - toast.error(errorMessage); - } finally { - setSubmitting(false); - } - }; - - return ( -
-
-
- -

- Join the Waitlist -

-

- Be among the first to experience Devr.AI and revolutionize your open-source community management. -

-
- - {submitted ? ( - -

Thanks for joining our waitlist!

-

- We'll notify you when early access becomes available. - We're excited to have you on board! -

-
- ) : ( - - -

- -

- - {error && ( -
- -

{error}

-
- )} - -
-
- - setName(e.target.value)} - required - placeholder="Your name" - className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" - /> -
-
- - setEmail(e.target.value)} - required - placeholder="your@email.com" - className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" - /> -
-
- -
- -

- We'll notify you when early access becomes available. -

-
-
- )} + const [email, setEmail] = useState(''); + const [name, setName] = useState(''); + const [organization, setOrganization] = useState(''); + const [role, setRole] = useState(''); + const [suggestions, setSuggestions] = useState(''); + const [submitting, setSubmitting] = useState(false); + const [error, setError] = useState(null); + const [submitted, setSubmitted] = useState(false); + + const roleOptions = [ + "Student (Currently in school, university, or bootcamp)", + "Working Professional (Employed in tech or a related field)", + "Business Professional (Entrepreneur, startup founder, or executive)", + "Open Source & Community Member (Contributor, maintainer, or community volunteer)", + "Other:" + ]; + + const FORM_ID = '1FAIpQLSet1YnQTfOmfSzDblYxTXHSEHDhT4l7_LoqtN-5k-WUJAZUBw'; + const FORM_URL = `https://docs.google.com/forms/d/e/${FORM_ID}/formResponse`; + + const FIELD_MAPPINGS = { + name: 'entry.1958162697', + email: 'entry.1305603809', + organization: 'entry.1486768385', + role: 'entry.1449836771', + suggestions: 'entry.1484217632' + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setSubmitting(true); + setError(null); + + try { + if (!name.trim() || !email.trim() || !organization.trim() || !role) { + throw new Error('All fields are required except suggestions'); + } + + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + if (!emailRegex.test(email)) { + throw new Error('Please enter a valid email address'); + } + + const formData = new URLSearchParams(); + formData.append(FIELD_MAPPINGS.name, name); + formData.append(FIELD_MAPPINGS.email, email); + formData.append(FIELD_MAPPINGS.organization, organization); + formData.append(FIELD_MAPPINGS.role, role); + if (suggestions) { + formData.append(FIELD_MAPPINGS.suggestions, suggestions); + } + + await fetch(FORM_URL, { + method: 'POST', + mode: 'no-cors', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, + body: formData.toString() + }); + + setSubmitted(true); + toast.success('You have been added to the waitlist!'); + + setEmail(''); + setName(''); + setOrganization(''); + setRole(''); + setSuggestions(''); + + } catch (err) { + const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred'; + setError(errorMessage); + toast.error(errorMessage); + } finally { + setSubmitting(false); + } + }; + + return ( +
+
+
+ +

+ Join the Waitlist +

+

+ Be among the first to experience Devr.AI and revolutionize your open-source community management. +

+
+ + {submitted ? ( + +

Thanks for joining our waitlist!

+

+ We'll notify you when early access becomes available. + We're excited to have you on board! +

+
+ ) : ( + + {error && ( +
+ +

{error}

-
-
- ); + )} + +
+
+ + setName(e.target.value)} + required + placeholder="Your name" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+ +
+ + setEmail(e.target.value)} + required + placeholder="your@email.com" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+ +
+ + setOrganization(e.target.value)} + required + placeholder="Your organization" + className="w-full px-4 py-3 bg-dark-card border border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary text-white placeholder-gray-500" + /> +
+ +
+ + +
+ +
+ +