From 3fd5c3924fe92e581e3ea0cbeed29433b817a1fc Mon Sep 17 00:00:00 2001 From: dsdred Date: Sun, 3 Sep 2023 01:01:15 +0500 Subject: [PATCH 1/8] init: start shipment-form --- shipment-form/.eslintrc.cjs | 30 + shipment-form/.gitignore | 24 + shipment-form/README.md | 8 + shipment-form/index.html | 13 + shipment-form/package-lock.json | 3771 ++++++++++++++++++++++++++++ shipment-form/package.json | 33 + shipment-form/public/vite.svg | 1 + shipment-form/src/App.css | 42 + shipment-form/src/App.jsx | 9 + shipment-form/src/SignupForm.css | 0 shipment-form/src/SignupForm.jsx | 33 + shipment-form/src/assets/react.svg | 1 + shipment-form/src/index.css | 69 + shipment-form/src/main.jsx | 10 + shipment-form/vite.config.js | 7 + 15 files changed, 4051 insertions(+) create mode 100644 shipment-form/.eslintrc.cjs create mode 100644 shipment-form/.gitignore create mode 100644 shipment-form/README.md create mode 100644 shipment-form/index.html create mode 100644 shipment-form/package-lock.json create mode 100644 shipment-form/package.json create mode 100644 shipment-form/public/vite.svg create mode 100644 shipment-form/src/App.css create mode 100644 shipment-form/src/App.jsx create mode 100644 shipment-form/src/SignupForm.css create mode 100644 shipment-form/src/SignupForm.jsx create mode 100644 shipment-form/src/assets/react.svg create mode 100644 shipment-form/src/index.css create mode 100644 shipment-form/src/main.jsx create mode 100644 shipment-form/vite.config.js diff --git a/shipment-form/.eslintrc.cjs b/shipment-form/.eslintrc.cjs new file mode 100644 index 0000000..e9784fa --- /dev/null +++ b/shipment-form/.eslintrc.cjs @@ -0,0 +1,30 @@ +module.exports = { + env: { + browser: true, + es2021: true, + }, + extends: ["airbnb", "prettier"], + overrides: [ + { + env: { + node: true, + }, + files: [".eslintrc.{js,cjs}"], + parserOptions: { + sourceType: "script", + }, + }, + ], + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + }, + rules: { + "import/no-extraneous-dependencies": [ + "error", + { + devDependencies: true, + }, + ], + }, +}; diff --git a/shipment-form/.gitignore b/shipment-form/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/shipment-form/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/shipment-form/README.md b/shipment-form/README.md new file mode 100644 index 0000000..f768e33 --- /dev/null +++ b/shipment-form/README.md @@ -0,0 +1,8 @@ +# React + 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 diff --git a/shipment-form/index.html b/shipment-form/index.html new file mode 100644 index 0000000..0c589ec --- /dev/null +++ b/shipment-form/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/shipment-form/package-lock.json b/shipment-form/package-lock.json new file mode 100644 index 0000000..e868269 --- /dev/null +++ b/shipment-form/package-lock.json @@ -0,0 +1,3771 @@ +{ + "name": "shipment-form", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "shipment-form", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react-swc": "^3.3.2", + "eslint": "^8.48.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "formik": "^2.4.3", + "prettier": "^3.0.3", + "vite": "^4.4.5", + "yup": "^1.2.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "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, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", + "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "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.48.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", + "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.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, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "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, + "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, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@swc/core": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.82.tgz", + "integrity": "sha512-jpC1a18HMH67018Ij2jh+hT7JBFu7ZKcQVfrZ8K6JuEY+kjXmbea07P9MbQUZbAe0FB+xi3CqEVCP73MebodJQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/types": "^0.1.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.82", + "@swc/core-darwin-x64": "1.3.82", + "@swc/core-linux-arm-gnueabihf": "1.3.82", + "@swc/core-linux-arm64-gnu": "1.3.82", + "@swc/core-linux-arm64-musl": "1.3.82", + "@swc/core-linux-x64-gnu": "1.3.82", + "@swc/core-linux-x64-musl": "1.3.82", + "@swc/core-win32-arm64-msvc": "1.3.82", + "@swc/core-win32-ia32-msvc": "1.3.82", + "@swc/core-win32-x64-msvc": "1.3.82" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.82.tgz", + "integrity": "sha512-JfsyDW34gVKD3uE0OUpUqYvAD3yseEaicnFP6pB292THtLJb0IKBBnK50vV/RzEJtc1bR3g1kNfxo2PeurZTrA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.82.tgz", + "integrity": "sha512-ogQWgNMq7qTpITjcP3dnzkFNj7bh6SwMr859GvtOTrE75H7L7jDWxESfH4f8foB/LGxBKiDNmxKhitCuAsZK4A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.82.tgz", + "integrity": "sha512-7TMXG1lXlNhD0kUiEqs+YlGV4irAdBa2quuy+XI3oJf2fBK6dQfEq4xBy65B3khrorzQS3O0oDGQ+cmdpHExHA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.82.tgz", + "integrity": "sha512-26JkOujbzcItPAmIbD5vHJxQVy5ihcSu3YHTKwope1h28sApZdtE7S3e2G3gsZRTIdsCQkXUtAQeqHxGWWR3pw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.82.tgz", + "integrity": "sha512-8Izj9tuuMpoc3cqiPBRtwqpO1BZ/+sfZVsEhLxrbOFlcSb8LnKyMle1g3JMMUwI4EU75RGVIzZMn8A6GOKdJbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.82.tgz", + "integrity": "sha512-0GSrIBScQwTaPv46T2qB7XnDYxndRCpwH4HMjh6FN+I+lfPUhTSJKW8AonqrqT1TbpFIgvzQs7EnTsD7AnSCow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.82.tgz", + "integrity": "sha512-KJUnaaepDKNzrEbwz4jv0iC3/t9x0NSoe06fnkAlhh2+NFKWKKJhVCOBTrpds8n7eylBDIXUlK34XQafjVMUdg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.82.tgz", + "integrity": "sha512-TR3MHKhDYIyGyFcyl2d/p1ftceXcubAhX5wRSOdtOyr5+K/v3jbyCCqN7bbqO5o43wQVCwwR/drHleYyDZvg8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.82.tgz", + "integrity": "sha512-ZX4HzVVt6hs84YUg70UvyBJnBOIspmQQM0iXSzBvOikk3zRoN7BnDwQH4GScvevCEBuou60+i4I6d5kHLOfh8Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.82.tgz", + "integrity": "sha512-4mJMnex21kbQoaHeAmHnVwQN9/XAfPszJ6n9HI7SVH+aAHnbBIR0M59/b50/CJMjTj5niUGk7EwQ3nhVNOG32g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/types": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.4.tgz", + "integrity": "sha512-z/G02d+59gyyUb7KYhKi9jOhicek6QD2oMaotUyG+lUkybpXoV49dY9bj7Ah5Q+y7knK2jU67UTX9FyfGzaxQg==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.2.tgz", + "integrity": "sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==", + "dev": true, + "dependencies": { + "@swc/core": "^1.3.61" + }, + "peerDependencies": { + "vite": "^4" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "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, + "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, + "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, + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "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 + }, + "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, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "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, + "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/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, + "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 + }, + "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 + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "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 + }, + "node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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 + }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.14.tgz", + "integrity": "sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.0", + "safe-array-concat": "^1.0.0" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "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/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", + "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.48.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "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-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "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.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz", + "integrity": "sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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-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, + "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, + "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/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "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, + "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, + "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, + "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 + }, + "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 + }, + "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 + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "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, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "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.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/formik": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.3.tgz", + "integrity": "sha512-2Dy79Szw3zlXmZiokUdKsn+n1ow4G8hRrC/n92cOWHNTWXCRpQXlyvz6HcjW7aSQZrldytvDOavYjhfmDnUq8Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], + "dependencies": { + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "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 + }, + "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, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dev": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "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, + "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==", + "dev": true, + "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 + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.1.tgz", + "integrity": "sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.3" + } + }, + "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==" + }, + "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, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "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 + }, + "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 + }, + "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 + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "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 + }, + "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==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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 + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "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, + "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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "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, + "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, + "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, + "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 + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", + "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "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" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==", + "dev": true + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", + "dev": true, + "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" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "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, + "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, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.9.tgz", + "integrity": "sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "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, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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 + }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==", + "dev": true + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "dev": true + }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "dev": true, + "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, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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 + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yup": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.2.0.tgz", + "integrity": "sha512-PPqYKSAXjpRCgLgLKVGPA33v5c/WgEx3wi6NFjIiegz90zSwyMpvTFp/uGcVnnbx6to28pgnzp/q8ih3QRjLMQ==", + "dev": true, + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/shipment-form/package.json b/shipment-form/package.json new file mode 100644 index 0000000..21fdbee --- /dev/null +++ b/shipment-form/package.json @@ -0,0 +1,33 @@ +{ + "name": "shipment-form", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react-swc": "^3.3.2", + "eslint": "^8.48.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "formik": "^2.4.3", + "prettier": "^3.0.3", + "vite": "^4.4.5", + "yup": "^1.2.0" + } +} diff --git a/shipment-form/public/vite.svg b/shipment-form/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/shipment-form/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/shipment-form/src/App.css b/shipment-form/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/shipment-form/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/shipment-form/src/App.jsx b/shipment-form/src/App.jsx new file mode 100644 index 0000000..2dbd1ee --- /dev/null +++ b/shipment-form/src/App.jsx @@ -0,0 +1,9 @@ +import React from "react"; +import "./App.css"; +import SignupForm from "./SignupForm"; + +function App() { + return ; +} + +export default App; diff --git a/shipment-form/src/SignupForm.css b/shipment-form/src/SignupForm.css new file mode 100644 index 0000000..e69de29 diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx new file mode 100644 index 0000000..3fd4440 --- /dev/null +++ b/shipment-form/src/SignupForm.jsx @@ -0,0 +1,33 @@ +import React from "react"; +import { useFormik } from "formik"; +import "./SignupForm.css"; + +function SignupForm() { + const formik = useFormik({ + initialValues: { + firstName: "", + }, + onSubmit: (values) => { + console.log("omSunmit=", values); + }, + }); + + return ( +
+
+ +
+ +
+ ); +} + +export default SignupForm; diff --git a/shipment-form/src/assets/react.svg b/shipment-form/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/shipment-form/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/shipment-form/src/index.css b/shipment-form/src/index.css new file mode 100644 index 0000000..2c3fac6 --- /dev/null +++ b/shipment-form/src/index.css @@ -0,0 +1,69 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/shipment-form/src/main.jsx b/shipment-form/src/main.jsx new file mode 100644 index 0000000..54b39dd --- /dev/null +++ b/shipment-form/src/main.jsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + , +) diff --git a/shipment-form/vite.config.js b/shipment-form/vite.config.js new file mode 100644 index 0000000..861b04b --- /dev/null +++ b/shipment-form/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react-swc' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From ba649e69acad84d92c61706e80b6e8007a40d4d3 Mon Sep 17 00:00:00 2001 From: dsdred Date: Sun, 3 Sep 2023 01:16:59 +0500 Subject: [PATCH 2/8] feat: add basic formik --- shipment-form/src/SignupForm.jsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index 3fd4440..f2a2881 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -1,5 +1,6 @@ import React from "react"; import { useFormik } from "formik"; +import * as Yup from "yup"; import "./SignupForm.css"; function SignupForm() { @@ -7,6 +8,15 @@ function SignupForm() { initialValues: { firstName: "", }, + validationSchema: Yup.object({ + firstName: Yup.string() + .max(15, "Не может быть длиннее 15 символов") + .required("Нужно имя"), + // lastName: Yup.string() + // .max(20, 'Не может быть длиннее 20 символов') + // .required('Нужна фамилия'), + // email: Yup.string().email('Невалидный email').required('Нужен email'), + }), onSubmit: (values) => { console.log("omSunmit=", values); }, @@ -24,6 +34,9 @@ function SignupForm() { onChange={formik.handleChange} // onBlur={formik.handleBlur} /> + {formik.errors.firstName && formik.touched.firstName && ( +

{formik.errors.firstName}

+ )} From 07a8c949e67bfc131b44112e26659c1666802f3f Mon Sep 17 00:00:00 2001 From: dsdred Date: Sun, 3 Sep 2023 22:53:05 +0500 Subject: [PATCH 3/8] feat: add sender & recipient & css --- README.md | 5 +- shipment-form/.gitignore | 3 + shipment-form/index.html | 25 +-- shipment-form/public/favicon.ico | Bin 0 -> 15406 bytes shipment-form/public/image.png | Bin 0 -> 44201 bytes shipment-form/src/App.css | 41 +--- shipment-form/src/App.jsx | 8 +- shipment-form/src/SignupForm.css | 59 ++++++ shipment-form/src/SignupForm.jsx | 182 ++++++++++++++++-- .../src/components/Head/MainHeader.css | 20 ++ .../src/components/Head/MainHeader.jsx | 14 ++ shipment-form/src/index.css | 69 ------- 12 files changed, 284 insertions(+), 142 deletions(-) create mode 100644 shipment-form/public/favicon.ico create mode 100644 shipment-form/public/image.png create mode 100644 shipment-form/src/components/Head/MainHeader.css create mode 100644 shipment-form/src/components/Head/MainHeader.jsx diff --git a/README.md b/README.md index c8599cd..3c01dc0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ -# mathshub-react-homeworks +# shipment-form -Здесь будут домашние задания для курса React 2023 :) +Создаnm валидируемую форма которую пользователь должен будет заполнить если захочет отправить посылку. +Цель этого задания - попрактиковаться в создании форм с помощью библиотеки Formik и закрепить полученные знания о Redux diff --git a/shipment-form/.gitignore b/shipment-form/.gitignore index a547bf3..7878053 100644 --- a/shipment-form/.gitignore +++ b/shipment-form/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +# image +image.png~ \ No newline at end of file diff --git a/shipment-form/index.html b/shipment-form/index.html index 0c589ec..ef8d0fd 100644 --- a/shipment-form/index.html +++ b/shipment-form/index.html @@ -1,13 +1,16 @@ - - - - - Vite + React - - -
- - - + + + + + + Посылки — Почта России + + + +
+ + + + \ No newline at end of file diff --git a/shipment-form/public/favicon.ico b/shipment-form/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4f92b5cd9ccd2186be8407c7ed1fecfe7e67dc2d GIT binary patch literal 15406 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 E0ENV*;Q#;t literal 0 HcmV?d00001 diff --git a/shipment-form/src/App.css b/shipment-form/src/App.css index b9d355d..079cef3 100644 --- a/shipment-form/src/App.css +++ b/shipment-form/src/App.css @@ -1,42 +1,7 @@ #root { - max-width: 1280px; + /* max-width: 1280px; */ + width: 99%; 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; + /* background-color: aquamarine; */ } diff --git a/shipment-form/src/App.jsx b/shipment-form/src/App.jsx index 2dbd1ee..6f31db0 100644 --- a/shipment-form/src/App.jsx +++ b/shipment-form/src/App.jsx @@ -1,9 +1,15 @@ import React from "react"; import "./App.css"; +import MainHeader from "./components/Head/MainHeader"; import SignupForm from "./SignupForm"; function App() { - return ; + return ( + <> + + + + ); } export default App; diff --git a/shipment-form/src/SignupForm.css b/shipment-form/src/SignupForm.css index e69de29..23016fc 100644 --- a/shipment-form/src/SignupForm.css +++ b/shipment-form/src/SignupForm.css @@ -0,0 +1,59 @@ +legend { + margin-top: 75px; + /* margin-top: 10px; */ + align-items: center; + color: #354d88; + font-size: 20px; + + border: 2px solid #264288; +} + +.shipmentFormSenderContainer, +.shipmentFormRecipientContainer { + display: grid; + grid-template-columns: 1fr 1fr 2fr; + gap: 30px; +} + +.inputElement > input { + width: 95%; + border-radius: 2px; + height: 30px; + display: block; + + font-size: 18px; +} + +.standartInputStyle { + border: 2px solid #a3bff0; +} + +.errorInputStyle { + border: 2px solid #de4537; +} + +.inputElement > p { + color: #de4537; + font-size: 15px; +} +.standartBtn { + color: #ffffff; + margin-top: 10px; + + background-color: rgb(38, 66, 136); + border-radius: 4px; + border-style: none; + box-sizing: border-box; + + cursor: pointer; + display: inline-block; + + height: 30px; + min-width: 200px; + font-size: 16px; +} + +.standartBtn:hover, +.standartBtn:focus { + opacity: 0.75; +} diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index f2a2881..c82732a 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -7,16 +7,39 @@ function SignupForm() { const formik = useFormik({ initialValues: { firstName: "", + phone: "", + address: "", + firstNameRecipient: "", + phoneRecipient: "", + addressRecipient: "", }, validationSchema: Yup.object({ firstName: Yup.string() - .max(15, "Не может быть длиннее 15 символов") - .required("Нужно имя"), - // lastName: Yup.string() - // .max(20, 'Не может быть длиннее 20 символов') - // .required('Нужна фамилия'), - // email: Yup.string().email('Невалидный email').required('Нужен email'), + .min(10, "ФИО не может быть меньше 10 символов") + .required("ФИО не заполнено"), + phone: Yup.number() + .min(8999999999, "Телефон написан не верно. Верный формат: 9ххххххххх") + .max( + 10000000000, + "Телефон написан не верно. Верный формат: 9ххххххххх" + ), + address: Yup.string() + .min(30, "Адрес не может быть меньше 30 символов") + .required("Адрес не заполнен"), + firstNameRecipient: Yup.string() + .min(10, "ФИО не может быть меньше 10 символов") + .required("ФИО не заполнено"), + phoneRecipient: Yup.number() + .min(8999999999, "Телефон написан не верно. Верный формат: 9ххххххххх") + .max( + 10000000000, + "Телефон написан не верно. Верный формат: 9ххххххххх" + ), + addressRecipient: Yup.string() + .min(30, "Адрес не может быть меньше 30 символов") + .required("Адрес не заполнен"), }), + onSubmit: (values) => { console.log("omSunmit=", values); }, @@ -24,21 +47,138 @@ function SignupForm() { return (

-
- - {formik.errors.firstName && formik.touched.firstName && ( -

{formik.errors.firstName}

- )} -
- + + Отправитель: +
+
+ + {formik.errors.firstName && formik.touched.firstName && ( +

{formik.errors.firstName}

+ )} +
+
+ + {formik.errors.phone && formik.touched.phone && ( +

{formik.errors.phone}

+ )} +
+
+ + {formik.errors.address && formik.touched.address && ( +

{formik.errors.address}

+ )} +
+
+
+ + + Получатель: +
+
+ + {formik.errors.firstNameRecipient && + formik.touched.firstNameRecipient && ( +

{formik.errors.firstNameRecipient}

+ )} +
+
+ + {formik.errors.phoneRecipient && formik.touched.phoneRecipient && ( +

{formik.errors.phoneRecipient}

+ )} +
+
+ + {formik.errors.addressRecipient && + formik.touched.addressRecipient && ( +

{formik.errors.addressRecipient}

+ )} +
+
+
+
); } diff --git a/shipment-form/src/components/Head/MainHeader.css b/shipment-form/src/components/Head/MainHeader.css new file mode 100644 index 0000000..20d2c15 --- /dev/null +++ b/shipment-form/src/components/Head/MainHeader.css @@ -0,0 +1,20 @@ +.hederStyle { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 70px; + + display: flex; + /* justify-content: space-between; */ + + background-color: #ffffff; + border-bottom: 1px solid #264288; + align-items: center; +} + +.headerImg { + /* margin-top: 5px; */ + margin-left: 10px; + height: 60px; +} diff --git a/shipment-form/src/components/Head/MainHeader.jsx b/shipment-form/src/components/Head/MainHeader.jsx new file mode 100644 index 0000000..5a91bd0 --- /dev/null +++ b/shipment-form/src/components/Head/MainHeader.jsx @@ -0,0 +1,14 @@ +import React from "react"; + +import logoImg from "/image.png"; +import "./MainHeader.css"; + +function MainHeader() { + return ( +
+ Почта России +
+ ); +} + +export default MainHeader; diff --git a/shipment-form/src/index.css b/shipment-form/src/index.css index 2c3fac6..e69de29 100644 --- a/shipment-form/src/index.css +++ b/shipment-form/src/index.css @@ -1,69 +0,0 @@ -:root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} From 5a40b1e0c2efbf73b94193a3a3b6dda491212ec7 Mon Sep 17 00:00:00 2001 From: dsdred Date: Mon, 4 Sep 2023 00:53:22 +0500 Subject: [PATCH 4/8] feat: form & css --- shipment-form/src/SignupForm.css | 25 ++++- shipment-form/src/SignupForm.jsx | 159 ++++++++++++++++++++++++++++--- 2 files changed, 168 insertions(+), 16 deletions(-) diff --git a/shipment-form/src/SignupForm.css b/shipment-form/src/SignupForm.css index 23016fc..5f6bec5 100644 --- a/shipment-form/src/SignupForm.css +++ b/shipment-form/src/SignupForm.css @@ -1,18 +1,35 @@ -legend { +form { margin-top: 75px; - /* margin-top: 10px; */ +} +.blockLegend { + margin-top: 5px; align-items: center; color: #354d88; font-size: 20px; - border: 2px solid #264288; + /* border: 1px solid #264288; */ } .shipmentFormSenderContainer, .shipmentFormRecipientContainer { + margin-bottom: 10px; display: grid; grid-template-columns: 1fr 1fr 2fr; - gap: 30px; + gap: 10px; +} + +.shipmentFormOptionsContainer { + margin-bottom: 10px; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 10px; +} + +.shipmentFormDimensionsContainer { + margin-bottom: 10px; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + gap: 10px; } .inputElement > input { diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index c82732a..b2dae53 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -12,6 +12,11 @@ function SignupForm() { firstNameRecipient: "", phoneRecipient: "", addressRecipient: "", + shippingWeight: undefined, + insurance: false, + parcelLength: undefined, + parcelWidth: undefined, + parcelHeight: undefined, }, validationSchema: Yup.object({ firstName: Yup.string() @@ -19,10 +24,8 @@ function SignupForm() { .required("ФИО не заполнено"), phone: Yup.number() .min(8999999999, "Телефон написан не верно. Верный формат: 9ххххххххх") - .max( - 10000000000, - "Телефон написан не верно. Верный формат: 9ххххххххх" - ), + .max(10000000000, "Телефон написан не верно. Верный формат: 9ххххххххх") + .required("Телефон не заполнен"), address: Yup.string() .min(30, "Адрес не может быть меньше 30 символов") .required("Адрес не заполнен"), @@ -31,23 +34,22 @@ function SignupForm() { .required("ФИО не заполнено"), phoneRecipient: Yup.number() .min(8999999999, "Телефон написан не верно. Верный формат: 9ххххххххх") - .max( - 10000000000, - "Телефон написан не верно. Верный формат: 9ххххххххх" - ), + .max(10000000000, "Телефон написан не верно. Верный формат: 9ххххххххх") + .required("Телефон не заполнен"), addressRecipient: Yup.string() .min(30, "Адрес не может быть меньше 30 символов") .required("Адрес не заполнен"), }), - onSubmit: (values) => { - console.log("omSunmit=", values); + console.log("On submit=", values); }, }); + // console.log("значения=", formik.values); + return (
- + Отправитель:
@@ -110,7 +112,7 @@ function SignupForm() {
- + Получатель:
@@ -176,6 +178,139 @@ function SignupForm() {
+ + + Параметры: +
+
+ + + + + + + + +
+ +
+ + +
+ +
+ + {formik.errors.shippingWeight && formik.touched.shippingWeight && ( +

{formik.errors.shippingWeight}

+ )} +
+
+
+ + + Габариты: +
+
+ + {formik.errors.parcelLength && formik.touched.parcelLength && ( +

{formik.errors.parcelLength}

+ )} +
+ +
+ + {formik.errors.parcelWidth && formik.touched.parcelWidth && ( +

{formik.errors.parcelWidth}

+ )} +
+ +
+ + {formik.errors.parcelHeight && formik.touched.parcelHeight && ( +

{formik.errors.parcelHeight}

+ )} +
+
+
+ From d3de1edfd09d80ef8b6694c4cb37ff87bb12ff65 Mon Sep 17 00:00:00 2001 From: dsdred Date: Mon, 4 Sep 2023 01:01:53 +0500 Subject: [PATCH 5/8] feat: Yup Validation --- shipment-form/src/SignupForm.jsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index b2dae53..5ad1a6f 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -39,6 +39,13 @@ function SignupForm() { addressRecipient: Yup.string() .min(30, "Адрес не может быть меньше 30 символов") .required("Адрес не заполнен"), + shippingWeight: Yup.number().min( + 0, + "Вес отправления не может быть отрицательным" + ), + parcelLength: Yup.number().min(0, "Длина не может быть отрицательной"), + parcelWidth: Yup.number().min(0, "Ширина не может быть отрицательной"), + parcelHeight: Yup.number().min(0, "Высота не может быть отрицательной"), }), onSubmit: (values) => { console.log("On submit=", values); From 7b38c91b4898fc4b82abb807bdaf9ee7aecbc56f Mon Sep 17 00:00:00 2001 From: dsdred Date: Wed, 6 Sep 2023 00:27:25 +0500 Subject: [PATCH 6/8] fix: SignupForm --- shipment-form/src/SignupForm.css | 5 +++ shipment-form/src/SignupForm.jsx | 64 +++++++++++++------------------- 2 files changed, 31 insertions(+), 38 deletions(-) diff --git a/shipment-form/src/SignupForm.css b/shipment-form/src/SignupForm.css index 5f6bec5..7556929 100644 --- a/shipment-form/src/SignupForm.css +++ b/shipment-form/src/SignupForm.css @@ -49,6 +49,11 @@ form { border: 2px solid #de4537; } +.standartInputCheckboxStyle { + display: block; + height: 20px; +} + .inputElement > p { color: #de4537; font-size: 15px; diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index 5ad1a6f..a4f284b 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -17,6 +17,8 @@ function SignupForm() { parcelLength: undefined, parcelWidth: undefined, parcelHeight: undefined, + picked: "", + sendType: "Обычное", }, validationSchema: Yup.object({ firstName: Yup.string() @@ -189,46 +191,32 @@ function SignupForm() { Параметры:
-
- - - - - - - - -
+
- - +
From 1700e6014204b3b36dc0abb1936f7408bc1bccf6 Mon Sep 17 00:00:00 2001 From: dsdred Date: Wed, 6 Sep 2023 02:15:36 +0500 Subject: [PATCH 7/8] feat: add localStorage --- shipment-form/src/SignupForm.jsx | 527 ++++++++++++---------- shipment-form/src/components/SendList.jsx | 16 + 2 files changed, 303 insertions(+), 240 deletions(-) create mode 100644 shipment-form/src/components/SendList.jsx diff --git a/shipment-form/src/SignupForm.jsx b/shipment-form/src/SignupForm.jsx index a4f284b..8817294 100644 --- a/shipment-form/src/SignupForm.jsx +++ b/shipment-form/src/SignupForm.jsx @@ -1,9 +1,27 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; import { useFormik } from "formik"; import * as Yup from "yup"; import "./SignupForm.css"; +import SendList from "./components/SendList"; function SignupForm() { + const [sendsList, setSendsList] = useState([]); + + useEffect(() => { + localStorage.setItem("sends", JSON.stringify(sendsList)); + }, [sendsList]); + + useEffect(() => { + let storageSends; + if (localStorage.getItem("sends") !== null) + storageSends = JSON.parse(localStorage.getItem("sends")); + setSendsList((prevSends) => [...storageSends, ...prevSends]); + }, []); + + const addNewSendHandler = (newSend) => { + setSendsList((prevSends) => [...prevSends, newSend]); + }; + const formik = useFormik({ initialValues: { firstName: "", @@ -17,7 +35,6 @@ function SignupForm() { parcelLength: undefined, parcelWidth: undefined, parcelHeight: undefined, - picked: "", sendType: "Обычное", }, validationSchema: Yup.object({ @@ -50,266 +67,296 @@ function SignupForm() { parcelHeight: Yup.number().min(0, "Высота не может быть отрицательной"), }), onSubmit: (values) => { - console.log("On submit=", values); + const newSend = { + id: Date.now(), + firstName: values.firstName, + phone: values.phone, + address: values.address, + firstNameRecipient: values.firstNameRecipient, + phoneRecipient: values.phoneRecipient, + addressRecipient: values.addressRecipient, + shippingWeight: + typeof values.shippingWeight === "undefined" + ? 0 + : values.shippingWeight, + insurance: values.insurance, + parcelLength: + typeof values.parcelLength === "undefined" + ? 0 + : values.shippingWeight, + parcelWidth: + typeof values.parcelWidth === "undefined" ? 0 : values.shippingWeight, + parcelHeight: + typeof values.parcelHeight === "undefined" + ? 0 + : values.shippingWeight, + sendType: values.sendType, + }; + + addNewSendHandler(newSend); }, }); - // console.log("значения=", formik.values); - return ( - - - Отправитель: -
-
- - {formik.errors.firstName && formik.touched.firstName && ( -

{formik.errors.firstName}

- )} -
-
- - {formik.errors.phone && formik.touched.phone && ( -

{formik.errors.phone}

- )} -
-
- - {formik.errors.address && formik.touched.address && ( -

{formik.errors.address}

- )} -
-
-
- - - Получатель: -
-
- - {formik.errors.firstNameRecipient && - formik.touched.firstNameRecipient && ( -

{formik.errors.firstNameRecipient}

+ <> + + + Отправитель: +
+
+ + {formik.errors.firstName && formik.touched.firstName && ( +

{formik.errors.firstName}

)} -
-
- - {formik.errors.phoneRecipient && formik.touched.phoneRecipient && ( -

{formik.errors.phoneRecipient}

- )} -
-
- - {formik.errors.addressRecipient && - formik.touched.addressRecipient && ( -

{formik.errors.addressRecipient}

+
+
+ + {formik.errors.phone && formik.touched.phone && ( +

{formik.errors.phone}

)} +
+
+ + {formik.errors.address && formik.touched.address && ( +

{formik.errors.address}

+ )} +
-
- - - - Параметры: -
- + -
-