From 7f7e825992d2503da15e19ddf0489cae5a8554e6 Mon Sep 17 00:00:00 2001 From: Loi Phan Date: Tue, 3 Oct 2023 20:54:01 +0700 Subject: [PATCH] Init project --- .eslintignore | 3 + .eslintrc.js | 14 + .gitignore | 5 + .prettierignore | 4 + .prettierrc | 8 + README.MD | 1 + globals.d.ts | 1 + package-lock.json | 7308 +++++++++++++++++ package.json | 32 + src/assets/fonts/roboto-bold.ttf | Bin 0 -> 167336 bytes src/assets/fonts/roboto-bold.woff2 | Bin 0 -> 63920 bytes src/assets/fonts/roboto-medium.ttf | Bin 0 -> 168644 bytes src/assets/fonts/roboto-medium.woff2 | Bin 0 -> 64732 bytes src/assets/fonts/roboto-regular.ttf | Bin 0 -> 168260 bytes src/assets/fonts/roboto-regular.woff2 | Bin 0 -> 63748 bytes src/assets/images/dollar-icon.svg | 12 + src/assets/images/favicon.ico | Bin 0 -> 1150 bytes .../images/ic_category_foodndrink.png.png | Bin 0 -> 1771 bytes .../images/ic_category_other_income.png.png | Bin 0 -> 2026 bytes .../images/ic_category_transport.png.png | Bin 0 -> 1653 bytes src/assets/images/icon-search.svg | 3 + src/assets/images/icon.png | Bin 0 -> 1402 bytes src/assets/images/logo.svg | 21 + src/assets/images/question-icon.svg | 9 + src/pages/index.html | 289 + src/pages/login.html | 49 + src/pages/register.html | 62 + src/styles/_main.scss | 21 + src/styles/abstracts/_mixin.scss | 27 + src/styles/abstracts/_variables.scss | 36 + src/styles/bases/_placeholder.scss | 59 + src/styles/bases/_reset.scss | 142 + src/styles/bases/_typography.scss | 33 + src/styles/components/_dialog.scss | 28 + src/styles/components/_icons.scss | 61 + src/styles/components/_loader.scss | 39 + src/styles/components/_toast-form.scss | 32 + src/styles/layouts/_header.scss | 36 + src/styles/pages/_index.scss | 702 ++ src/styles/pages/_login-register.scss | 100 + src/ts/app.ts | 17 + src/ts/constants/config.ts | 66 + src/ts/constants/defaultVariable.ts | 1 + src/ts/constants/messages.ts | 23 + src/ts/controllers/homeController.ts | 65 + src/ts/controllers/index.ts | 25 + src/ts/controllers/loginController.ts | 29 + src/ts/controllers/registerController.ts | 37 + src/ts/global/types.ts | 98 + src/ts/helpers/connect.ts | 33 + src/ts/helpers/data.ts | 125 + src/ts/helpers/evDataTrigger.ts | 46 + src/ts/helpers/url.ts | 16 + src/ts/helpers/validatorForm.ts | 30 + src/ts/index.ts | 8 + src/ts/models/category.ts | 11 + src/ts/models/transaction.ts | 19 + src/ts/models/transactionDetail.ts | 17 + src/ts/models/user.ts | 15 + src/ts/models/wallet.ts | 17 + src/ts/services/categoryService.ts | 32 + src/ts/services/commonService.ts | 131 + src/ts/services/firebaseService.ts | 179 + src/ts/services/index.ts | 21 + src/ts/services/localStorageService.ts | 25 + src/ts/services/transactionService.ts | 34 + src/ts/services/userService.ts | 112 + src/ts/services/walletService.ts | 40 + src/ts/views/authenticationView.ts | 155 + src/ts/views/commonView.ts | 164 + src/ts/views/home/budgetView.ts | 204 + src/ts/views/home/categoryView.ts | 167 + src/ts/views/home/homeView.ts | 439 + src/ts/views/home/summaryTabView.ts | 48 + src/ts/views/home/transactionTabView.ts | 197 + src/ts/views/home/transactionView.ts | 375 + src/ts/views/home/walletView.ts | 198 + src/ts/views/index.ts | 28 + src/ts/views/loginView.ts | 129 + src/ts/views/registerView.ts | 188 + tsconfig.eslint.json | 4 + tsconfig.json | 32 + vercel.json | 3 + 83 files changed, 12740 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 README.MD create mode 100644 globals.d.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/assets/fonts/roboto-bold.ttf create mode 100644 src/assets/fonts/roboto-bold.woff2 create mode 100644 src/assets/fonts/roboto-medium.ttf create mode 100644 src/assets/fonts/roboto-medium.woff2 create mode 100644 src/assets/fonts/roboto-regular.ttf create mode 100644 src/assets/fonts/roboto-regular.woff2 create mode 100644 src/assets/images/dollar-icon.svg create mode 100644 src/assets/images/favicon.ico create mode 100644 src/assets/images/ic_category_foodndrink.png.png create mode 100644 src/assets/images/ic_category_other_income.png.png create mode 100644 src/assets/images/ic_category_transport.png.png create mode 100644 src/assets/images/icon-search.svg create mode 100644 src/assets/images/icon.png create mode 100644 src/assets/images/logo.svg create mode 100644 src/assets/images/question-icon.svg create mode 100644 src/pages/index.html create mode 100644 src/pages/login.html create mode 100644 src/pages/register.html create mode 100644 src/styles/_main.scss create mode 100644 src/styles/abstracts/_mixin.scss create mode 100644 src/styles/abstracts/_variables.scss create mode 100644 src/styles/bases/_placeholder.scss create mode 100644 src/styles/bases/_reset.scss create mode 100644 src/styles/bases/_typography.scss create mode 100644 src/styles/components/_dialog.scss create mode 100644 src/styles/components/_icons.scss create mode 100644 src/styles/components/_loader.scss create mode 100644 src/styles/components/_toast-form.scss create mode 100644 src/styles/layouts/_header.scss create mode 100644 src/styles/pages/_index.scss create mode 100644 src/styles/pages/_login-register.scss create mode 100644 src/ts/app.ts create mode 100644 src/ts/constants/config.ts create mode 100644 src/ts/constants/defaultVariable.ts create mode 100644 src/ts/constants/messages.ts create mode 100644 src/ts/controllers/homeController.ts create mode 100644 src/ts/controllers/index.ts create mode 100644 src/ts/controllers/loginController.ts create mode 100644 src/ts/controllers/registerController.ts create mode 100644 src/ts/global/types.ts create mode 100644 src/ts/helpers/connect.ts create mode 100644 src/ts/helpers/data.ts create mode 100644 src/ts/helpers/evDataTrigger.ts create mode 100644 src/ts/helpers/url.ts create mode 100644 src/ts/helpers/validatorForm.ts create mode 100644 src/ts/index.ts create mode 100644 src/ts/models/category.ts create mode 100644 src/ts/models/transaction.ts create mode 100644 src/ts/models/transactionDetail.ts create mode 100644 src/ts/models/user.ts create mode 100644 src/ts/models/wallet.ts create mode 100644 src/ts/services/categoryService.ts create mode 100644 src/ts/services/commonService.ts create mode 100644 src/ts/services/firebaseService.ts create mode 100644 src/ts/services/index.ts create mode 100644 src/ts/services/localStorageService.ts create mode 100644 src/ts/services/transactionService.ts create mode 100644 src/ts/services/userService.ts create mode 100644 src/ts/services/walletService.ts create mode 100644 src/ts/views/authenticationView.ts create mode 100644 src/ts/views/commonView.ts create mode 100644 src/ts/views/home/budgetView.ts create mode 100644 src/ts/views/home/categoryView.ts create mode 100644 src/ts/views/home/homeView.ts create mode 100644 src/ts/views/home/summaryTabView.ts create mode 100644 src/ts/views/home/transactionTabView.ts create mode 100644 src/ts/views/home/transactionView.ts create mode 100644 src/ts/views/home/walletView.ts create mode 100644 src/ts/views/index.ts create mode 100644 src/ts/views/loginView.ts create mode 100644 src/ts/views/registerView.ts create mode 100644 tsconfig.eslint.json create mode 100644 tsconfig.json create mode 100644 vercel.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..5c51cad --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +!.*.js +**/dist/** +**/coverage/** diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..663727b --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + root: true, + plugins: ['@typescript-eslint', 'import', 'prettier'], + extends: [ + 'airbnb-typescript/base', + 'prettier', + 'plugin:@typescript-eslint/recommended', + 'plugin:import/typescript', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + project: './tsconfig.eslint.json', + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd6ee56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.parcel-cache + +node_modules + +dist \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..1e2b3bf --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +!.*.js +**/dist/** +**/coverage/** +**/package-lock.json diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..22ca4b4 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "bracketSameLine": false, + "bracketSpacing": true, + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "useTabs": false +} diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..12e2d47 --- /dev/null +++ b/README.MD @@ -0,0 +1 @@ +typescript-training diff --git a/globals.d.ts b/globals.d.ts new file mode 100644 index 0000000..bff9471 --- /dev/null +++ b/globals.d.ts @@ -0,0 +1 @@ +declare module '*.svg'; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..eaf61b4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7308 @@ +{ + "name": "typescript-practice", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "typescript-practice", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@types/core-js": "^2.5.6", + "@types/regenerator-runtime": "^0.13.2", + "firebase": "^10.4.0", + "parcel": "^2.9.3" + }, + "devDependencies": { + "@parcel/transformer-sass": "^2.9.3", + "@typescript-eslint/eslint-plugin": "^6.7.3", + "@typescript-eslint/parser": "^6.7.3", + "eslint": "^8.50.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-prettier": "^5.0.0", + "prettier": "^3.0.3", + "process": "^0.11.10", + "typescript": "^5.2.2" + } + }, + "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/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", + "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", + "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.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.0.tgz", + "integrity": "sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.6.tgz", + "integrity": "sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==", + "dependencies": { + "@firebase/analytics": "0.10.0", + "@firebase/analytics-types": "0.8.0", + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.0.tgz", + "integrity": "sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==" + }, + "node_modules/@firebase/app": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.19.tgz", + "integrity": "sha512-t/SHyZ3xWkR77ZU9VMoobDNFLdDKQ5xqoCAn4o16gTsA1C8sJ6ZOMZ02neMOPxNHuQXVE4tA8ukilnDbnK7uJA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "idb": "7.1.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.0.tgz", + "integrity": "sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.7.tgz", + "integrity": "sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==", + "dependencies": { + "@firebase/app-check": "0.8.0", + "@firebase/app-check-types": "0.5.0", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz", + "integrity": "sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.0.tgz", + "integrity": "sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.19.tgz", + "integrity": "sha512-QkJDqYqjhvs4fTMcRVXQkP9hbo5yfoJXDWkhU4VA5Vzs8Qsp76VPzYbqx5SD5OmBy+bz/Ot1UV8qySPGI4aKuw==", + "dependencies": { + "@firebase/app": "0.9.19", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.0.tgz", + "integrity": "sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==" + }, + "node_modules/@firebase/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-vjK4CHbY9aWdiVOrKi6mpa8z6uxeaf7LB/MZTHuZOiGHMcUoTGB6TeMbRShyqk1uaMrxhhZ5Ar/dR0965E1qyA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@react-native-async-storage/async-storage": "^1.18.1" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.4.6.tgz", + "integrity": "sha512-pKp1d4fSf+yoy1EBjTx9ISxlunqhW0vTICk0ByZ3e+Lp6ZIXThfUy4F1hAJlEafD/arM0oepRiAh7LXS1xn/BA==", + "dependencies": { + "@firebase/auth": "1.3.0", + "@firebase/auth-types": "0.12.0", + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz", + "integrity": "sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.0.tgz", + "integrity": "sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/component": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz", + "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==", + "dependencies": { + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.1.tgz", + "integrity": "sha512-VAhF7gYwunW4Lw/+RQZvW8dlsf2r0YYqV9W0Gi2Mz8+0TGg1mBJWoUtsHfOr8kPJXhcLsC4eP/z3x6L/Fvjk/A==", + "dependencies": { + "@firebase/auth-interop-types": "0.2.1", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.1.tgz", + "integrity": "sha512-ky82yLIboLxtAIWyW/52a6HLMVTzD2kpZlEilVDok73pNPLjkJYowj8iaIWK5nTy7+6Gxt7d00zfjL6zckGdXQ==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/database": "1.0.1", + "@firebase/database-types": "1.0.0", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.0.tgz", + "integrity": "sha512-SjnXStoE0Q56HcFgNQ+9SsmJc0c8TqGARdI/T44KXy+Ets3r6x/ivhQozT66bMnCEjJRywYoxNurRTMlZF8VNg==", + "dependencies": { + "@firebase/app-types": "0.9.0", + "@firebase/util": "1.9.3" + } + }, + "node_modules/@firebase/firestore": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.2.0.tgz", + "integrity": "sha512-iKZqIdOBJpJUcwY5airLX0W04TLrQSJuActOP1HG5WoIY5oyGTQE4Ml7hl5GW7mBqFieT4ojtUuDXj6MLrn1lA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "@firebase/webchannel-wrapper": "0.10.3", + "@grpc/grpc-js": "~1.9.0", + "@grpc/proto-loader": "^0.7.8", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10.10.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.18.tgz", + "integrity": "sha512-hkqv4mb1oScKbEtzfcK8Go8c0VpDWmbAvbD6B6XnphLqi27pkXgo9Rp+aSKlD7cBL29VMEekP5bEm9lSVfZpNw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/firestore": "4.2.0", + "@firebase/firestore-types": "3.0.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.0.tgz", + "integrity": "sha512-Meg4cIezHo9zLamw0ymFYBD4SMjLb+ZXIbuN7T7ddXN6MGoICmOTq3/ltdCGoDCS2u+H1XJs2u/cYp75jsX9Qw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/functions": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.10.0.tgz", + "integrity": "sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.0", + "@firebase/auth-interop-types": "0.2.1", + "@firebase/component": "0.6.4", + "@firebase/messaging-interop-types": "0.2.0", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.5.tgz", + "integrity": "sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/functions": "0.10.0", + "@firebase/functions-types": "0.6.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.0.tgz", + "integrity": "sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==" + }, + "node_modules/@firebase/installations": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz", + "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.4.tgz", + "integrity": "sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/installations-types": "0.5.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.0.tgz", + "integrity": "sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/installations/node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/@firebase/logger": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz", + "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/messaging": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz", + "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/messaging-interop-types": "0.2.0", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.4.tgz", + "integrity": "sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/messaging": "0.12.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.0.tgz", + "integrity": "sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==" + }, + "node_modules/@firebase/messaging/node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/@firebase/performance": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz", + "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.4.tgz", + "integrity": "sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/performance": "0.6.4", + "@firebase/performance-types": "0.2.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.0.tgz", + "integrity": "sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.4.tgz", + "integrity": "sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.4.tgz", + "integrity": "sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/remote-config": "0.4.4", + "@firebase/remote-config-types": "0.3.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.0.tgz", + "integrity": "sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==" + }, + "node_modules/@firebase/storage": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz", + "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.2.tgz", + "integrity": "sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==", + "dependencies": { + "@firebase/component": "0.6.4", + "@firebase/storage": "0.11.2", + "@firebase/storage-types": "0.8.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz", + "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/util": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz", + "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.3.tgz", + "integrity": "sha512-+ZplYUN3HOpgCfgInqgdDAbkGGVzES1cs32JJpeqoh87SkRobGXElJx+1GZSaDqzFL+bYiX18qEcBK76mYs8uA==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.4.tgz", + "integrity": "sha512-oEnzYiDuEsBydZBtP84BkpduLsE1nSAO4KrhTLHRzNrIQE647fhchmosTQsJdCo8X9zBBt+l5+fNk+m/yCFJ/Q==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/@lezer/common": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.0.tgz", + "integrity": "sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw==" + }, + "node_modules/@lezer/lr": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.12.tgz", + "integrity": "sha512-5nwY1JzCueUdRtlMBnlf1SUi69iGCq2ABq7WQFQMkn/kxPvoACAEnTp4P17CtXxYr7WCwtYPLL2AEvxKPuF1OQ==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.7.11.tgz", + "integrity": "sha512-r6+vYq2vKzE+vgj/rNVRMwAevq0+ZR9IeMFIqcSga+wMtMdXQ27KqQ7uS99/yXASg29bos7yHP3yk4x6Iio0lw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.7.11.tgz", + "integrity": "sha512-jhj1aB4K8ycRL1HOQT5OtzlqOq70jxUQEWRN9Gqh3TIDN30dxXtiHi6EWF516tzw6v2+3QqhDMJh8O6DtTGG8Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.7.11.tgz", + "integrity": "sha512-dHfLFVSrw/v5X5lkwp0Vl7+NFpEeEYKfMG2DpdFJnnG1RgHQZngZxCaBagFoaJGykRpd2DYF1AeuXBFrAUAXfw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.7.11.tgz", + "integrity": "sha512-7xGEfPPbmVJWcY2Nzqo11B9Nfxs+BAsiiaY/OcT4aaTDdykKeCjvKMQJA3KXCtZ1AtiC9ljyGLi+BfUwdulY5A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.7.11.tgz", + "integrity": "sha512-vUKI3JrREMQsXX8q0Eq5zX2FlYCKWMmLiCyyJNfZK0Uyf14RBg9VtB3ObQ41b4swYh2EWaltasWVe93Y8+KDng==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.7.11.tgz", + "integrity": "sha512-BJwkHlSUgtB+Ei52Ai32M1AOMerSlzyIGA/KC4dAGL+GGwVMdwG8HGCOA2TxP3KjhbgDPMYkv7bt/NmOmRIFng==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", + "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", + "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", + "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", + "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", + "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", + "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "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/@parcel/bundler-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.9.3.tgz", + "integrity": "sha512-JjJK8dq39/UO/MWI/4SCbB1t/qgpQRFnFDetAAAezQ8oN++b24u1fkMDa/xqQGjbuPmGeTds5zxGgYs7id7PYg==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/graph": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.9.3.tgz", + "integrity": "sha512-Bj/H2uAJJSXtysG7E/x4EgTrE2hXmm7td/bc97K8M9N7+vQjxf7xb0ebgqe84ePVMkj4MVQSMEJkEucXVx4b0Q==", + "dependencies": { + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/utils": "2.9.3", + "lmdb": "2.7.11" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.9.3.tgz", + "integrity": "sha512-z7yTyD6h3dvduaFoHpNqur74/2yDWL++33rjQjIjCaXREBN6dKHoMGMizzo/i4vbiI1p9dDox2FIDEHCMQxqdA==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.9.3.tgz", + "integrity": "sha512-jz3t4/ICMsHEqgiTmv5i1DJva2k5QRpZlBELVxfY+QElJTVe8edKJ0TiKcBxh2hx7sm4aUigGmp7JiqqHRRYmA==", + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.9.3.tgz", + "integrity": "sha512-tqN5tF7QnVABDZAu76co5E6N8mA9n8bxiWdK4xYyINYFIEHgX172oRTqXTnhEMjlMrdmASxvnGlbaPBaVnrCTw==", + "dependencies": { + "@parcel/bundler-default": "2.9.3", + "@parcel/compressor-raw": "2.9.3", + "@parcel/namer-default": "2.9.3", + "@parcel/optimizer-css": "2.9.3", + "@parcel/optimizer-htmlnano": "2.9.3", + "@parcel/optimizer-image": "2.9.3", + "@parcel/optimizer-svgo": "2.9.3", + "@parcel/optimizer-swc": "2.9.3", + "@parcel/packager-css": "2.9.3", + "@parcel/packager-html": "2.9.3", + "@parcel/packager-js": "2.9.3", + "@parcel/packager-raw": "2.9.3", + "@parcel/packager-svg": "2.9.3", + "@parcel/reporter-dev-server": "2.9.3", + "@parcel/resolver-default": "2.9.3", + "@parcel/runtime-browser-hmr": "2.9.3", + "@parcel/runtime-js": "2.9.3", + "@parcel/runtime-react-refresh": "2.9.3", + "@parcel/runtime-service-worker": "2.9.3", + "@parcel/transformer-babel": "2.9.3", + "@parcel/transformer-css": "2.9.3", + "@parcel/transformer-html": "2.9.3", + "@parcel/transformer-image": "2.9.3", + "@parcel/transformer-js": "2.9.3", + "@parcel/transformer-json": "2.9.3", + "@parcel/transformer-postcss": "2.9.3", + "@parcel/transformer-posthtml": "2.9.3", + "@parcel/transformer-raw": "2.9.3", + "@parcel/transformer-react-refresh-wrap": "2.9.3", + "@parcel/transformer-svg": "2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/core": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.9.3.tgz", + "integrity": "sha512-4KlM1Zr/jpsqWuMXr2zmGsaOUs1zMMFh9vfCNKRZkptf+uk8I3sugHbNdo+F5B+4e2yMuOEb1zgAmvJLeuH6ww==", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/graph": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/profiler": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.9.3.tgz", + "integrity": "sha512-6jxBdyB3D7gP4iE66ghUGntWt2v64E6EbD4AetZk+hNJpgudOOPsKTovcMi/i7I4V0qD7WXSF4tvkZUoac0jwA==", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.9.3.tgz", + "integrity": "sha512-K0Scx+Bx9f9p1vuShMzNwIgiaZUkxEnexaKYHYemJrM7pMAqxIuIqhnvwurRCsZOVLUJPDDNJ626cWTc5vIq+A==", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.9.3.tgz", + "integrity": "sha512-/PrRKgCRw22G7rNPSpgN3Q+i2nIkZWuvIOAdMG4KWXC4XLp8C9jarNaWd5QEQ75amjhQSl3oUzABzkdCtkKrgg==", + "dependencies": { + "@parcel/fs-search": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/fs-search": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.9.3.tgz", + "integrity": "sha512-nsNz3bsOpwS+jphcd+XjZL3F3PDq9lik0O8HPm5f6LYkqKWT+u/kgQzA8OkAHCR3q96LGiHxUywHPEBc27vI4Q==", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/graph": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.9.3.tgz", + "integrity": "sha512-3LmRJmF8+OprAr6zJT3X2s8WAhLKkrhi6RsFlMWHifGU5ED1PFcJWFbOwJvSjcAhMQJP0fErcFIK1Ludv3Vm3g==", + "dependencies": { + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/hash": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.9.3.tgz", + "integrity": "sha512-qlH5B85XLzVAeijgKPjm1gQu35LoRYX/8igsjnN8vOlbc3O8BYAUIutU58fbHbtE8MJPbxQQUw7tkTjeoujcQQ==", + "dependencies": { + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.9.3.tgz", + "integrity": "sha512-5FNBszcV6ilGFcijEOvoNVG6IUJGsnMiaEnGQs7Fvc1dktTjEddnoQbIYhcSZL63wEmzBZOgkT5yDMajJ/41jw==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.9.3.tgz", + "integrity": "sha512-/Q4X8F2aN8UNjAJrQ5NfK2OmZf6shry9DqetUSEndQ0fHonk78WKt6LT0zSKEBEW/bB/bXk6mNMsCup6L8ibjQ==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.9.3.tgz", + "integrity": "sha512-1ynFEcap48/Ngzwwn318eLYpLUwijuuZoXQPCsEQ21OOIOtfhFQJaPwXTsw6kRitshKq76P2aafE0BioGSqxcA==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.0.3.tgz", + "integrity": "sha512-AjxNcZVHHJoNT/A99PKIdFtwvoze8PAiC3yz8E/dRggrDIOboUEodeQYV5Aq++aK76uz/iOP0tST2T8A5rhb1A==", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.9.3.tgz", + "integrity": "sha512-RK1QwcSdWDNUsFvuLy0hgnYKtPQebzCb0vPPzqs6LhL+vqUu9utOyRycGaQffHCkHVQP6zGlN+KFssd7YtFGhA==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.9.3.tgz", + "integrity": "sha512-9g/KBck3c6DokmJfvJ5zpHFBiCSolaGrcsTGx8C3YPdCTVTI9P1TDCwUxvAr4LjpcIRSa82wlLCI+nF6sSgxKA==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.9.3.tgz", + "integrity": "sha512-530YzthE7kmecnNhPbkAK+26yQNt69pfJrgE0Ev0BZaM1Wu2+33nki7o8qvkTkikhPrurEJLGIXt1qKmbKvCbA==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/optimizer-svgo": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.9.3.tgz", + "integrity": "sha512-ytQS0wY5JJhWU4mL0wfhYDUuHcfuw+Gy2+JcnTm1t1AZXHlOTbU6EzRWNqBShsgXjvdrQQXizAe3B6GFFlFJVQ==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-swc": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.9.3.tgz", + "integrity": "sha512-GQINNeqtdpL1ombq/Cpwi6IBk02wKJ/JJbYbyfHtk8lxlq13soenpwOlzJ5T9D2fdG+FUhai9NxpN5Ss4lNoAg==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "@swc/core": "^1.3.36", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.9.3.tgz", + "integrity": "sha512-NH6omcNTEupDmW4Lm1e4NUYBjdqkURxgZ4CNESESInHJe6tblVhNB8Rpr1ar7zDar7cly9ILr8P6N3Ei7bTEjg==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/node-resolver-core": "3.0.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.9.3.tgz", + "integrity": "sha512-mePiWiYZOULY6e1RdAIJyRoYqXqGci0srOaVZYaP7mnrzvJgA63kaZFFsDiEWghunQpMUuUjM2x/vQVHzxmhKQ==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.9.3.tgz", + "integrity": "sha512-0Ex+O0EaZf9APNERRNGgGto02hFJ6f5RQEvRWBK55WAV1rXeU+kpjC0c0qZvnUaUtXfpWMsEBkevJCwDkUMeMg==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.9.3.tgz", + "integrity": "sha512-V5xwkoE3zQ3R+WqAWhA1KGQ791FvJeW6KonOlMI1q76Djjgox68hhObqcLu66AmYNhR2R/wUpkP18hP2z8dSFw==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.9.3.tgz", + "integrity": "sha512-oPQTNoYanQ2DdJyL61uPYK2py83rKOT8YVh2QWAx0zsSli6Kiy64U3+xOCYWgDVCrHw9+9NpQMuAdSiFg4cq8g==", + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.9.3.tgz", + "integrity": "sha512-p/Ya6UO9DAkaCUFxfFGyeHZDp9YPAlpdnh1OChuwqSFOXFjjeXuoK4KLT+ZRalVBo2Jo8xF70oKMZw4MVvaL7Q==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "posthtml": "^0.16.4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.9.3.tgz", + "integrity": "sha512-qN85Gqr2GMuxX1dT1mnuO9hOcvlEv1lrYrCxn7CJN2nUhbwcfG+LEvcrCzCOJ6XtIHm+ZBV9h9p7FfoPLvpw+g==", + "dependencies": { + "@parcel/types": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/profiler": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.9.3.tgz", + "integrity": "sha512-pyHc9lw8VZDfgZoeZWZU9J0CVEv1Zw9O5+e0DJPDPHuXJYr72ZAOhbljtU3owWKAeW+++Q2AZWkbUGEOjI/e6g==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "chrome-trace-event": "^1.0.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.9.3.tgz", + "integrity": "sha512-pZiEvQpuXFuQBafMHxkDmwH8CnnK9sWHwa3bSbsnt385aUahtE8dpY0LKt+K1zfB6degKoczN6aWVj9WycQuZQ==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.9.3.tgz", + "integrity": "sha512-s6eboxdLEtRSvG52xi9IiNbcPKC0XMVmvTckieue2EqGDbDcaHQoHmmwkk0rNq0/Z/UxelGcQXoIYC/0xq3ykQ==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-tracer": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.9.3.tgz", + "integrity": "sha512-9cXpKWk0m6d6d+4+TlAdOe8XIPaFEIKGWMWG+5SFAQE08u3olet4PSvd49F4+ZZo5ftRE7YI3j6xNbXvJT8KGw==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.9.3.tgz", + "integrity": "sha512-8ESJk1COKvDzkmOnppNXoDamNMlYVIvrKc2RuFPmp8nKVj47R6NwMgvwxEaatyPzvkmyTpq5RvG9I3HFc+r4Cw==", + "dependencies": { + "@parcel/node-resolver-core": "3.0.3", + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.9.3.tgz", + "integrity": "sha512-EgiDIDrVAWpz7bOzWXqVinQkaFjLwT34wsonpXAbuI7f7r00d52vNAQC9AMu+pTijA3gyKoJ+Q4NWPMZf7ACDA==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.9.3.tgz", + "integrity": "sha512-EvIy+qXcKnB5qxHhe96zmJpSAViNVXHfQI5RSdZ2a7CPwORwhTI+zPNT9sb7xb/WwFw/WuTTgzT40b41DceU6Q==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.9.3.tgz", + "integrity": "sha512-XBgryZQIyCmi6JwEfMUCmINB3l1TpTp9a2iFxmYNpzHlqj4Ve0saKaqWOVRLvC945ZovWIBzcSW2IYqWKGtbAA==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.9.3.tgz", + "integrity": "sha512-qLJLqv1mMdWL7gyh8aKBFFAuEiJkhUUgLKpdn6eSfH/R7kTtb76WnOwqUrhvEI9bZFUM/8Pa1bzJnPpqSOM+Sw==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.9.3.tgz", + "integrity": "sha512-pURtEsnsp3h6tOBDuzh9wRvVtw4PgIlqwAArIWdrG7iwqOUYv9D8ME4+ePWEu7MQWAp58hv9pTJtqWv4T+Sq8A==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.9.3.tgz", + "integrity": "sha512-duWMdbEBBPjg3fQdXF16iWIdThetDZvCs2TpUD7xOlXH6kR0V5BJy8ONFT15u1RCqIV9hSNGaS3v3I9YRNY5zQ==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.9.3.tgz", + "integrity": "sha512-0NU4omcHzFXA1seqftAXA2KNZaMByoKaNdXnLgBgtCGDiYvOcL+6xGHgY6pw9LvOh5um10KI5TxSIMILoI7VtA==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.9.3.tgz", + "integrity": "sha512-7CEe35RaPadQzLIuxzTtIxnItvOoy46hcbXtOdDt6lmVa4omuOygZYRIya2lsGIP4JHvAaALMb5nt99a1uTwJg==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.9.3.tgz", + "integrity": "sha512-Z2MVVg5FYcPOfxlUwxqb5l9yjTMEqE3KI3zq2MBRUme6AV07KxLmCDF23b6glzZlHWQUE8MXzYCTAkOPCcPz+Q==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.9.3.tgz", + "integrity": "sha512-yNL27dbOLhkkrjaQjiQ7Im9VOxmkfuuSNSmS0rA3gEjVcm07SLKRzWkAaPnyx44Lb6bzyOTWwVrb9aMmxgADpA==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "json5": "^2.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.9.3.tgz", + "integrity": "sha512-HoDvPqKzhpmvMmHqQhDnt8F1vH61m6plpGiYaYnYv2Om4HHi5ZIq9bO+9QLBnTKfaZ7ndYSefTKOxTYElg7wyw==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.9.3.tgz", + "integrity": "sha512-2fQGgrzRmaqbWf3y2/T6xhqrNjzqMMKksqJzvc8TMfK6f2kg3Ddjv158eaSW2JdkV39aY7tvAOn5f1uzo74BMA==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.9.3.tgz", + "integrity": "sha512-oqdPzMC9QzWRbY9J6TZEqltknjno+dY24QWqf8ondmdF2+W+/2mRDu59hhCzQrqUHgTq4FewowRZmSfpzHxwaQ==", + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.9.3.tgz", + "integrity": "sha512-cb9NyU6oJlDblFIlzqIE8AkvRQVGl2IwJNKwD4PdE7Y6sq2okGEPG4hOw3k/Y9JVjM4/2pUORqvjSRhWwd9oVQ==", + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-sass": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.9.3.tgz", + "integrity": "sha512-i9abj9bKg3xCHghJyTM3rUVxIEn9n1Rl+DFdpyNAD8VZ52COfOshFDQOWNuhU1hEnJOFYCjnfcO0HRTsg3dWmg==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "sass": "^1.38.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.9.3.tgz", + "integrity": "sha512-ypmE+dzB09IMCdEAkOsSxq1dEIm2A3h67nAFz4qbfHbwNgXBUuy/jB3ZMwXN/cO0f7SBh/Ap8Jhq6vmGqB5tWw==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.9.3.tgz", + "integrity": "sha512-NSNY8sYtRhvF1SqhnIGgGvJocyWt1K8Tnw5cVepm0g38ywtX6mwkBvMkmeehXkII4mSUn+frD9wGsydTunezvA==", + "dependencies": { + "@parcel/cache": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.9.3", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.9.3.tgz", + "integrity": "sha512-cesanjtj/oLehW8Waq9JFPmAImhoiHX03ihc3JTWkrvJYSbD7wYKCDgPAM3JiRAqvh1LZ6P699uITrYWNoRLUg==", + "dependencies": { + "@parcel/codeframe": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/markdown-ansi": "2.9.3", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", + "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.3.0", + "@parcel/watcher-darwin-arm64": "2.3.0", + "@parcel/watcher-darwin-x64": "2.3.0", + "@parcel/watcher-freebsd-x64": "2.3.0", + "@parcel/watcher-linux-arm-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-musl": "2.3.0", + "@parcel/watcher-linux-x64-glibc": "2.3.0", + "@parcel/watcher-linux-x64-musl": "2.3.0", + "@parcel/watcher-win32-arm64": "2.3.0", + "@parcel/watcher-win32-ia32": "2.3.0", + "@parcel/watcher-win32-x64": "2.3.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", + "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", + "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", + "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", + "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", + "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", + "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", + "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", + "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", + "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", + "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", + "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", + "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/workers": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.9.3.tgz", + "integrity": "sha512-zRrDuZJzTevrrwElYosFztgldhqW6G9q5zOeQXfVQFkkEJCNfg36ixeiofKRU8uu2x+j+T6216mhMNB6HiuY+w==", + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/profiler": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@swc/core": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.90.tgz", + "integrity": "sha512-wptBxP4PldOnhmyDVj8qUcn++GRqyw1qc9wOTGtPNHz8cpuTfdfIgYGlhI4La0UYqecuaaIfLfokyuNePOMHPg==", + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.1", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.90", + "@swc/core-darwin-x64": "1.3.90", + "@swc/core-linux-arm-gnueabihf": "1.3.90", + "@swc/core-linux-arm64-gnu": "1.3.90", + "@swc/core-linux-arm64-musl": "1.3.90", + "@swc/core-linux-x64-gnu": "1.3.90", + "@swc/core-linux-x64-musl": "1.3.90", + "@swc/core-win32-arm64-msvc": "1.3.90", + "@swc/core-win32-ia32-msvc": "1.3.90", + "@swc/core-win32-x64-msvc": "1.3.90" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.90.tgz", + "integrity": "sha512-he0w74HvcoufE6CZrB/U/VGVbc7021IQvYrn1geMACnq/OqMBqjdczNtdNfJAy87LZ4AOUjHDKEIjsZZu7o8nQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.90.tgz", + "integrity": "sha512-hKNM0Ix0qMlAamPe0HUfaAhQVbZEL5uK6Iw8v9ew0FtVB4v7EifQ9n41wh+yCj0CjcHBPEBbQU0P6mNTxJu/RQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.90.tgz", + "integrity": "sha512-HumvtrqTWE8rlFuKt7If0ZL7145H/jVc4AeziVjcd+/ajpqub7IyfrLCYd5PmKMtfeSVDMsxjG0BJ0HLRxrTJA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.90.tgz", + "integrity": "sha512-tA7DqCS7YCwngwXZQeqQhhMm8BbydpaABw8Z/EDQ7KPK1iZ1rNjZw+aWvSpmNmEGmH1RmQ9QDS9mGRDp0faAeg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.90.tgz", + "integrity": "sha512-p2Vtid5BZA36fJkNUwk5HP+HJlKgTru+Ghna7pRe45ghKkkRIUk3fhkgudEvfKfhT+3AvP+GTVQ+T9k0gc9S8w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.90.tgz", + "integrity": "sha512-J6pDtWaulYGXuANERuvv4CqmUbZOQrRZBCRQGZQJ6a86RWpesZqckBelnYx48wYmkgvMkF95Y3xbI3WTfoSHzw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.90.tgz", + "integrity": "sha512-3Gh6EA3+0K+l3MqnRON7h5bZ32xLmfcVM6QiHHJ9dBttq7YOEeEoMOCdIPMaQxJmK1VfLgZCsPYRd66MhvUSkw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.90.tgz", + "integrity": "sha512-BNaw/iJloDyaNOFV23Sr53ULlnbmzSoerTJ10v0TjSZOEIpsS0Rw6xOK1iI0voDJnRXeZeWRSxEC9DhefNtN/g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.90.tgz", + "integrity": "sha512-SiyTethWAheE/JbxXCukAAciU//PLcmVZ2ME92MRuLMLmOhrwksjbaa7ukj9WEF3LWrherhSqTXnpj3VC1l/qw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.90.tgz", + "integrity": "sha512-OpWAW5ljKcPJ3SQ0pUuKqYfwXv7ssIhVgrH9XP9ONtdgXKWZRL9hqJQkcL55FARw/gDjKanoCM47wsTNQL+ZZA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.1.tgz", + "integrity": "sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/core-js": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@types/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-zLzoC7avO4EYUUYCSzDaahSP1QJEpZQcPxqs91mPeFdh2NS4hQBcnRoEc9RuXfJ8cdN/KXUWukMmZGcKaWeOvw==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "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/node": { + "version": "20.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.1.tgz", + "integrity": "sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==" + }, + "node_modules/@types/regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@types/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-SIYCe4xgq4FSs00vENNHC+L1jxRdN4IKV2abqTu2kb2WkXlPBOml7NK2eCcYdUbQtD8cOWTcBUiYstoiaSNawA==" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.3.tgz", + "integrity": "sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.3", + "@typescript-eslint/type-utils": "6.7.3", + "@typescript-eslint/utils": "6.7.3", + "@typescript-eslint/visitor-keys": "6.7.3", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.3.tgz", + "integrity": "sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.7.3", + "@typescript-eslint/types": "6.7.3", + "@typescript-eslint/typescript-estree": "6.7.3", + "@typescript-eslint/visitor-keys": "6.7.3", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.3.tgz", + "integrity": "sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.3", + "@typescript-eslint/visitor-keys": "6.7.3" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.3.tgz", + "integrity": "sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.7.3", + "@typescript-eslint/utils": "6.7.3", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.3.tgz", + "integrity": "sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.3.tgz", + "integrity": "sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.3", + "@typescript-eslint/visitor-keys": "6.7.3", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.3.tgz", + "integrity": "sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.3", + "@typescript-eslint/types": "6.7.3", + "@typescript-eslint/typescript-estree": "6.7.3", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.3.tgz", + "integrity": "sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.7.3", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==" + }, + "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==", + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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==" + }, + "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.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "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.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "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/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/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/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "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/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.0.tgz", + "integrity": "sha512-v+Jcv64L2LbfTC6OnRcaxtqJNJuQAVhZKSJfR/6hn7lhnChUXl4amwVviqN1k411BB+3rRoKMitELRn1CojeRA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001539", + "electron-to-chromium": "^1.4.530", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001541", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz", + "integrity": "sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "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==", + "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==" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "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/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": 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/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "optional": true, + "peer": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "optional": true, + "peer": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "optional": true, + "peer": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "optional": true, + "peer": 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/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.534", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.534.tgz", + "integrity": "sha512-ikY7wAMtMt3jTnHsHG0YLl4MKJiKz2tgidenGSNgwUX2StBLNZ8VCxflD9tZK/ceTs4j8gDC9+6LQQ6iGkK04g==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "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.6", + "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.12", + "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.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "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.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@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-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-airbnb-base/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/eslint-config-airbnb-typescript": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", + "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.13.0 || ^6.0.0", + "@typescript-eslint/parser": "^5.0.0 || ^6.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" + } + }, + "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-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-import/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/eslint-plugin-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", + "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "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/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "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-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "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/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "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/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/firebase": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.4.0.tgz", + "integrity": "sha512-3Z8WsNwA7kbcKGZ+nrTZ/ES518pk0K440ZJYD8nUNKN5hV6ll+unhUw30t1msedN6yIFjhsC/9OwT4Z0ohwO2w==", + "dependencies": { + "@firebase/analytics": "0.10.0", + "@firebase/analytics-compat": "0.2.6", + "@firebase/app": "0.9.19", + "@firebase/app-check": "0.8.0", + "@firebase/app-check-compat": "0.3.7", + "@firebase/app-compat": "0.2.19", + "@firebase/app-types": "0.9.0", + "@firebase/auth": "1.3.0", + "@firebase/auth-compat": "0.4.6", + "@firebase/database": "1.0.1", + "@firebase/database-compat": "1.0.1", + "@firebase/firestore": "4.2.0", + "@firebase/firestore-compat": "0.3.18", + "@firebase/functions": "0.10.0", + "@firebase/functions-compat": "0.3.5", + "@firebase/installations": "0.6.4", + "@firebase/installations-compat": "0.2.4", + "@firebase/messaging": "0.12.4", + "@firebase/messaging-compat": "0.2.4", + "@firebase/performance": "0.6.4", + "@firebase/performance-compat": "0.2.4", + "@firebase/remote-config": "0.4.4", + "@firebase/remote-config-compat": "0.2.4", + "@firebase/storage": "0.11.2", + "@firebase/storage-compat": "0.3.2", + "@firebase/util": "1.9.3" + } + }, + "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.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "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/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-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "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/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "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==", + "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/htmlnano": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", + "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", + "dependencies": { + "cosmiconfig": "^8.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^6.0.0", + "postcss": "^8.3.11", + "purgecss": "^5.0.0", + "relateurl": "^0.2.7", + "srcset": "4.0.0", + "svgo": "^3.0.2", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "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/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "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==", + "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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==" + }, + "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": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "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-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-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-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-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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==", + "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-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "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": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/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/lightningcss": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.22.0.tgz", + "integrity": "sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.22.0", + "lightningcss-darwin-x64": "1.22.0", + "lightningcss-freebsd-x64": "1.22.0", + "lightningcss-linux-arm-gnueabihf": "1.22.0", + "lightningcss-linux-arm64-gnu": "1.22.0", + "lightningcss-linux-arm64-musl": "1.22.0", + "lightningcss-linux-x64-gnu": "1.22.0", + "lightningcss-linux-x64-musl": "1.22.0", + "lightningcss-win32-x64-msvc": "1.22.0" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.0.tgz", + "integrity": "sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.0.tgz", + "integrity": "sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.0.tgz", + "integrity": "sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.0.tgz", + "integrity": "sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.0.tgz", + "integrity": "sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.0.tgz", + "integrity": "sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.0.tgz", + "integrity": "sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.0.tgz", + "integrity": "sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.0.tgz", + "integrity": "sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lmdb": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.7.11.tgz", + "integrity": "sha512-x9bD4hVp7PFLUoELL8RglbNXhAMt5CYhkmss+CEau9KlNoilsTzNi9QDsPZb3KMpOGZXG6jmXhW3bBxE2XVztw==", + "hasInstallScript": true, + "dependencies": { + "msgpackr": "1.8.5", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.6", + "ordered-binary": "^1.4.0", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.7.11", + "@lmdb/lmdb-darwin-x64": "2.7.11", + "@lmdb/lmdb-linux-arm": "2.7.11", + "@lmdb/lmdb-linux-arm64": "2.7.11", + "@lmdb/lmdb-linux-x64": "2.7.11", + "@lmdb/lmdb-win32-x64": "2.7.11" + } + }, + "node_modules/lmdb/node_modules/msgpackr": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.5.tgz", + "integrity": "sha512-mpPs3qqTug6ahbblkThoUY2DQdNXcm4IapwOS3Vm/87vmpzLVelvp9h3It1y9l1VPpiFLV11vfOXnmeEwiIXwg==", + "optionalDependencies": { + "msgpackr-extract": "^3.0.1" + } + }, + "node_modules/lmdb/node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + }, + "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.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "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/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "optional": true, + "peer": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/msgpackr": { + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.9.tgz", + "integrity": "sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A==", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.0.7" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + } + }, + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "optional": true, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "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/node-addon-api": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", + "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.6.tgz", + "integrity": "sha512-2ZJErHG4du9G3/8IWl/l9Bp5BBFy63rno5GVmjQijvTuUZKsl6g8RB4KH/x3NLcV5ZBb4GsXmAuTYr6dRml3Gw==", + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "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.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/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/ordered-binary": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.1.tgz", + "integrity": "sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg==" + }, + "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/parcel": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.9.3.tgz", + "integrity": "sha512-2GTVocFkwblV/TIg9AmT7TI2fO4xdWkyN8aFUEVtiVNWt96GTR3FgQyHFValfCbcj1k9Xf962Ws2hYXYUr9k1Q==", + "dependencies": { + "@parcel/config-default": "2.9.3", + "@parcel/core": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/reporter-cli": "2.9.3", + "@parcel/reporter-dev-server": "2.9.3", + "@parcel/reporter-tracer": "2.9.3", + "@parcel/utils": "2.9.3", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "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/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/protobufjs": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", + "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "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/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==", + "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/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/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/sass": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", + "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "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/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "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==", + "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-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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/svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "optional": true, + "peer": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "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/tsconfig-paths/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/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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==", + "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/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "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/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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-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/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/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/xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6a0a413 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "typescript-practice", + "version": "1.0.0", + "description": "", + "scripts": { + "start": "parcel src/pages/*.html", + "build": "parcel build ./src/pages/*.html --no-cache --no-source-maps --dist-dir dist" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@types/core-js": "^2.5.6", + "@types/regenerator-runtime": "^0.13.2", + "firebase": "^10.4.0", + "parcel": "^2.9.3" + }, + "devDependencies": { + "@parcel/transformer-sass": "^2.9.3", + "@typescript-eslint/eslint-plugin": "^6.7.3", + "@typescript-eslint/parser": "^6.7.3", + "eslint": "^8.50.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-prettier": "^5.0.0", + "prettier": "^3.0.3", + "process": "^0.11.10", + "typescript": "^5.2.2" + } +} diff --git a/src/assets/fonts/roboto-bold.ttf b/src/assets/fonts/roboto-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..43da14d84ecb949ca5f5e8ecca3a514aa7fe1c7d GIT binary patch literal 167336 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 c4E}tB7;m*QQ#yV*`c6gs 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 X76wnEi(n^v8!x?bp_;lO!DIggn3ZN8 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/roboto-medium.woff2 b/src/assets/fonts/roboto-medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8b1aebb23d79df1d3fe3c1aa9d232d35a8285e00 GIT binary patch literal 64732 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 z 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

S&jh1n&JeeMOkU4{=4@cYr6k z(ax=L|s)4kSST31>;ptckO_^V^T9xBEDa;HjTYh`K}oyXu_h<1|<>J?*}M z_pN2n9G6MC$WAI?$U?FnI``L8W)^o)BV!P5DDM^Dp<4A|-bV83(N%hr%JcH;Mvmvf zabV=(>{)?-Z6BOhoQIA_ZSX+;dyKbxbtFaJ@`~Go>%13f#KV-=OQ~q$bHK<788q}q z!3^#&4)djubc-6QXmCR$?(J^ht_2LE4uQDY_m6s@>c_n*5h&F(Lr&e$^R`oV+yy%Jm$1XX53TRMp- zTrza)av|@CQ{}l#7(OW#Vfbhu`!gXB&m>3y305S)ZQ{N3ES_8=bjPfxUdXZH$+=XJ znuGretdmtM`KG~}D_7Zz#W1=F5j{YnX5e&fuoLxoru79!-6YqGjZC#(KD2lj(0T>< z7E^c>)5x#ry~UT%Y3P!fAgSc!zFxHNxAe-i zd6O4EEtZ$goR=Xcu74xL9xPTh7L7l@Wz8S64(@z#+}ke>e{uilY2e1{a?iA{3XY(v zaT8V~dvssmY-72Hr~+H=p<-k>>KbgdhjhNA+}(gSc0AY~E6v>(a1wqdzTxNbfcu$rJo9co2}{f}e$KawlH4&%uLYUbl(0V=f z@6dW%%1)O&4%M#1$BYxNyI95W*qv^zGoF`VztTAToaMNLA1+4lbEX{2JDeCajdfwl`a34YDYx57q$G&3m&&*5FJa`QdcW z!F&sx@f-8=+4c=A_4xeY@xM0W08bJ0!K`u2V|b3BgKv#sk})5;*R`m2z$g4K31=L7 zO2NXX&$sCRKWS8oj$*6X&3xbdK9Cvc8W>}?c*23e^;wbt+BN>B-BZ`C1Fy+w%S(hvucm84bN}l zwTV?pSxM89wk91ZMWmB}6r~Cxy(ghd5s}`J zB1pHOVn750q$*87K=dsj5}JUtP(lfWl0blvKmy6V7jlz((@-hd?{oGh5ES3<_viii z{qf7@wX-`rJ3Djc%$YN1_UzSO9RK36Qa+^`mzq=ReCZOUyOds7`iIiVWonffQs!{k zSId4=_V;on%N;7`EdO-{y@Fqb+7%oX)ru`EeqQmie>eXL{=fO#0;~aT0;U8U2{;>& z9AH!`UFqXW36(2UUR~Ms(%>roRTfvdQ}wN?d#cr}How}B)$UhsUH!A_7hkUV@{U(J zzw+rTNi{mx*juwy&9OC4*37Qex7OTRKiB%LmaVq6cFWpRYyVa|wN8yX?dy!F^In|| zb)xE|)h$r>jk?n_ll){nqvOzE=CSA+KF-(5At64eq`E z?(3^w&uloX;hsi*jm9=Q(b&6j$Hu#x6m9Zh6L-_VrU#n6*lcO@0?ns4k8a`DVswjR zEnjW1SoVK3^`Ubum7#Gwt=;NTM;Nak+!4KN? zXt%oE?e;C(zt?_shpHX=cUaruMo0gSA9lRascNTHo&7t1(mA`!2VK(M81P1TSEcLl zuHoHkciY+hjqa{0_*Mwg8-mdfZ)VFW@&ashY zM}~}CFmmOnVx#7bT0Uyys9#3?Hu|N}UyM!|?HZ$v@f}lk%;+(Z@4of!sj;t*T|M^E zxOd0Jyf^s0JL6l8UpC%0q0xlx6Anx`HR1lh*>WaYC;Ck+GqK*pUK6KHTsv{!#1j)Q zPV%1AZqnvSk&~`Zx;weh58-`pf$*-|zH6jSm)mSop)AKl1x% z{zu8vx__*F%-hPJ4E*HSCvl(L|J3i(S3X_y>G4k=O)oXQ%k+fLDt)&7Gj~XlkeVSQ zLMDZ*2{{sScE)Qn=FBWH^YfYaKR^EY@h{&0;`Z!%vj@)pX^wTyr*nRp`@-Ch=7xRQ z;>)F9o|so`UZ;5<&pR={-2Be-=gr@HF&%*nQ zdM#SGSY14F@yW&RB~_O!ToSgl$kJ9zLzdc?wOqF0Yw`7@uN~hE{AR~D>B~DV-?*aW ziX|%|SC(J-&dQ%x+E=~2YV@jIs|&9#y?W&8tKYu$?Y3{-Yu;aTZEfSVE7sLq*L>Z| zb;;k=|8DAcw)Gv?hi(YiuxDe_jZxnReZS}XKQ_I!Y5S(QANu^T?}rONHu!PczpDJ} z%YUW*)cmK$<*y7`UG-)||frQ??2TXt=&zIDRZeLt7_dG^n{wyE2OZhL>*ylrc? zg>E~x?fSOVUpoA9V7vGBQQI$Ve-zp+bYrM(NAn%ScU;+#vUB{-sGT{xe0TZps=q66 z*IT46}wODsj}z8J=cHj`Rls9`rdc;M(k_5 zuhTx;{`&jB+wb~q)Ne5dsydYke0t>TBU_Gy9l3ra z<48_efv|wEMqzJ+jSTxVY+2Zru;XFZ!`w%`j+Q@K|7hol_b0KH&J2f~o9m!JIU(hfZBSm2&F$)7t4$r@Nf)b9%(-Pfjm8{oU!Ur;nY!b~^Qpex}TsSI@LRGvv&) zGfU3=bY}ONurpWBq(9cjt z2A}PJcJkSIXTLvt@a&bdY3Dkh+jTDDT;jPuB8x;;i)<13R^-^o&m&hyhDM%>ycwB& zzR>wP=ifd*=KPHFE6@LO{>1tC^Y<^P7m8e{a-rFU9v8-32)VHQ!nO-1FT`KSx>)dH zrHhR(_P99uV#vki7q?$Lc`@!{=B2kUy?1HWrEf3oymb1~%}ZHP1*6`NS`f7{YJb$l zsJN)i=mOCJ(T$?pM)!%H5dBH?(&%;3yP}Uo$3)+b{`0cmkE`OU_f@~ErLOv4t$wxc)ecvOUj69m;;a9I3=!BT%EXvaV_II#SM)c6E`DnW!$E?(701^H{-J73&od+FBjh+{*Cy) z@$bY>ik}`oFMfIay7(XCe~Ax|kBd)=e|WRl%^EiYZ+5=f^X9uZXWsnw=Jz)b-n?=% z?UvWAinm_B)%n(lThni?xD|S9->tA)*KcJc6ild`&?KQ-!svt<39A!!C7er0N>man zBvwtVm)Iilt;Dg3UnH(g{5A1>qCL^LUFvq-+nsKYxIO*$irb;L&)mL!`{A7ucWT{f ze`na8@pnGHv-Hm9J7ITX?zob?lKhhzC3R04oisCPb<&=s3rV)5$H_j)FC+&f*Gdjd z?w33zc|r0I$%m3-lGAKnwu-hUww|_kZ8L4FY@xPOwwtzWdqMk)_R97;_NMk8_R;nb z`wIIn_HcWgJ=0OZ;qR#FXygcVbaRY!Om}?a*y;##oO4`rBstuUM|ZvNmbmMGxBA_= zcOCa?+nt0C~aWcn6&rPW~MDnTb;HwZExD~vtG8>KYl-V8*KSvs>zwPFE6L?{d%G*T8@OA$ySV$fN4O`tKXrfU{>Ht* zz0JMf9qzv5j&~=!Q{CC_$LW^z!s#!hmrt*fUMsypdh_(4^e*Y|q)$&@p1v)8Px_(s znDm?J*%<{hif5F~sGLzFqfJJ~j2;<%Glpi2$(WQeEn{Y8;mp37`!kPbMrI~uKFCtD zie#0^s+v_Vt3_7FtX^3|v);>^mNh$TY1X=|Em^;!9ZC&Rtz2yL&7ax~@@;y53S-_d&5V|Fi{SxaWv09(sV6?Rs^Qn5(CX5A^BcJxiPz zt^X-TC?mv3^`Q7dJuRwglSDcFOMW?JsVJ{D5LMK&VzJg)6eIm)umubN13?3@8q5M+ zzyvT{af{i?4)L;HRJ7NJiWT%H7ezU*(xN%{ zG}g}xUp+$fQY(t3T6mNlw>N8reFMO30u?!o0U&=Sa+ClWwmWgHB zQSpxcp7_k#k@ziQq54?N)Puzk)g{`17V1p#u|8L<*6xb7YDwOpeki68KTZ1{go$@( z&$p}%L^o?=F`lvndQCGj^gz)^(hqy_kNmdFeCtv1h8`-W>q|sC^6ICr5#Q*i#30LR zQC@irP^<`1XGGA;Y%@VH-Vw6{)7@|B9>n(Gj*?uF*GF^<&mr|d_&?8gK zRW)O`-cStHPKeFgSK=#et5~Rw5i=xB)otP<^%YT1J1IU^ABll#Uw$)8Jo=XqkH-_T z%Jg_3VKu@=YGHVwpqR+4co}8cVc8@qLc@`k7NQ?91b91vYBUy8n#9%7>Y zg&58n&3auGwJGmly_*=OSD~#byS`9NQ&))N(6x%@q|7JaO&Q;XW0|(5=&lbCi!9%Z zx1qrx>k2VV-ylBH+ZeId_M)T35U*HM& z{~^$Et=12^Ulz5k{^AAQPxRK;i8Xo;uwK-(xWroQ9&2Qrc1={bM4I(oqxTUbtsjat z)^*h9cTvImI_Y|YE@HTK4&iW7M;~Q4I3H;}BdS@G$m2`nvCPNIoBL{r8G0`x&Z`Dx z`9rMIqeON1&DX1-IAbj+4q7jXWtK#-+(#F`dR>AyDvNH~4bfS)hd!USFCa?lny77_ z!%JQYdA=m3=jCmwC#LG{DC=V}h4vi@Cep_5fK5U?!1Dc|rqxI6pii%n<-pqg6S8N4 zK1^)X7E`AiT(iJ`8%0^`5b*--vs2$E*6>#9_sE*n)&(Na@;U9n+KzsmI$aPy(GE+z zUxnUTVu>XU-iQ|CpmSrq+g|pnDPFVmho26L<@$1XYCPc>@j2m_);gl4e#p3K=G|AU zw&XxN7qs6=8Q>S%Z?o>?8C{V}EyP;c5A>hJC@`9}o+j{nQ%h~0(+d8&FW$C(E&4$3 z;nrT_bxRHLD&Jn}q4QhIUPncsb*gCTg&eeQ5Q|CszFuC8uxt~RE&d`H-dN7>EY;C7 zL`}_KjMqyD;r%jp)!b0s&u~xxdETG6&p58j@kStp{UwjYS6@SJ14}D-v?cQU2T@pA zB?g1K$_nukVORCC7^U72&D5jfCFEGJzDT^S?iBOrzh7JW^851BMGvnnB2axtj0Js= zF-?&*uWN(pAILH5TcVnWI2a6aV7DD6gB8dL*lO8Twl76UK$OzSE(pTkJ zQdG3i>xeIOZ&5?-EcU32#CxiSEYC!SzsGaui)Pl#9_VR=-wNIjfPVEwKko*jKjoKl zbQvCXg*JtTh`@{XyaXpytXp#%CQPw0sTNP&;)b^ z9kk_Q5#!=I%|_ZLqJn;047YSfcD_X4E-sc@niKkprFsb0sV}m89`e07AA;{k!m5ZPAfueXcA)Zf>Fs`^8MrjZ%Li%pCI)tS)Y7R9vCOlGnNxx00-bFkA5X}to%T?lKNF1 z&}T|Ym^viS`&%gM#q*?Y`P>kF(^8r?l698l`46GgNo70yV+f6;&IrBsQjfKS=LmNa zItinoXDKD!cu2Szono&Ri-$G3t<;myRX0l=lYY8ENk`8?*Cl*ghUy%~LK#Lf&dFy$ zpTCCs7~`O97fG+bhK!{@(Z3ethHvJE!%UqSz4bqaCJ&+8<`2V#k8F3@7XNMNg-$N@ zV#y=2-ArCVH<$Xc)Y0>YQcsn7saY4PlZF_FO-LC_-~UG-AEX?~55-{|M&2$YJOy@{ za#!}7ze39J{E#v}|Ffj*$q(dF{^#T!OPT%*WZ!fc-+(P3g0fh_T#a$S91nJjne=IM ze2}48J~=i>^BRHmo2-EhVW{0%h!g@ zQqL%1d56Bg!uZy_j&5T1586rc9z48P^6X#dW0FT?yK=2Dd0jEvSnA?Z|3+sr^=@=) zb50@qww${#U!v__=2^*7?>759p{aMvK8emRc~m~r%u~(>85`vDrEdMCd@>#BDc_D~ z%EkP^oGVH>K>1|ZO!*}Hyws^>IdbQKrc9wMQXXhh|E7P?55JOf$(#qGf6Fv^y!_WN zkGIYFvz%8~V17;imU@;flbk>1$*H`unzDy-m~$8A8y+3nc<9|n^z-RJpO$l5^#43L zX3~^-jiiSca}7B^Fxx}UrSr+bygrmC*G&DC`IwxO<=yurZ)hfIA!%oZd9ox=ug?pa zr^va4q`N75{~9vCG3Ox6Ys|R^bLzbMK0h=fo*(}ldH$FB<=vN8zkd#S3!u62+do~G zv}64FmhgMp`isBH&wS_Y^u@-BeCN-~+r0Vje+vI9Hy0yEnJ?$foBt`yg%cEEp?AEKX=Ti zq5qf@Bke!3|C#n5$uH6lB*WbCRQ7W@Hs*!7W8>^6{VDI+QZFgw$&2U6F>mIRu`PG( zlFvndE+=J9UYOU1^Tr^{$((wo+^=K|vs5%f)R&A|dN{Idq)}FXWTctb(A}iGH)W_P z-_hsM?WLaoL~cv{U&`d%xq>q#GB+>_6y zUwk1al3rtTc;UjQ!-KLp9ewJ0rj~LZ<@sYZThnJNi-m=i?bR06#+8bmP`f1Fk>*DU z&tC$rRo#StKhFGROuMdK+lf}JqVsjY93kHETCH+H`A%Nbn^;0Q@t3|#@|hMtp8`6W zsj6nRcv)3V(=D9nyvLgRr>Y$2-d6rB7OPdYSosEc-kCRXs;=s~W~OFOa@AX&Xl$&f zbBV0U!)j5j^4#J@Vol>B&(w7~v2;xhKM#$9sFpf8gy^ zz{jGSk1)?T@;uv1#>q$dm`7eb%*X1(O(sobk>nvy2Hqqgt&B4deZ0(@C=Xwv^Rf77 zl2WRoKzl2{$t_y|qF6NDs`}6hw1byd0WU9EI_}YZWOd9Z@pRcFB-Nl4CAWGBA8zq9 zfq8|Utd#l3y^z`}OAYa5>21Cq} za+7W2xvH6jmicp!>O~tp`IA+XT=V3Q`zRA_tI8+IJIz0NT_(*tmlyN>nYlbU*K?ak zmdD)kC4LfTW+(4cd7h+|>l&y+>VQe}e@s<;(HEvq(E`=|%iQ|cKt zUd_}LdXJCht5w$KX$!Qa+6FCD+pnGBU8E>2Mz5mR(S!7^`cQqm{*gXg|4!em@8BB& z=k=?4qMprnq5Ukyc@eHi5KK=#$i~7IdU%|hUe>MNQ{`LKv_&4(p z^q=DYng1sLE&f0I@8JEQLjjh6;sGTCDg{&xs2wn{l3K}H$+uFmN@Xfls8pj;`$~f= zji?flrrtmPP|q<8`Fn-(PuAL>T5q7%zlbn#N?a6nz6fY2eo8T=s#0BfRq3e=Rz~I4 zdcCrpT0c-r<<|NnwZ2BJQI>LRJ&Rf|)Rt-AYdf^xvl^otB;}fMOgU#9Wym}N@Cr~^ zHB_(~DLcUy@Uv0U@G>kpf8?YnX_8nuBXRSeJe`adhI4JDU^x+}V)WEioXGcO4TlKx%?5Avs}P!jgnV3A1i}o$ygY zms?wI{(NiQt+lt7-&%HS&aHQE^}N;nMr!fB1%9_4P>(C8On#Szd-|8eAvIF)yHo1r zgX{Z?9Xe+M8 znR<-$;D7m3KT|{08R|^+b9ENh&5zYZ>SA??x>Q}Jel4(Ds^6%~)fMVWb(NSUzED@I z->PfWwdy+cJ26|#QMagD)t}XE>M!bcF;{%4hN?T%o$4+X%Y!(^Qx07K_AUHC@e6Gu13LTfMLTE|!R;>L2Q#>I3zm`bd4u zH^IKv3TcHkKdq=%Oe?N_s!mtGP}gfUw3=Eit+rM`E2tIGeCe6nwb>$6o1@Le&b@S zv>&t|ML1U4ll1k|yk{OE&Wdx|zeJ=suO(^QM3nZ6h}O0vwRUJb#bt3t#Av&cRLUU{B`Um=lT85U1^qr%BrgT=i=%4D-wJa@LyU&+wx+>iizF>^B z@2R|njGm_SQr=d2>k3i~l~t+$x>f0;^wmGsKhewT<&=I(e`SC&5UKX1GDt74&r`-L z6OeH<^Zt)BI>{E;{LT8odHT!^bZczss#7wUAd3{JpXwehR^d4_8&E5c&J{*47o63UY|Ptq2kTn zquKZD9T3{8PuVAjBl`4dQY%!K*>DG`=k+0jF}WEKno)Hg*9x`N?BpM+RqfWhd+*SY zz_OvO0{fH=2=EUI4eQoBG%T=eK%YLfLak5ANLfD}UCL8hubQFOS89cNdvbWQcWA4! zp`y>cc{0B@dshw!4VgEu>^y3acOLfa`95Boe;bYpTJt7J~cbN**l0L22jKTHAAZh)e0?GGxTMGLN#|(Q|9{5d$afcRzerU_IZoB zJ$vsL)iuY2K4n8IQ&|7G`~09=Zk()T;hLeX=I-+seS7bCSp=5d&#MWJK;jG42*rnZ zr{bs9P<9qo*zYacq;8e6e!`n2V5NQ2+5sgv+^hC(->ABIr1fa~T9uMAP9NB%S&h>2 z$ntv4N~L|}k#*vL;Cf}{k=K$B`ZuX8kG!Xk?AEx9Jo4!o^mTRnT#u3!mp5zRUQ>-Rn`22+lh2TSLP{ZH`(KGnTN≤FHXCuU9Qce=@vmZ{%9^5??OaVQJ8!4u8-w;yt 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 O9w2gB{OJiU=mY>Df{N$> literal 0 HcmV?d00001 diff --git a/src/assets/images/dollar-icon.svg b/src/assets/images/dollar-icon.svg new file mode 100644 index 0000000..c20b593 --- /dev/null +++ b/src/assets/images/dollar-icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/images/favicon.ico b/src/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f77999d8ed39b76bd17ef0852f1dc6c90e6a263b GIT binary patch literal 1150 zcmbVM&r4KM7`_t-#r zZ=2_qG5z#D(letN%zVax-^4(!iHpPqqMr~aO&)obQC3i&PnMpcV?Kve7D%mHv}Y}D zZ2`AG0^K;P)P17_@v`uW< z+C)tSd=y(n#Rv5nmADF~f?@@HD=Nw&?gG2)y?1&pWZ7LQ#T)A9QlHGu3M8E_S6K96< zK9NaGbu0kqi%1md+d|Z+z;*_)ea0K{r_F*BDWD@=Sx%_K$$#8wdKRlpfr zYucN6L=*XA=hq-(=gf(g<*@CfJrNxQu~La`p50#eK~diB%J%fzB{*_c>PRq_Ns964 zL=e#%LRA+Q?B90Im!408Ni)+@I2V6VGXz}#BKd?!rV_~mZRxa0aO7O_oXqk_p$EDW z0yb4r-znJR-IHDkQt9X=aY-|H5&sFqRhz`e7wyhywI+35v>E4oD>|86OoWUXui4Qn zT)~4H3Aq;ysIqeBkO_KO-ARoJt;n<#B+XtjnF((X@B#ad%tE{bRv`1yYSHWf8YHbP}{_hU!(=9UOyW#co7D2kzH! z+d{4D-3+KUbVo_C9e1jw#v}>S2^=eNm01QhaP07ebtNSwjSJS5 z#T9kK$e$73I;N~foG}{4=x9Xs?166Kq4b0y%wT{%I2ge}It0<<%qvBubBseqz0Hog zdK)ZOE2^G6MX~Y}b(e0zOghDPf*YTHk#fu7BCp9I+OBoQgP_FKf$k9>5NE{v8B@?V zHU`nXdeTgF=m^Rz)fl777?K**Nce6=C2m*T$Ca|{Fx$#tt*vX;m1Hr@NzlcJv)=9< z-mZA4Wfl7Lj_xoyl@2o3tkoFWJ*shmM}&uCNc>BfmOKurb7nv%NuCCb^=+orEEL=$ zyefrh-NvmrbRr*3C#7e{sYiD)yhl_k`NPLmNdJB#o;u)tL@|`yl3y`9lNnH za~GZ!wX&nJF2owTdB_WkOR)N@b*LngEkTLW>=B(yDC)copoQniX%n7WtXTQsVi@$U zBzKsr(D0}dad_Nd^&E+P`g`MyZ4)b0%2)I zkf_{gQ5HRL?&4*9`{QP;Oq+-LtSzX$dBZ+soZEKN9#^U?~wRG z2wIqi4O@Rle!)fffg3Ke%}D2?W|wQnoyhjAdr>W1vtlWXdHW!n@?FHdK$koTwNqx{ zn~lHW*4_K?0~WKRDysb8LA&CIr-~=c|f49wlpHtA(GSil**x7kE@iWBiy(&Ky&z84Ew4t-YcvWpG5ifY;xD z4@%iT;4wxRR(*n;D>tx-GPS|sfZq@(91!C8!nqG?XjS`0&t5!1fFDDEm^5w_md;7h z$`vy99l_y~X9BXl#9wlrk!&c!p}kSQl4g|gpc ziFqw7HVF&qRfYheg)^X#HbdNGP?okNhqef6w=4RKB8{4MbUkWhfkmdh+aG%SvCYza zHYdZRD40jhC+IRTJFUGX7xrbHZA-)F-cgvFnX521jn@4wbT$Oam{60??aSKlORb&F zjYyIwbvmXM??W9vcR9H+oUrNGTP7c#bHcBaXnxa;KV|g0sgs3@uc@7cz%N(YhJAtN zxaR!+tfT%Kwd+Cm0ZeZ`MrW@l$Bc#i)G{{s0_gzqiWgJu8# N002ovPDHLkV1h5GQ2zh` literal 0 HcmV?d00001 diff --git a/src/assets/images/ic_category_other_income.png.png b/src/assets/images/ic_category_other_income.png.png new file mode 100644 index 0000000000000000000000000000000000000000..24d0828097ed44d5b8792a03428ad3817685fe3f GIT binary patch literal 2026 zcmVeTtLQqLvFM&`4sas<%B{pmCu6NhFdv^Einf%8FeA%tfY3&e+x8m-h35aghn(R31@r>pZ&P%Xy z`;+Ur#P`vD8}OMzT+z6A%zOC2zj8_OT%C8o>3i5>kMPeJyzp>9Zw;}bzxqT%zh97T}uw{*u+t!$w3}XY}Tunz{gBtn(e>wU#UhIk@k;*~nh36+*={8}d$gJ3`x{Mg%E&>?O1oGCxE=r`8xX$&L{8K1<;m{hpunp= zD!R{U*@*U~HG9jMu2*8W8%#5MuPE|Elp)s5Y+G~>@XHPpsWpeg(<#BZl88M>#GF7X z00hauqW!bPs>>LD{#`R3dq~A|FR7SFWGJbTvxvU_Nkf99)W?!q;)5&6r%Q4Sr0pdU4f`S2y#Q{VkI8hZt1(1&mhu^nizU+V-Si79^|2XpYFfbWABR6M1~XTQ z914cS>H3B_1O-c1Gr7Pv}uwNIP#STKr!e-uoM6FC$QfrYm} zr)L$C%jg6nLkh?n=8dCfOF2rHQNm3tP@_Y4WOOo;m_Ue5O-m|< z5aj7(zb2UtGeWMg+*YsYK{uD;vqYa&%m|Bl?Ub57N%2qez z>ij29HO&7q2-e!Q0b18jpIM6_=e;tPKDz)xvZWi{0VKv!@Vy_x*qJbDHkQM(m}B^a zA3<+~63LV{ej$UP$Ky$_+ws&P$~DjDo1<)ngH-RJ6P&<} zw*yE9Ra`&fM^aIcOem8w*7;^sZLWZGi4DbouDJ&mMu_?CPp%(V)Q}~=6gALsBv^2iJm+iJ58Gh~T+vHoSVO5`mZrxxgU)*8Aq`ZJ1+X zhNBb-kIQLxiewGT&G9J1Z;v_fhF8XqHpZ}Oai-cY4cqXi(-pWLD5wq{N~SCwFbKq1 z!+9f>om97;6xkByE$FwK2fvcSb3{~TF$~>I!{aT(*{cpD)cjW%ntz=1yQ!$M^ETGD z?P}u^_Om>-v5s=5hLtr5^bX1e5xWINW9(7yU-uo&CQ#VZ2bca#d#%G~i~nev_O!Pv z_tQr~TV1`iz0zW~zD9nw#i$%D9_)l}=SGEkh9n9Hqni1fbk+C;J;BlYU~xqCC_+QL zEUo>l_sD@0g^nxczANZmuV>4uCCxOfm9BR$Q&YHraejJxd6AM>t6uXKLr%wCsY|Z} zT~usoT)U3~VwKQ%>Exu0?v?`omo)X??{_r}+^*2R#20~20N<7D3?3t>-~a#s07*qo IM6N<$f)+r|TL1t6 literal 0 HcmV?d00001 diff --git a/src/assets/images/ic_category_transport.png.png b/src/assets/images/ic_category_transport.png.png new file mode 100644 index 0000000000000000000000000000000000000000..a7eaf5bc5e4cd9f9bffd4ab913c1a424eb40cf5b GIT binary patch literal 1653 zcmV-*28#KKP)CCj9mbMJ?5G*eZe275hDJHyIFh+Sa5+KNj82QjdP4I)5@FPF^qcLg> zY7nR)G1wL?A|j8rkdkPMg!-zM+EQBjo_6NWz1w|nX_@IfI%8Y;VI|X^v(G-~uDj1Z zd!K!Q2N)RyMgZEsU$(BPo@oQkB|(!|4e1!UE4rpW5^HEhTjj?1 z1dEF|Dbf%JtYB~-U>L!JW+Dicg%Mmesc$KJ)dJin2qB)ZXJTQfOol7aR*Wz|j|iL- z6@@m1iUto!P0c2|-syWG9y?vvtzSH7nih9FFw8ig$0GjiH8V~a!AV`cb6AoVbyg3- zlVXSO+!^#aopB$~iTE&lK5H##>`ZE;Iha^xYh}SKp!9keL0wXwh+-V0L5Eh-2d^s? zC_9ePfRoqqf9iv}!2$V@5;1O*n8W|V3Cf_DzyUK%(O2t7*U|0~XOF08g8BBC7Nhqu3oX*+j< z{Owj>s80CX1GutlE2h8q5fZ^~dv_uK@Yhfs0qas|uAv(a)a-i=cXu)jp&NG3f|-4I4&1i_$&8mUGq`|AHj zZqX40>wmEN!kz}hF&lbsFYMzdAQ70lMn*nT*B%D--nP~dS#zOvd<@kUg`kc<2HJy8 zN1TV-Ci`xM7C}wrow#+@$6Jvb@j$J;Eny34%}r1}nNU(w2W5Ox;lI@g@2YfoSEq-n zcV)I4Ib!`ue;7d%Ef)*kmjW-F?QWWYKUy8*`9&% zu=}7QjA9aUkC_wwG!A|bUyVE%QR^G6-U6RHp|LPc>{KI z;BbW#=YG*)vpF~qYyB57A=%+IY?v2B;k@`!yyU9HiE0IkErs9Pur9xfVq>58W8n-N zc0c8VTi&#Ed8|77ru#xnf)nSL_}VH9-r!L6y@ZA|S&znMH)`uNs2sb3CPA3Deg&_t z>Bf?2I_t#chm~e67_i~pQ%;MV83%2u1Dd}FkBztS{O-G&L<-Sc{1qZB;YKW<`DE!? zw$j;w{%o%fRS|GC>K$lvH0Za zp*m4-S6vrZ=LV&Eo<_MAjt#0)DVU!YrD%$}L8hV%(sp(lKgJx?!6Bz88aWd&Jt$*Y zSrz;8b8O^xj2Sn}0NchbJy{t`C9aESEjx>e!TVU)q;MJ*qg6&&+Q;_4v*bX{GS zqxH$p`IXm&{~p%cSlv>Dt_w&+@7C2Q8K>?TqU8unZ5YbnM7wL zZ4ILRvZb + + diff --git a/src/assets/images/icon.png b/src/assets/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..519e34196a26254e0737f7ed65efa30f723a856f GIT binary patch literal 1402 zcmV-=1%>*FP)}%JO|(2HC0HU~mde*tlrY{scBIgp5_9q@wl#zr>GH8>O7Fy+Vi`jKK{-<7Jo?U=x%c z5lmcx;{9sqyKjHTD!{NfgUqf%@l&F@#sb}Dy8hIB}a5!TUZmwXh z2)L=k%ryLY!;fnVS(uk~L*N%sUmEQCqBTm~yu?N2M|0qCU!~-BqwKZpQIw@mX?q6R z`DOG|NzG8!z_l{Ho@r-5Z;^-OmdXf{#KDU^n1_OnmN{JTlq^vZcjozA&W+B_xp0E! zC3d=B2q&lEVb{FgxlD~qoI2nPWODShycF~@y?!y4BjlFKCsp379c5iPWOqi2RTo6DDLz6r4!X33!$ zw;6#g3V3;VQ3OH8`E%B~>*G@}j$`5Z5W)Rb4Y@S95=+f>@_C5EV~3uuzsJZg&!FNh zKytTROxPGFogrVLkqNn55|?%+a~bb?eVCe=iOp!@Z~Slz*tr=f<$s`0-4P`q?WVs= zT55R)g_?ypNaTY!LIf2N`}8iu{_HOJ z{BZ9%09W2#WR=w-QP4^{jC5#;IpcwNBt!zM?{YdZ+50&hS-F@W89<_70$xNDq`Pp6 zCFzW4H^x0+-Glg5m6Xb-YGjv>UOmm~vZrya$w3>)bX!K=Nk zw<+qy{|zC2`n9Kh+{i}W#S9lL^{_r554$xyA3;zO?0bslVyh;H;tJNluR@A=mPQc# zxvOnVsQARxXy|Y45OEobx36`dzXdCT8eF$$8>xx;@UmfFy6$``WcjraG-5iD>QdS$ z52}l0M$qzxoEFQn1jWPQoeN-8*%HPLld4xSO^)@Ogz=B5Mz`p09z=P@6x?j>ZxSV) zL&@Zr81~^8-+fr%i=u5se(#oO}LI(Jlb`v_-$r)MTOHNZF_}| zNOSTYCfXxWeSJ1K^I<%4NaX9*zUsPzl8UpGd=zT|!(|~@(_mNIB^%QA2^uJ_tg9le zS7|m&N!4jji}}a^_K~0W(O`G`*RYSo2^!dU_;{Y=NIOBE_(5uB7wzU8YRRM1A=iWK z@i;klzmap*PuAd@f$p}ONF2$$BT|CUH|j=gP$cJzY3k7XA1ImsAja?hSpWb407*qo IM6N<$g1zXPB>(^b literal 0 HcmV?d00001 diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg new file mode 100644 index 0000000..d3ec790 --- /dev/null +++ b/src/assets/images/logo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/question-icon.svg b/src/assets/images/question-icon.svg new file mode 100644 index 0000000..30eca57 --- /dev/null +++ b/src/assets/images/question-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/pages/index.html b/src/pages/index.html new file mode 100644 index 0000000..810069e --- /dev/null +++ b/src/pages/index.html @@ -0,0 +1,289 @@ + + + + + + + + Money Lover Web + + + +

+
+ +
+

Add a wallet first!

+
+ +
+
+
+
+

Wallet name

+ +
+
+
+
+

Currency

+
+ Dollar icon +

United States Dollar

+
+
+
+
+

Initial Balance

+ +
+
+
+ +
+
+
+
+ + + +
+ +
+

Add budget

+
+ +
+
+
+
+
+

Date

+
+ +
+
+
+
+
+
+

Amount

+ +
+
+
+
+

Note

+ +
+
+ + +
+
+
+
+
+ + + +
+ +
+

Add transaction

+ +
+ +
+
+ +
+
+
+

Date

+
+ + +
+
+
+
+
+

Category

+
+ Question icon + +
+
+
+
+
+
+

Amount

+ +
+
+
+
+

Note

+ +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
Select category
+
+
+
+ + +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ Wallet Icon +
+
+

User

+
+

Log Out

+
+

+$ 0.00

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+ +
+
+ +
+
+

Inflow

+

+$ 0.00

+
+
+

Outflow

+

$ 0.00

+
+
+

+$ 0.00

+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+ + + diff --git a/src/pages/login.html b/src/pages/login.html new file mode 100644 index 0000000..a914c9d --- /dev/null +++ b/src/pages/login.html @@ -0,0 +1,49 @@ + + + + + + + + Login - Money Lover + + +
+ +
+ + + diff --git a/src/pages/register.html b/src/pages/register.html new file mode 100644 index 0000000..c608c00 --- /dev/null +++ b/src/pages/register.html @@ -0,0 +1,62 @@ + + + + + + + + Register - Money Lover + + +
+
+
+ Logo web + +
+
+

Register

+

Using Money Lover account

+
+ +
+
+ +
+
+ +
+ + + +
+
+ +
+
+
+ + + diff --git a/src/styles/_main.scss b/src/styles/_main.scss new file mode 100644 index 0000000..8e11aa0 --- /dev/null +++ b/src/styles/_main.scss @@ -0,0 +1,21 @@ +// Abstracts +@import './abstracts/mixin'; +@import './abstracts/variables'; + +// Bases +@import './bases/placeholder'; +@import './bases/reset'; +@import './bases/typography'; + +// Components +@import './components/dialog'; +@import './components/icons'; +@import './components/loader'; +@import './components/toast-form'; + +// Layouts +@import './layouts/header'; + +// Pages +@import './pages/login-register'; +@import './pages/index'; diff --git a/src/styles/abstracts/_mixin.scss b/src/styles/abstracts/_mixin.scss new file mode 100644 index 0000000..a1fc14b --- /dev/null +++ b/src/styles/abstracts/_mixin.scss @@ -0,0 +1,27 @@ +@mixin flex-layout( + $justify: null, + $align: null, + $direction: null, + $gap: null, + $wrap: null +) { + @if $justify != null { + justify-content: $justify; + } + + @if $align != null { + align-items: $align; + } + + @if $direction != null { + flex-direction: $direction; + } + + @if $gap != null { + gap: $gap; + } + + @if $wrap != null { + flex-wrap: $wrap; + } +} diff --git a/src/styles/abstracts/_variables.scss b/src/styles/abstracts/_variables.scss new file mode 100644 index 0000000..322974e --- /dev/null +++ b/src/styles/abstracts/_variables.scss @@ -0,0 +1,36 @@ +$primary-font: 'Roboto'; + +// Color +$hover-light-primary-color: #cdecd3; +$light-primary-color: #00bc2a; +$primary-color: #2db84c; +$dark-primary-color: #00710f; +$primary-text-color: #000; +$secondary-text-color: #0000008a; +$secondary-light-text-color: #00000042; +$amount-outcome-color: #e51c23; +$amount-income-color: #039be5; +$background-input-color: #f5f5f5; +$dark-error-color: #ce1414; +$light-error-color: #ffc3c3; +$light-gray: #f4f4f4; +$gray: #dddddd; +$dark-gray: #00000042; +$dark-x-gray: #0000008a; +$white: #ffffff; +$black: #000000; + +// Font size +$fs-2x-sm: 11px; +$fs-x-sm: 12px; +$fs-sm: 14px; +$fs-md: 16px; +$fs-lg: 17px; +$fs-x-lg: 20px; +$fs-2x-lg: 32px; + +// Z-index +$zindex-lv-1: 1; +$zindex-lv-2: 2; +$zindex-lv-3: 3; +$zindex-lv-4: 4; diff --git a/src/styles/bases/_placeholder.scss b/src/styles/bases/_placeholder.scss new file mode 100644 index 0000000..3bd88ef --- /dev/null +++ b/src/styles/bases/_placeholder.scss @@ -0,0 +1,59 @@ +%margin-inline-auto { + margin-inline: auto; +} + +%rounded-x-lg { + border-radius: 50px; +} + +%rounded-lg { + border-radius: 10px; +} + +%rounded { + border-radius: 8px; +} + +%rounded-sm { + border-radius: 4px; +} + +%d-flex { + display: flex; +} + +%d-absolute { + position: absolute; +} + +%base-btn { + border: none; + background: $light-primary-color; + color: $white; + text-transform: uppercase; +} + +%active { + opacity: 1; + pointer-events: auto; +} + +%input-field { + @extend %rounded; + + padding: 6px 16px 13.5px 16px; + border: 1px solid $gray; +} + +%base-layout-item { + @extend %d-flex; + @include flex-layout($justify: space-between); + + padding: 8 0px; +} + +%error-text { + align-self: flex-start; + padding-left: 5px; + color: $dark-error-color; +} diff --git a/src/styles/bases/_reset.scss b/src/styles/bases/_reset.scss new file mode 100644 index 0000000..8604211 --- /dev/null +++ b/src/styles/bases/_reset.scss @@ -0,0 +1,142 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote { + &:before, + &:after { + content: ''; + content: none; + } +} + +q { + &:before, + &:after { + content: ''; + content: none; + } +} + +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/src/styles/bases/_typography.scss b/src/styles/bases/_typography.scss new file mode 100644 index 0000000..2c464d6 --- /dev/null +++ b/src/styles/bases/_typography.scss @@ -0,0 +1,33 @@ +$font-path: '../assets/fonts'; + +@font-face { + font-family: 'Roboto'; + font-weight: 400; + src: url('#{$font-path}/roboto-regular.woff2') format('woff2'), + url('#{$font-path}/roboto-regular.ttf') format('truetype'); + + font-display: swap; +} + +@font-face { + font-family: 'Roboto'; + font-weight: 500; + src: url('#{$font-path}/roboto-medium.woff2') format('woff2'), + url('#{$font-path}/roboto-medium.ttf') format('truetype'); + + font-display: swap; +} + +@font-face { + font-family: 'Roboto'; + font-weight: 700; + src: url('#{$font-path}/roboto-bold.woff2') format('woff2'), + url('#{$font-path}/roboto-bold.ttf') format('truetype'); + + font-display: swap; +} + +* { + font-family: $primary-font, sans-serif; + font-size: $fs-sm; +} diff --git a/src/styles/components/_dialog.scss b/src/styles/components/_dialog.scss new file mode 100644 index 0000000..fa741f0 --- /dev/null +++ b/src/styles/components/_dialog.scss @@ -0,0 +1,28 @@ +.dialog { + @extend %rounded-sm; + + border: none; + background-color: $white; + padding: none; + transition: all 0.3s ease; + + &__title { + font-size: $fs-x-lg; + font-weight: 500; + line-height: 20px; + } + + &::backdrop { + background-color: rgba($color: #000000, $alpha: 0.2); + } +} + +// Login page +.login-page, +.register-page { + .dialog { + @extend %rounded; + + padding: 0px; + } +} diff --git a/src/styles/components/_icons.scss b/src/styles/components/_icons.scss new file mode 100644 index 0000000..fe28d17 --- /dev/null +++ b/src/styles/components/_icons.scss @@ -0,0 +1,61 @@ +.mark { + position: relative; + display: inline-block; + vertical-align: top; + width: 40px; + height: 40px; + border: 2px solid #c4cbd2; + border-radius: 100px; + + &::before, + &::after { + content: ''; + display: block; + position: absolute; + } + + &.success:before { + top: 16px; + left: 15px; + margin: -5px 0 0 -6px; + height: 10px; + width: 20px; + border: solid #39ca74; + border-width: 0 0 3px 3px; + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + &.error { + &:before { + top: 6px; + left: 13px; + height: 10px; + width: 10px; + border: solid #c0392b; + border-width: 0 0 4px 4px; + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + &:after { + top: 21px; + left: 13px; + height: 10px; + width: 10px; + border: solid #c0392b; + border-width: 0 0 4px 4px; + -webkit-transform: rotate(135deg); + -moz-transform: rotate(135deg); + -ms-transform: rotate(135deg); + -o-transform: rotate(135deg); + transform: rotate(135deg); + } + } +} diff --git a/src/styles/components/_loader.scss b/src/styles/components/_loader.scss new file mode 100644 index 0000000..420e52d --- /dev/null +++ b/src/styles/components/_loader.scss @@ -0,0 +1,39 @@ +.loader { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: #00000066; + z-index: $zindex-lv-1; + transition: + opacity 0.75s, + visibility 0.75s; + + &::after { + content: ''; + width: 75px; + height: 75px; + border: 10px solid $gray; + border-top-color: $primary-color; + border-radius: 50%; + animation: loading 0.75s ease infinite; + } + + &.hidden { + opacity: 0; + visibility: hidden; + } +} + +@keyframes loading { + from { + transform: rotate(0turn); + } + to { + transform: rotate(1turn); + } +} diff --git a/src/styles/components/_toast-form.scss b/src/styles/components/_toast-form.scss new file mode 100644 index 0000000..60ff0dd --- /dev/null +++ b/src/styles/components/_toast-form.scss @@ -0,0 +1,32 @@ +.toast { + @extend %d-flex; + @include flex-layout($direction: column, $align: center, $gap: 30px); + + padding: 40px 50px; + + &__title { + font-size: $fs-2x-lg; + } + + &__message { + font-size: $fs-lg; + text-align: center; + } + + &__redirect-btn { + color: $white; + font-size: $fs-md; + border: none; + border-radius: 10px; + padding: 15px 30px; + cursor: pointer; + } +} + +.success .toast__redirect-btn { + background-color: $light-primary-color; +} + +.error .toast__redirect-btn { + background-color: $dark-error-color; +} diff --git a/src/styles/layouts/_header.scss b/src/styles/layouts/_header.scss new file mode 100644 index 0000000..676a7a7 --- /dev/null +++ b/src/styles/layouts/_header.scss @@ -0,0 +1,36 @@ +.home-page { + .header { + position: fixed; + top: 0; + left: 0; + right: 0; + background-color: $white; + + &__content { + @extend %d-flex; + @include flex-layout($justify: space-between, $align: center); + + padding: 12px 8px; + } + + &__left-content { + @extend %d-flex; + @include flex-layout($align: center, $gap: 12px); + } + + &__add-btn { + @extend %base-btn, %rounded-sm; + + height: 32px; + padding-inline: 12px; + font-weight: 500; + line-height: 16px; + transition: 0.2s; + cursor: pointer; + + &:hover { + background: $dark-primary-color; + } + } + } +} diff --git a/src/styles/pages/_index.scss b/src/styles/pages/_index.scss new file mode 100644 index 0000000..0ea8664 --- /dev/null +++ b/src/styles/pages/_index.scss @@ -0,0 +1,702 @@ +.home-page { + .background { + height: 100vh; + background: $gray; + overflow: auto; + } + + .wrapper { + max-width: 1920px; + margin-inline: auto; + } + + .main { + padding-top: 96px; + } + + .wallet { + @extend %d-flex; + @include flex-layout($align: center, $gap: 8px); + + min-width: 170px; + + &__icon { + width: 40px; + height: 41px; + } + + &__info { + position: relative; + } + + &__dialog { + @extend %rounded-sm; + + padding: 10px; + position: absolute; + background-color: $white; + border: 1px solid $black; + top: 17px; + left: 10px; + opacity: 0; + visibility: none; + transition: 0.3s; + + &:hover { + visibility: visible; + opacity: 1; + } + } + + &__name { + font-size: $fs-x-sm; + line-height: 21px; + + &:hover + .wallet__dialog { + visibility: visible; + opacity: 1; + } + } + + &__price { + line-height: 18px; + font-weight: 700; + } + } + + .app { + border-radius: 4px; + background: $white; + box-shadow: 0px 3px 24px 0px rgba(0, 0, 0, 0.12); + margin-inline: auto; + width: 624px; + margin-bottom: 20px; + + &__tabs { + padding-top: 20px; + text-align: center; + border-bottom: 1px solid $gray; + position: relative; + } + + &__tab-item { + font-weight: 500; + color: $dark-x-gray; + background: none; + border: none; + padding: 15px 23.62px; + cursor: pointer; + + &.active { + color: $primary-color; + } + } + + &__content-item { + display: none; + animation: fade 0.5s ease; + + &.active { + display: block; + } + } + + &__line { + position: absolute; + top: 66px; + left: 152px; + width: 116px; + height: 2px; + background-color: $primary-color; + border-radius: 10px; + transition: all 0.3s ease-in-out; + } + } + + .summary { + @extend %d-flex; + @include flex-layout($direction: column); + + padding: 10px 16px 40px; + text-align: right; + + &__line { + width: 150px; + height: 1px; + background-color: $gray; + align-self: flex-end; + } + + &__total { + margin-top: 5px; + font-size: $fs-md; + line-height: 16px; + } + } + + .inflow { + @extend %base-layout-item; + + &__text { + line-height: 16px; + + &--income { + font-size: $fs-md; + color: $amount-income-color; + } + } + } + + .outflow { + @extend %base-layout-item; + + &__text { + line-height: 16px; + + &--outcome { + font-size: $fs-md; + color: $amount-outcome-color; + } + } + } + + .transaction { + background: $light-gray; + + &__line { + width: 100%; + height: 1px; + background-color: $gray; + } + + &__list { + @extend %d-flex; + @include flex-layout( + $justify: space-between, + $gap: 32px, + $direction: column + ); + } + + &__item { + background-color: $white; + } + + &__category { + @extend %d-flex; + @include flex-layout($justify: space-between, $align: center); + + padding: 16px; + + &-infor { + @extend %d-flex; + @include flex-layout($align: center, $gap: 9px); + } + + &-icon-container { + width: 40px; + height: 40px; + } + + &-name { + font-weight: 500; + line-height: 20px; + } + + &-total { + font-size: $fs-lg; + line-height: 15px; + } + } + + &__total { + font-size: $fs-x-sm; + color: $dark-x-gray; + line-height: 16px; + } + + &__time { + @extend %d-flex; + @include flex-layout($justify: space-between, $align: center); + + padding: 16px; + cursor: pointer; + + &:hover { + background-color: $hover-light-primary-color; + } + } + + &__details { + @extend %d-flex; + @include flex-layout($justify: space-between, $align: center, $gap: 12px); + } + + &__day { + font-size: $fs-2x-lg; + line-height: 16px; + font-weight: 300; + } + + &__date-time { + font-size: $fs-2x-sm; + line-height: 15px; + text-transform: capitalize; + } + + &__note { + @extend .transaction__date-time; + + color: $dark-gray; + } + + &__outcome { + color: $amount-outcome-color; + } + + &__income { + color: $amount-income-color; + } + } + + .dialog { + // Add wallet dialog + &__add-wallet { + .dialog { + &__body { + padding: 17px 24px; + } + + &__header { + border-bottom: 1px solid $gray; + } + + &__title { + padding: 20px 24px 24px 24px; + } + } + + .form { + &__save-btn { + margin-top: 31px; + align-self: flex-end; + } + + &__currency-balance { + @extend %d-flex; + @include flex-layout($justify: space-between, $gap: 20px); + + margin-top: 16px; + } + + &__wrap-text-icon { + @extend %d-flex; + @include flex-layout($gap: 16px, $align: center); + + margin-top: 6px; + width: 230px; + } + + &__text-currency { + font-size: $fs-md; + line-height: 24px; + } + + &__input-field { + height: fit-content; + } + } + } + + // Add budget dialog + &__add-budget { + .dialog { + &__body { + padding: 24px 40px 0; + } + + &__title { + padding: 20px 40px; + } + } + + .form { + &__date-amount-input { + @extend %d-flex; + @include flex-layout($gap: 32px); + + & .form__input-container { + width: 100%; + } + } + + &__note-input { + @extend %input-field; + + width: 768px; + margin-top: 24px; + } + + &__input-text { + width: 100%; + } + + &__cancel-btn { + width: 96px; + height: 36px; + } + + &__save-btn { + width: 96px; + height: 36px; + } + } + } + + // Add transaction dialog + &__add-transaction { + .dialog { + &__header { + @extend %d-flex; + @include flex-layout($justify: space-between, $align: center); + + padding: 20px 40px; + } + + &__body { + padding: 24px 40px 0; + } + } + + .form { + &__date-category-amount-input { + @extend %d-flex; + @include flex-layout($justify: space-between, $gap: 24px); + } + + &__input-field:first-child { + width: 255px; + } + + &__input-field:nth-child(2), + &__input-field:nth-child(3) { + width: 240px; + } + + &__note-input { + @extend %input-field; + + margin-top: 24px; + } + + &__save-btn { + width: 96px; + height: 36px; + } + } + } + + // Select category dialog + &__select-category { + .dialog { + &__header { + padding-top: 15px; + position: relative; + border-bottom: 1px solid $gray; + } + + &__title-container { + @extend %d-flex; + @include flex-layout($align: center, $gap: 28px); + + padding-left: 24px; + } + + &__title { + font-weight: 400; + } + } + + .form { + padding: 10px 144px; + + &__search-container { + @extend %d-flex, %rounded-x-lg; + @include flex-layout( + $justify: flex-end, + $gap: 16px, + $direction: row-reverse, + $align: center + ); + + padding-inline: 16px; + width: 208px; + height: 51px; + background-color: $light-gray; + } + + &__category-input-field { + border: none; + background-color: transparent; + + &:focus { + outline: none; + } + } + + &__search-btn { + cursor: pointer; + border: none; + background-color: transparent; + } + } + } + } + + // Common property + .form { + @extend %d-flex; + @include flex-layout($direction: column); + + &__input-field { + @extend %rounded; + + padding: 6px 16px 12px; + border: 1px solid $gray; + } + + &__label { + color: $dark-x-gray; + font-size: $fs-x-sm; + line-height: 18px; + } + + &__input-text { + margin-top: 7px; + font-size: $fs-lg; + width: 100%; + border: none; + background-color: transparent; + + &:focus { + outline: none; + } + + &::placeholder { + color: $gray; + } + } + + &__input-balance { + font-size: $fs-lg; + line-height: 20px; + height: 28px; + border: none; + width: 100%; + background-color: transparent; + + &:focus { + outline: none; + } + } + + &__save-btn { + @extend %rounded-sm; + + border: none; + background-color: $gray; + line-height: 16.1px; + font-weight: 500; + padding: 10px 20px; + color: $dark-gray; + cursor: pointer; + + &.active { + background-color: $primary-color; + color: $white; + } + } + + &__cancel-btn { + @extend .form__save-btn; + + color: $primary-color !important; + margin-right: 16px; + transition: 0.3s; + + &:hover { + background-color: $hover-light-primary-color; + } + } + + &__delete-btn { + @extend .form__save-btn; + + color: $dark-error-color !important; + transition: 0.3s; + + &:hover { + background-color: $light-error-color; + } + } + + &__action { + align-self: flex-end; + margin-top: 64px; + padding: 14px 0; + } + } + + .date-input-container { + position: relative; + float: left; + width: 100%; + } + + .input-date { + height: 30px; + width: 100%; + border: none; + font-size: $fs-lg; + background-color: transparent; + + &:focus { + outline: none; + } + + &::-webkit-calendar-picker-indicator { + background: transparent; + cursor: pointer; + } + } + + .icon-btn { + position: absolute; + top: 10px; + right: 5px; + background-color: transparent; + border-top: 3px solid $dark-gray; + border-right: 3px solid $dark-gray; + border-bottom: none; + border-left: none; + height: 7px; + width: 7px; + rotate: 45deg; + pointer-events: none; + } + + .category-input-container { + @extend %d-flex; + @include flex-layout($align: center, $gap: 8px); + + position: relative; + margin-top: 4px; + + & .category-icon { + height: 24px; + width: 24px; + } + } + + .category-name { + font-size: $fs-lg; + line-height: 25.5px; + color: $black; + border: none; + caret-color: transparent; + background-color: transparent; + cursor: pointer; + + &:focus { + outline: none; + } + } + + .icon-category { + width: 40px; + height: 40px; + } + + .list-category { + @extend %d-flex; + @include flex-layout($direction: column); + + padding-top: 5px; + height: 451px; + overflow: auto; + } + + .category-item { + @extend %d-flex; + @include flex-layout($align: center, $gap: 16px); + + margin-inline: 68px; + padding: 8px 0; + border-bottom: 1px solid $gray; + transition: 0.3s; + cursor: pointer; + + &:hover, + &.selected { + background-color: $hover-light-primary-color; + } + } + + .logout-text { + font-size: $fs-x-sm; + cursor: pointer; + + &:hover { + color: $primary-color; + } + } + + .error-input { + background-color: $light-error-color; + border-color: $dark-error-color; + + & .form__input-text::placeholder { + color: $white; + } + } + + .error-text { + @extend %error-text; + } + + .form__input-container { + @extend %d-flex; + @include flex-layout($direction: column, $gap: 7px); + } +} + +.close-icon { + @extend .error, .mark; + + border: none; + cursor: pointer; + + &::after, + &::before { + border-color: $black; + border-width: 0 0 2px 2px; + } +} + +.hide { + opacity: 0; + pointer-events: none; +} + +@keyframes fade { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +#categoryForm { + z-index: $zindex-lv-4; +} diff --git a/src/styles/pages/_login-register.scss b/src/styles/pages/_login-register.scss new file mode 100644 index 0000000..3171f3d --- /dev/null +++ b/src/styles/pages/_login-register.scss @@ -0,0 +1,100 @@ +.login-page, +.register-page { + .background { + height: 100vh; + background: linear-gradient($dark-primary-color 314px, #ebebeb -100%); + } + + .wrapper { + @extend %margin-inline-auto; + @extend %d-absolute; + + top: 0; + left: 0; + right: 0; + text-align: center; + } + + .logo-web { + padding-top: 54px; + } + + .form { + @extend %margin-inline-auto; + + margin-top: 34px; + padding-top: 34px; + padding-bottom: 40px; + background-color: $white; + width: 670px; + border-radius: 20px; + + &__container { + @extend %margin-inline-auto; + + display: flex; + flex-direction: column; + gap: 19px; + width: 280px; + } + + &__title { + color: $primary-text-color; + font-size: $fs-2x-lg; + font-weight: 700; + line-height: 48px; + } + + &__error-message { + font-size: $fs-md; + background-color: $light-error-color; + color: $dark-error-color; + padding: 15px 15px; + border-radius: 10px; + line-height: 22px; + list-style: inside; + } + + &__description { + margin-top: 15px; + color: $secondary-text-color; + font-size: $fs-md; + line-height: 24px; + } + + &__input { + @extend %rounded-lg; + + font-size: $fs-md; + height: 52px; + border: 2px solid $background-input-color; + background-color: $background-input-color; + padding-inline: 14px; + + &-container { + @extend %d-flex; + @include flex-layout($direction: column, $gap: 7px); + } + } + + &__submit-btn { + @extend %rounded-lg, %base-btn; + + height: 36px; + margin-top: 30px; + } + + &__link { + color: $primary-color; + } + } + + .error-input { + border: 2px solid $dark-error-color; + background-color: $light-error-color; + } + + .error-text { + @extend %error-text; + } +} diff --git a/src/ts/app.ts b/src/ts/app.ts new file mode 100644 index 0000000..aa120c1 --- /dev/null +++ b/src/ts/app.ts @@ -0,0 +1,17 @@ +import Controller from './controllers/index'; +import Service from './services/index'; +import View from './views/index'; + +export default class App { + controller: Controller; + + constructor() { + this.controller = new Controller(new Service(), new View()); + } + + start() { + this.controller.registerController.init(); + this.controller.loginController.init(); + this.controller.homeController.init(); + } +} diff --git a/src/ts/constants/config.ts b/src/ts/constants/config.ts new file mode 100644 index 0000000..dce8da0 --- /dev/null +++ b/src/ts/constants/config.ts @@ -0,0 +1,66 @@ +export const DATABASE_URL = + 'https://javascript-training-81f7a-default-rtdb.asia-southeast1.firebasedatabase.app'; +export const TIME_OUT_SEC = 3; + +export const BTN_CONTENT = { + GOT_IT: 'Got it!', + OK: 'Ok', +}; + +export const LOCAL_STORAGE = { + ACCESS_TOKEN: 'accessToken', +}; + +export const TypeToast = { + success: 'success', + error: 'error', +}; + +export const MarkIcon = { + success: 'success', + error: 'error', +}; + +export const REGEX = { + PASSWORD: + /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/, + EMAIL: + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, +}; + +export const URL = { + LOGIN: 'login', + REGISTER: 'register', + HOME: '', +}; + +export const DEFAULT_CATEGORY = { + INCOME: 'Income', +}; + +export const REMOVE_CATEGORY = ['Income']; + +export const DAY = [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', +]; + +export const MONTH = [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', +]; diff --git a/src/ts/constants/defaultVariable.ts b/src/ts/constants/defaultVariable.ts new file mode 100644 index 0000000..a417742 --- /dev/null +++ b/src/ts/constants/defaultVariable.ts @@ -0,0 +1 @@ +export const FIRST_ADD_WALLET_NOTE: string = 'Init Wallet'; diff --git a/src/ts/constants/messages.ts b/src/ts/constants/messages.ts new file mode 100644 index 0000000..38b5b28 --- /dev/null +++ b/src/ts/constants/messages.ts @@ -0,0 +1,23 @@ +export const VALIDATE_FORM = { + INVALID_EMAIL_FORMAT: `The email is not correct!`, + PASSWORD_NOT_MATCH: 'Password not match!', + PASSWORD_NOT_STRONG: + 'Password must at least one uppercase, one lowercase letter, one number and one special character!', + ERROR_CREDENTIAL: { + title: 'Error Credential', + message: 'Email or password not match! Please try again!', + }, + REQUIRED_MESSAGE: (field: string) => `The ${field} is required!`, +}; + +export const TOAST = { + ERROR_MESSAGE_DEFAULT: ['Something went wrong!'], + TIME_OUT_ERROR: 'Connection time out! Please try again!', + DEFAULT_TITLE_ERROR_TOAST: 'Error', + USER_EXIST_ERROR: 'User is exists! Please try another email!', + ADD_WALLET_SUCCESS: 'Add wallet success!', + DEFAULT_MESSAGE: 'Press OK to continue!', + ADD_TRANSACTION_SUCCESS: 'Add success!', + UPDATE_TRANSACTION_SUCCESS: 'Update success!', + REGISTER_SUCCESS: 'Register Success', +}; diff --git a/src/ts/controllers/homeController.ts b/src/ts/controllers/homeController.ts new file mode 100644 index 0000000..54b1ddf --- /dev/null +++ b/src/ts/controllers/homeController.ts @@ -0,0 +1,65 @@ +import HomeView from 'views/home/homeView'; +import Service from 'services'; +import Wallet from 'models/wallet'; +import Transaction from 'models/transaction'; +import Category from 'models/category'; +import { IHomeFunc, Nullable } from 'global/types'; + +export default class HomeController { + constructor( + public service: Service, + public homeView: Nullable, + ) { + this.service = service; + this.homeView = homeView; + } + + handlerGetInfoUserLogin() { + return this.service.userService.getInfoUserLogin(); + } + + handlerGetWalletByIdUser(idUser: string): Promise { + return this.service.walletService.getWalletByIdUser(idUser); + } + + handlerSaveWallet(wallet: Wallet): Promise { + return this.service.walletService.saveWallet(wallet); + } + + handlerSaveTransaction(transaction: Transaction): Promise { + return this.service.transactionService.saveTransaction(transaction); + } + + handlerGetAllCategory(): Promise { + return this.service.categoryService.getAllCategory(); + } + + handlerGetAllTransactions(idUser: string): Promise { + return this.service.transactionService.getListTransactionByIdUser(idUser); + } + + handlerDeleteTransaction(idTransaction: string): Promise { + return this.service.transactionService.deleteTransaction(idTransaction); + } + + init() { + if (this.homeView) { + const func: IHomeFunc = { + getInfoUserLogin: this.handlerGetInfoUserLogin.bind(this), + getWalletByIdUser: this.handlerGetWalletByIdUser.bind(this), + getAllCategory: this.handlerGetAllCategory.bind(this), + getAllTransactions: this.handlerGetAllTransactions.bind(this), + saveWallet: this.handlerSaveWallet.bind(this), + saveTransaction: this.handlerSaveTransaction.bind(this), + deleteTransaction: this.handlerDeleteTransaction.bind(this), + }; + + this.homeView.initFunction(func); + + this.homeView.loadPage(); + + // Subscribe listener data update + this.homeView.subscribeListenerData(); + } + } +} diff --git a/src/ts/controllers/index.ts b/src/ts/controllers/index.ts new file mode 100644 index 0000000..ce7bc54 --- /dev/null +++ b/src/ts/controllers/index.ts @@ -0,0 +1,25 @@ +import Service from 'services'; +import RegisterController from './registerController'; +import View from 'views'; +import LoginController from './loginController'; +import HomeController from './homeController'; + +export default class Controller { + public registerController: RegisterController; + + public loginController: LoginController; + + public homeController: HomeController; + + constructor( + public service: Service, + public view: View, + ) { + this.registerController = new RegisterController( + service, + view.registerView, + ); + this.loginController = new LoginController(service, view.loginView); + this.homeController = new HomeController(service, view.homeView); + } +} diff --git a/src/ts/controllers/loginController.ts b/src/ts/controllers/loginController.ts new file mode 100644 index 0000000..a6c79f6 --- /dev/null +++ b/src/ts/controllers/loginController.ts @@ -0,0 +1,29 @@ +import { Nullable } from 'global/types'; +import User from 'models/user'; +import Service from 'services'; +import LoginView from 'views/loginView'; + +export default class LoginController { + constructor( + public service: Service, + public loginView: Nullable, + ) { + this.service = service; + this.loginView = loginView; + } + + handlerLoginUser(email: string, password: string): Promise { + return this.service.userService.loginUser(email, password); + } + + handlerGetInfoUserLogin(): Promise { + return this.service.userService.getInfoUserLogin(); + } + + init() { + if (this.loginView) { + this.loginView.loadPage(this.handlerGetInfoUserLogin.bind(this)); + this.loginView.addHandlerForm(this.handlerLoginUser.bind(this)); + } + } +} diff --git a/src/ts/controllers/registerController.ts b/src/ts/controllers/registerController.ts new file mode 100644 index 0000000..8c94fa7 --- /dev/null +++ b/src/ts/controllers/registerController.ts @@ -0,0 +1,37 @@ +import { Nullable } from 'global/types'; +import User from 'models/user'; +import Service from 'services'; +import RegisterView from 'views/registerView'; + +export default class RegisterController { + constructor( + public service: Service, + public registerView: Nullable, + ) { + this.service = service; + this.registerView = registerView; + } + + handlerCheckUserValid(email: string): Promise { + return this.service.userService.isValidUser(email); + } + + handlerSaveUser(user: User): Promise { + return this.service.userService.saveUser(user); + } + + handlerGetInfoUserLogin(): Promise { + return this.service.userService.getInfoUserLogin(); + } + + init() { + if (this.registerView) { + this.registerView.loadPage(this.handlerGetInfoUserLogin.bind(this)); + this.registerView.addHandlerForm( + this.handlerCheckUserValid.bind(this), + this.handlerSaveUser.bind(this), + ); + this.registerView.addHandlerInputFormChange(); + } + } +} diff --git a/src/ts/global/types.ts b/src/ts/global/types.ts new file mode 100644 index 0000000..e4ef3c3 --- /dev/null +++ b/src/ts/global/types.ts @@ -0,0 +1,98 @@ +import Category from 'models/category'; +import Transaction from 'models/transaction'; +import User from 'models/user'; +import Wallet from 'models/wallet'; + +export interface IDataObject { + id: string; + data: T; +} + +export class DataObject { + public id: string; + + public data: T; + + constructor(dataObject: IDataObject) { + this.id = dataObject?.id ?? null; + this.data = dataObject.data; + } +} + +export interface IError { + title: string; + message: string; +} + +export type TError = string | IError; + +export class CustomError extends Error { + constructor( + public title: string, + message?: string, + ) { + super(message); + } +} + +export interface Data { + wallet?: Wallet; + listTransactions?: Transaction[]; + listCategories?: Category[]; + user?: User; +} + +export interface ItemTransaction { + id: string; + day: string; + fullDateString: string; + note: string; + amount: number; +} + +export type Nullable = T | null; +export type PromiseVoid = () => Promise; +export type VoidFunc = () => void; +export type PromiseOrNull = () => Promise; + +export interface IHomeFunc { + getInfoUserLogin?: PromiseOrNull; + getWalletByIdUser?: (idUser: string) => Promise; + getAllCategory?: PromiseOrNull; + getAllTransactions?: (idUser: string) => Promise; + saveWallet?: (wallet: Wallet) => Promise; + saveTransaction?: (transaction: Transaction) => Promise; + deleteTransaction?: (idTransaction: string) => Promise; +} + +export interface IBudgetViewFunc { + showErrorToast: (error: TError) => void; + showSuccessToast: (title: string, message: string) => void; + toggleLoaderSpinner: VoidFunc; + saveTransaction: Nullable<(transaction: Transaction) => Promise>; + loadTransactionData: PromiseVoid; + updateAmountWallet: PromiseVoid; + loadData: PromiseVoid; +} + +export interface ITransactionViewFunc { + toggleLoaderSpinner: VoidFunc; + deleteTransaction: (idTransaction: string) => Promise; + loadTransactionData: PromiseVoid; + updateAmountWallet: PromiseVoid; + loadData: PromiseVoid; + showSuccessToast: (title: string, message: string) => void; + showErrorToast: (error: TError) => void; + saveTransaction: (transaction: Transaction) => Promise; +} + +export interface IWalletViewFunc { + toggleLoaderSpinner: () => void; + saveWallet: ((wallet: Wallet) => Promise) | null; + saveTransaction: ((transaction: Transaction) => Promise) | null; + loadTransactionData: () => Promise; + loadData: () => Promise; + loadEvent: () => void; + showSuccessToast: (title: string, message: string) => void; + showErrorToast: (error: TError) => void; +} diff --git a/src/ts/helpers/connect.ts b/src/ts/helpers/connect.ts new file mode 100644 index 0000000..7560fb1 --- /dev/null +++ b/src/ts/helpers/connect.ts @@ -0,0 +1,33 @@ +import { TOAST } from '../constants/messages'; +import { TIME_OUT_SEC } from '../constants/config'; +import FirebaseService from '../services/firebaseService'; + +/** + * A waiting function with s second + * @param {number} s The time will be waiting + * @returns {Promise} A Promise will be only reject after s second + */ +export const timeout = (s: number): Promise => { + return new Promise((_, reject) => { + setTimeout(() => { + FirebaseService.disconnect(); + reject(TOAST.TIME_OUT_ERROR); + }, s * 1000); + }); +}; + +/** + * A function waiting the action need to be perform and throw error after s second. + * @param {Function} action The action need to be perform. + * @returns { Object || Error } Return the any object from Firebase or Error + */ +export const timeOutConnect = async ( + action: Promise, +): Promise => { + const result: T | string = await Promise.race([ + action, + timeout(TIME_OUT_SEC), + ]); + + return result; +}; diff --git a/src/ts/helpers/data.ts b/src/ts/helpers/data.ts new file mode 100644 index 0000000..ed9759f --- /dev/null +++ b/src/ts/helpers/data.ts @@ -0,0 +1,125 @@ +import localStorageService from 'services/localStorageService'; +import { DataObject, IDataObject, ItemTransaction } from '../global/types'; +import { DAY, LOCAL_STORAGE, MONTH } from 'constants/config'; +import Transaction from 'models/transaction'; +import TransactionDetail from 'models/transactionDetail'; +import Category from 'models/category'; + +export const generateId = (): string => { + return new Date().getTime().toString(); +}; + +export const convertDataObjectToModel = (dataObj: DataObject): T => { + const { id } = dataObj; + + return { id, ...dataObj.data } as T; +}; + +export const convertModelToDataObject = (model: T): DataObject => { + const { id, ...data } = model as IDataObject; + + return { id, data } as DataObject; +}; + +/** + * A function create token for user + * @returns {string} Return token string + */ +export const createToken = (): string => { + const lengthToken: number = 36; + const chars: string = + 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + let token: string = ''; + for (let i: number = 0; i < lengthToken; i += 1) { + token += chars[Math.floor(Math.random() * chars.length)]; + } + return token; +}; + +export const formatNumber = (number: number): string => { + return number.toLocaleString(undefined, { + minimumFractionDigits: 2, + }); +}; + +export const changeDateFormat = (oldFormatDate: string) => { + const tempDate = new Date(oldFormatDate); + + const day = DAY[tempDate.getDay()]; + const date = tempDate.getDate(); + const month = MONTH[tempDate.getMonth()]; + const year = tempDate.getFullYear(); + + return `${day}, ${date}, ${month}, ${year}`; +}; + +export const clearAccessToken = (): void => { + localStorageService.remove(LOCAL_STORAGE.ACCESS_TOKEN); +}; + +export const getAllCategoryNameInTransactions = ( + transactions: Transaction[], +): string[] => { + const categoryName = new Set(); + + transactions.forEach((transaction) => + categoryName.add(transaction.categoryName), + ); + + return Array.from(categoryName) as string[]; +}; + +export const getAllTransactionByCategoryName = ( + categoryName: string, + transactions: Transaction[], +) => { + const results = transactions.filter((transaction) => { + return transaction.categoryName === categoryName; + }); + + return results; +}; + +export const createTransactionDetailObject = ( + category: Category, + transactions: Transaction[], +): TransactionDetail => { + const totalTransaction = transactions.length; + const totalAmount = () => { + let amount = 0; + + transactions.forEach((transaction) => { + amount += transaction.amount; + }); + + return amount; + }; + const listTransaction = (): ItemTransaction[] => { + const results: ItemTransaction[] = transactions.map((transaction) => { + const dateParts = changeDateFormat(transaction.date).split(','); // ['Monday', '14', 'September', '2023'] + const day = dateParts[1]; + const fullDateString = `${dateParts[0]}, ${dateParts[2]} ${dateParts[3]}`; + const tempData: ItemTransaction = { + id: transaction.id, + day, + fullDateString, + note: transaction.note, + amount: transaction.amount, + }; + + return tempData; + }); + + results.sort((a, b) => parseInt(b.id) - parseInt(a.id)); + + return results; + }; + + return new TransactionDetail( + category.name, + category.url, + totalTransaction, + totalAmount(), + listTransaction(), + ); +}; diff --git a/src/ts/helpers/evDataTrigger.ts b/src/ts/helpers/evDataTrigger.ts new file mode 100644 index 0000000..00178f7 --- /dev/null +++ b/src/ts/helpers/evDataTrigger.ts @@ -0,0 +1,46 @@ +import { Data } from 'global/types'; + +type TSignal = { + [key: string]: { + name: string; + handler: (value: Data) => void; + }; +}; + +export default class EventDataTrigger { + private static _instance: EventDataTrigger; + + public signal: TSignal; + + constructor() { + this.signal = {}; + } + + public static get Instance() { + return this._instance || (this._instance = new this()); + } + + onSendSignal(fromClass: string, value: Data) { + Object.keys(this.signal).forEach((key) => { + const item = this.signal[key as keyof TSignal]; + + // Same receiver + if (item.name === fromClass) { + return; + } + + // Send signal + const { handler } = this.signal[key]; + if (handler) { + handler(value); + } + }); + } + + create( + className: string, + handler: ((value: Data) => void) | null = null, + ): void { + if (handler) this.signal[className] = { name: className, handler }; + } +} diff --git a/src/ts/helpers/url.ts b/src/ts/helpers/url.ts new file mode 100644 index 0000000..40e8f06 --- /dev/null +++ b/src/ts/helpers/url.ts @@ -0,0 +1,16 @@ +export const redirectToLoginPage = () => { + window.location.replace('/login'); +}; + +export const getSubdirectoryURL = (): string => { + const url = window.location.href; + const parts = url.split('/'); // Results: ['http:', '', 'example.com', ''] + const subDirectory = parts[3]; // Get subdirectory url only + const index = subDirectory.indexOf('?'); // Remove query behind subDirectory + + if (index !== -1) { + return subDirectory.substring(0, index); + } + + return subDirectory; +}; diff --git a/src/ts/helpers/validatorForm.ts b/src/ts/helpers/validatorForm.ts new file mode 100644 index 0000000..ef158e1 --- /dev/null +++ b/src/ts/helpers/validatorForm.ts @@ -0,0 +1,30 @@ +import { REGEX } from '../constants/config'; +import { VALIDATE_FORM } from '../constants/messages'; + +/** + * Validate password + * @param {string} password Password input + * @returns {boolean} Return true if validate password success, otherwise return false + */ +export const isValidPassword = (password: string): boolean => { + return REGEX.PASSWORD.test(password); +}; + +export const isValidateEmail = (email: string): RegExpMatchArray | null => { + return String(email).toLowerCase().match(REGEX.EMAIL); +}; + +export const compare2Password = ( + password: string, + passwordConfirm: string, +): boolean => { + return password === passwordConfirm; +}; + +export const renderRequiredText = (field: string, element: Element) => { + const markup: string = ` +

${VALIDATE_FORM.REQUIRED_MESSAGE(field)}

+ `; + + element.insertAdjacentHTML('afterend', markup); +}; diff --git a/src/ts/index.ts b/src/ts/index.ts new file mode 100644 index 0000000..851ad8e --- /dev/null +++ b/src/ts/index.ts @@ -0,0 +1,8 @@ +import App from './app'; + +// Sure that scripts called after DOM loaded +document.addEventListener('DOMContentLoaded', () => { + const myApp = new App(); + + myApp.start(); +}); diff --git a/src/ts/models/category.ts b/src/ts/models/category.ts new file mode 100644 index 0000000..c1c10cc --- /dev/null +++ b/src/ts/models/category.ts @@ -0,0 +1,11 @@ +export default class Category { + constructor( + public id: string, + public url: string, + public name: string, + ) { + this.id = id; + this.url = url; + this.name = name; + } +} diff --git a/src/ts/models/transaction.ts b/src/ts/models/transaction.ts new file mode 100644 index 0000000..339b4b8 --- /dev/null +++ b/src/ts/models/transaction.ts @@ -0,0 +1,19 @@ +import { generateId } from 'helpers/data'; + +export default class Transaction { + constructor( + public id: string, + public categoryName: string, + public date: string, + public note: string, + public amount: number, + public idUser: string, + ) { + this.id = id ? id : generateId(); + this.categoryName = categoryName; + this.date = date; + this.note = note; + this.amount = amount; + this.idUser = idUser; + } +} diff --git a/src/ts/models/transactionDetail.ts b/src/ts/models/transactionDetail.ts new file mode 100644 index 0000000..0586936 --- /dev/null +++ b/src/ts/models/transactionDetail.ts @@ -0,0 +1,17 @@ +import { ItemTransaction } from 'global/types'; + +export default class TransactionDetail { + constructor( + public categoryName: string, + public url: string, + public totalTransaction: number, + public totalAmount: number, + public transactions: ItemTransaction[], + ) { + this.categoryName = categoryName; + this.url = url; + this.totalTransaction = totalTransaction; + this.totalAmount = totalAmount; + this.transactions = transactions; + } +} diff --git a/src/ts/models/user.ts b/src/ts/models/user.ts new file mode 100644 index 0000000..e71f324 --- /dev/null +++ b/src/ts/models/user.ts @@ -0,0 +1,15 @@ +import { generateId } from '../helpers/data'; + +export default class User { + constructor( + public id: string, + public email: string, + public password: string, + public accessToken?: string, + ) { + this.id = id ? id : generateId(); + this.email = email; + this.password = password || ''; + this.accessToken = accessToken || ''; + } +} diff --git a/src/ts/models/wallet.ts b/src/ts/models/wallet.ts new file mode 100644 index 0000000..548da74 --- /dev/null +++ b/src/ts/models/wallet.ts @@ -0,0 +1,17 @@ +import { generateId } from '../helpers/data'; + +export default class Wallet { + constructor( + public id: string, + public walletName: string, + public inflow: number, + public outflow: number, + public idUser: string, + ) { + this.id = id ? id : generateId(); + this.walletName = walletName; + this.inflow = inflow; + this.outflow = outflow; + this.idUser = idUser; + } +} diff --git a/src/ts/services/categoryService.ts b/src/ts/services/categoryService.ts new file mode 100644 index 0000000..b471a33 --- /dev/null +++ b/src/ts/services/categoryService.ts @@ -0,0 +1,32 @@ +import CommonService from './commonService'; +import Category from '../models/category'; + +export default class CategoryService extends CommonService { + constructor() { + super(); + + this.defaultPath = 'categories/'; + } + + async getAllCategory() { + const data = await this.getAllDataFromPath(this.defaultPath); + + if (data) { + return data.reverse().map((category): Category => category); + } + + return null; + } + + async getCategoryByName(nameCategory: string) { + const data = await this.getDataFromProp( + 'name', + nameCategory, + this.defaultPath, + ); + + if (data) return data; + + return null; + } +} diff --git a/src/ts/services/commonService.ts b/src/ts/services/commonService.ts new file mode 100644 index 0000000..1c0a36c --- /dev/null +++ b/src/ts/services/commonService.ts @@ -0,0 +1,131 @@ +import { timeOutConnect } from '../helpers/connect'; +import { + convertDataObjectToModel, + convertModelToDataObject, +} from '../helpers/data'; +import { DataObject } from '../global/types'; +import FirebaseService from './firebaseService'; + +export default class CommonService { + public defaultPath: string; + + public firebaseService = FirebaseService; + + constructor(defaultPath?: string) { + this.defaultPath = defaultPath ? defaultPath : '/'; + } + + /** + * Connect to Firebase Database + */ + connectToDb() { + this.firebaseService.reconnect(); + } + + /** + * Save data on database + * @param {*} data The data wants to save on database + * @param {string} path The path of database + */ + async save(model: T): Promise { + this.connectToDb(); + + const results: DataObject = convertModelToDataObject(model); + + const saveData = this.firebaseService.save( + results.data as object, + this.defaultPath + results.id, + ); + + await timeOutConnect(saveData); + } + + /** + * + * @param {string} id The string of data object + * @param {string} path The path of database + * @returns {Object || null} Return the object if has, otherwise return null + */ + async getDataFromId( + id: string, + path: string = this.defaultPath, + ): Promise { + this.connectToDb(); + + const data = await timeOutConnect( + this.firebaseService.getDataFromId(id, path), + ); + + if (typeof data === 'object') return data; + + return null; + } + + async getDataFromProp( + property: string, + value: string, + path = this.defaultPath, + ) { + this.connectToDb(); + const data = this.firebaseService.getDataFromProp(path, property, value); + const result = >await timeOutConnect(data); + + if (result && typeof result === 'object') { + return convertDataObjectToModel(result); + } + + return null; + } + + async getAllDataFromPath(path = this.defaultPath): Promise { + this.connectToDb(); + + const results = await timeOutConnect( + this.firebaseService.getAllDataFromPath(path), + ); + + if (typeof results === 'object') { + // Convert format object + return results.map((data) => { + const tempData = data as DataObject; + + return convertDataObjectToModel(tempData); + }) as T[]; + } + + return null; + } + + async getListDataFromProp( + property: string, + value: string | number, + path: string = this.defaultPath, + ): Promise { + this.connectToDb(); + + const results = await timeOutConnect( + this.firebaseService.getListDataFromProp(path, property, value), + ); + + if (results && typeof results === 'object') { + // Convert format object + + return results.map((data) => { + const tempData = data as DataObject; + + return convertDataObjectToModel(tempData); + }) as T[]; + } + + return null; + } + + async deleteData( + id: string, + path = this.defaultPath, + ): Promise { + this.connectToDb(); + + await timeOutConnect(this.firebaseService.delete(id, path)); + } +} diff --git a/src/ts/services/firebaseService.ts b/src/ts/services/firebaseService.ts new file mode 100644 index 0000000..32557a9 --- /dev/null +++ b/src/ts/services/firebaseService.ts @@ -0,0 +1,179 @@ +import { FirebaseApp, initializeApp } from 'firebase/app'; +import { + getDatabase, + ref, + set, + goOffline, + goOnline, + onValue, + remove, + Database, +} from 'firebase/database'; +import { DATABASE_URL } from '../constants/config'; + +class FirebaseService { + app: FirebaseApp; + + db: Database; + + constructor() { + const firebaseConfig = { + databaseURL: DATABASE_URL, + }; + this.app = initializeApp(firebaseConfig); + this.db = getDatabase(this.app); + } + + /** + * Save data in database + * @param {Object} data The object need to save into database + * @param {string} path The path of database need to be save + * @returns {Promise} Return the resolves when write to database completed + */ + save(data: object, path: string): Promise { + return set(ref(this.db, path), data); + } + + delete(id: string, path: string): Promise { + return remove(ref(this.db, path + id)); + } + + /** + * Disconnect to database + */ + disconnect(): void { + goOffline(this.db); + } + + /** + * Reconnect to database + */ + reconnect(): void { + goOnline(this.db); + } + + /** + * Find id of value by property in database + * @param {string} path The path of database to be found + * @param {string} property The property of the value need to be found + * @param {value} value The value to compare in database + * @returns {Promise} Return the resolve when find completed + */ + getDataFromProp( + path: string, + property: string, + value: string, + ): Promise { + return new Promise((resolve) => { + onValue( + ref(this.db, path), + (snapshot) => { + let id: string | null = null; + let data: object | null = null; + let result: object | null = null; + + // snapshot is a type of data by Firebase define + snapshot.forEach((childSnapshot) => { + const dataTemp = childSnapshot.val(); + + if (dataTemp[property] === value) { + id = childSnapshot.key; + data = dataTemp; + } + }); + + if (id && data) { + result = { id, data }; + } + + resolve(result); + }, + { + onlyOnce: true, + }, + ); + }); + } + + /** + * Get data object from Id + * @param {string} id The id of data object + * @param {string} path The path of data save in database + * @returns {Promise} Return new Promise + */ + getDataFromId(id: string, path: string): Promise { + return new Promise((resolve) => { + onValue( + ref(this.db, path + id), + (snapshot) => { + resolve(snapshot.val()); + }, + { + onlyOnce: true, + }, + ); + }); + } + + getAllDataFromPath(path: string): Promise { + return new Promise((resolve) => { + onValue( + ref(this.db, path), + (snapshot) => { + const listData: object[] = []; + + // snapshot is a type of data by Firebase define + snapshot.forEach((childSnapshot) => { + let id: string | null = null; + let data: object | null = null; + + id = childSnapshot.key; + data = childSnapshot.val(); + + listData.push({ id, data }); + }); + + resolve(listData); + }, + { + onlyOnce: true, + }, + ); + }); + } + + getListDataFromProp( + path: string, + property: string, + value: string | number, + ): Promise { + return new Promise((resolve) => { + onValue( + ref(this.db, path), + (snapshot) => { + let id: string; + let data: object; + const listData: object[] = []; + + // snapshot is a type of data by Firebase define + snapshot.forEach((childSnapshot) => { + const dataTemp = childSnapshot.val(); + + if (dataTemp[property] === value) { + id = childSnapshot.key; + data = dataTemp; + + listData.push({ id, data }); + } + }); + resolve(listData); + }, + { + onlyOnce: true, + }, + ); + }); + } +} + +export default new FirebaseService(); diff --git a/src/ts/services/index.ts b/src/ts/services/index.ts new file mode 100644 index 0000000..5375744 --- /dev/null +++ b/src/ts/services/index.ts @@ -0,0 +1,21 @@ +import CategoryService from './categoryService'; +import TransactionService from './transactionService'; +import UserService from './userService'; +import WalletService from './walletService'; + +export default class Service { + public userService: UserService; + + public walletService: WalletService; + + public transactionService: TransactionService; + + public categoryService: CategoryService; + + constructor() { + this.userService = new UserService(); + this.walletService = new WalletService(); + this.transactionService = new TransactionService(); + this.categoryService = new CategoryService(); + } +} diff --git a/src/ts/services/localStorageService.ts b/src/ts/services/localStorageService.ts new file mode 100644 index 0000000..5339fb3 --- /dev/null +++ b/src/ts/services/localStorageService.ts @@ -0,0 +1,25 @@ +class LocalStorageService { + localStorage: Storage; + + constructor() { + this.localStorage = localStorage; + } + + add(key: string, value: string) { + this.localStorage.setItem(key, value); + } + + get(key: string): string | null { + return this.localStorage.getItem(key); + } + + remove(key: string) { + this.localStorage.removeItem(key); + } + + clear() { + this.localStorage.clear(); + } +} + +export default new LocalStorageService(); diff --git a/src/ts/services/transactionService.ts b/src/ts/services/transactionService.ts new file mode 100644 index 0000000..54d8550 --- /dev/null +++ b/src/ts/services/transactionService.ts @@ -0,0 +1,34 @@ +import Transaction from 'models/transaction'; +import CommonService from './commonService'; + +export default class TransactionService extends CommonService { + constructor() { + super(); + + this.defaultPath = 'transactions/'; + } + + /** + * Save transaction into database + * @param {Object} transaction The wallet object need to be saved into database + */ + async saveTransaction(transaction: Transaction): Promise { + await this.save(transaction); + } + + async getListTransactionByIdUser( + idUser: string, + ): Promise { + const results = await this.getListDataFromProp( + 'idUser', + idUser, + this.defaultPath, + ); + + return results || null; + } + + async deleteTransaction(idTransaction: string): Promise { + await this.deleteData(idTransaction); + } +} diff --git a/src/ts/services/userService.ts b/src/ts/services/userService.ts new file mode 100644 index 0000000..42729ed --- /dev/null +++ b/src/ts/services/userService.ts @@ -0,0 +1,112 @@ +import { LOCAL_STORAGE } from '../constants/config'; +import { createToken } from '../helpers/data'; +import User from '../models/user'; +import CommonService from './commonService'; +import LocalStorageService from './localStorageService'; + +export default class UserService { + private commonService: CommonService; + + constructor() { + this.commonService = new CommonService('users/'); + } + + /** + * Save user into database + * @param {Object} user The user object need to be saved into database + */ + async saveUser(user: User): Promise { + await this.commonService.save(user); + } + + /** + * Check user exist in database + * @param {string} email Email to find user + * @returns {boolean} Return true if find, otherwise return false + */ + async isValidUser(email: string): Promise { + const userExist = await this.getUserByEmail(email); + + return !!userExist; + } + + /** + * Get user data from email + * @param {string} email Email user + * @returns {Object || null} Return new User Object if find, otherwise return null. + */ + async getUserByEmail(email: string): Promise { + const result = await this.commonService.getDataFromProp('email', email); + + return result || null; + } + + /** + * Validate user info + * @param {string} email The email user input + * @param {*} password The password user input + * @returns {boolean} Return true if match info on database, otherwise return false + */ + async loginUser(email: string, password: string): Promise { + const user = await this.getUserByEmail(email); + + // Check password + if (user && user.password === password) { + // Create token for user + await this.createTokenUser(email); + + return true; + } + + return false; + } + + /** + * Create token for user on database + * @param {string} email The email user need to be create token + */ + async createTokenUser(email: string): Promise { + const user = await this.getUserByEmail(email); + if (user) { + const newUserData = user; + + // Add token to user object + newUserData.accessToken = createToken(); + + this.commonService.save(newUserData); + + // Add access token to local storage + LocalStorageService.add( + LOCAL_STORAGE.ACCESS_TOKEN, + newUserData.accessToken, + ); + } + } + + async getInfoUserLogin(): Promise { + // Find access token + const accessToken = LocalStorageService.get(LOCAL_STORAGE.ACCESS_TOKEN); + + if (accessToken) { + const user = await this.getUserByToken(accessToken); + + return user; + } + + return null; + } + + /** + * Get user data from token access + * @param {string} accessToken Access token user + * @returns {Object || null} Return new User Object if find, otherwise return null. + */ + async getUserByToken(accessToken: string): Promise { + const result = await this.commonService.getDataFromProp( + 'accessToken', + accessToken, + ); + + return result || null; + } +} diff --git a/src/ts/services/walletService.ts b/src/ts/services/walletService.ts new file mode 100644 index 0000000..c84a90b --- /dev/null +++ b/src/ts/services/walletService.ts @@ -0,0 +1,40 @@ +import Wallet from '../models/wallet'; +import CommonService from './commonService'; + +export default class WalletService extends CommonService { + constructor() { + super(); + + this.defaultPath = 'wallets/'; + } + + /** + * Save wallet into database + * @param {Object} wallet The wallet object need to be saved into database + */ + async saveWallet(wallet: Wallet): Promise { + await this.save(wallet); + } + + /** + * Check wallet exist in database + * @param {string} idUser The id user to find user's wallet + * @returns {boolean} Return true if find, otherwise return false + */ + async isValidWallet(idUser: string): Promise { + const wallet = await this.getWalletByIdUser(idUser); + + return !!wallet; + } + + /** + * Get wallet data from idUser + * @param {string} email The id user to find user's wallet + * @returns {Object || null} Return new Wallet Object if find, otherwise return null. + */ + async getWalletByIdUser(idUser: string): Promise { + const result = (await this.getDataFromProp('idUser', idUser)) as Wallet; + + return result || null; + } +} diff --git a/src/ts/views/authenticationView.ts b/src/ts/views/authenticationView.ts new file mode 100644 index 0000000..59ccb17 --- /dev/null +++ b/src/ts/views/authenticationView.ts @@ -0,0 +1,155 @@ +import CommonView from './commonView'; +import { TOAST, VALIDATE_FORM } from 'constants/messages'; +import { + compare2Password, + isValidPassword, + isValidateEmail, + renderRequiredText, +} from '../helpers/validatorForm'; +import { Nullable } from 'global/types'; + +export default class AuthenticationView extends CommonView { + public formEl: Nullable; + + public emailEl: Nullable; + + public messageDefault: string[]; + + public inputPasswordEl: Nullable; + + public inputPasswordConfirmEl: Nullable; + + public listError: string[]; + + constructor() { + super(); + + this.formEl = document.querySelector('.form'); + this.emailEl = document.querySelector("[name='email']"); + this.messageDefault = TOAST.ERROR_MESSAGE_DEFAULT; + this.inputPasswordEl = document.querySelector('input[name="password"]'); + this.inputPasswordConfirmEl = document.querySelector( + 'input[name="password_confirm"]', + ); + + this.listError = []; + } + + // eslint-disable-next-line class-methods-use-this + validateEmail(email: string): boolean { + if (email) { + if (!isValidateEmail(email)) { + this.listError.push(VALIDATE_FORM.INVALID_EMAIL_FORMAT); + + return false; + } + return true; + } + + if (this.emailEl) renderRequiredText('email', this.emailEl); + return false; + } + + validatePassword(password: string): boolean { + if (password) { + if (!isValidPassword(password)) { + this.listError.push(VALIDATE_FORM.PASSWORD_NOT_STRONG); + + return false; + } + + return true; + } + if (this.inputPasswordEl) + renderRequiredText('password', this.inputPasswordEl); + + return false; + } + + validatePasswordConfirm(password: string, passwordConfirm: string): boolean { + if (passwordConfirm) { + if (!compare2Password(password, passwordConfirm)) { + this.listError.push(VALIDATE_FORM.PASSWORD_NOT_MATCH); + + return false; + } + + return true; + } + + if (this.inputPasswordConfirmEl) + renderRequiredText('confirm password', this.inputPasswordConfirmEl); + + return false; + } + + /** + * Clear error message at form + */ + clearErrorMessage() { + // Reassign again to check error message element haved on page or not + const errorMessageEl = document.querySelector('.form__error-message'); + const errorTextEl = document.querySelectorAll('.error-text'); + + // If have error message on page, remove it with style error input password + if (errorMessageEl || errorTextEl.length > 0) { + if (errorMessageEl) errorMessageEl.remove(); + + if (errorTextEl) { + errorTextEl.forEach((item) => { + item.remove(); + }); + } + + // Use for 2 form + if (this.emailEl && this.inputPasswordEl) { + this.emailEl.classList.remove('error-input'); + this.inputPasswordEl.classList.remove('error-input'); + } + + // Only register form required + if (this.inputPasswordConfirmEl) + this.inputPasswordConfirmEl.classList.remove('error-input'); + } + } + + /** + * Add event listener for input field at form + */ + addHandlerInputFormChange() { + if (this.formEl) + this.formEl.addEventListener('input', () => { + this.clearErrorMessage(); + }); + } + + /** + * Show error message with error style input password. + * @param {string} message The error message you want show in form. + */ + showError(message: string[]) { + this.renderError(message); + } + + /** + * Show error message in form + * @param {string} message The message will show in form + */ + renderError(messages = this.messageDefault) { + if (messages.length > 0) { + const messageItemMarkup = messages + .map((message) => `
  • ${message}
  • `) + .join('\n'); + + const markup = ` +
      + ${messageItemMarkup} +
    + `; + + const titleEl = document.querySelector('.form__title'); + + if (titleEl) titleEl.insertAdjacentHTML('afterend', markup); + } + } +} diff --git a/src/ts/views/commonView.ts b/src/ts/views/commonView.ts new file mode 100644 index 0000000..32d2e71 --- /dev/null +++ b/src/ts/views/commonView.ts @@ -0,0 +1,164 @@ +import { Nullable } from 'global/types'; +import { MarkIcon, TypeToast } from '../constants/config'; + +export default class CommonView { + public toastDialog: Nullable = null; + + public toastIcon: Nullable = null; + + public toastBtn: Nullable = null; + + public toastTitle: Nullable = null; + + public toastContent: Nullable = null; + + public spinner: Nullable = null; + + constructor() { + this.toastDialog = document.querySelector('.dialog .toast'); + + this.spinner = null; + } + + /** + * Implement toast in site + */ + initToast() { + const markup = ` + +
    +
    +

    +

    + +
    +
    + `; + + const body = document.querySelector('body'); + + if (body) body.insertAdjacentHTML('afterbegin', markup); + + this.initToastEl(); + } + + initToastEl() { + this.toastDialog = document.querySelector('.dialog'); + + this.toastIcon = this.toastDialog + ? this.toastDialog.querySelector('.mark') + : null; + this.toastBtn = this.toastDialog + ? this.toastDialog.querySelector('.toast__redirect-btn') + : null; + this.toastTitle = this.toastDialog + ? this.toastDialog.querySelector('.toast__title') + : null; + this.toastContent = this.toastDialog + ? this.toastDialog.querySelector('.toast__message') + : null; + } + + /** + * Show or hide loader screen + */ + toggleLoaderSpinner() { + if (this.spinner) this.spinner.classList.toggle('hidden'); + } + + /** + * Add toast content + * @param {TYPE_TOAST} typeToast Type of the toast + * @param {string} title Title of toast + * @param {string} content Content of toast + * @param {string} btnContent Content of button + */ + initToastContent( + typeToast: string, + title: string, + content: string, + btnContent: string, + ) { + // Remove old typeToast class if haved + Object.keys(TypeToast).forEach((key) => { + CommonView.removeClassElement( + TypeToast[key as keyof typeof TypeToast], + this.toastDialog as HTMLBodyElement | null, + ); + }); + + // Remove old icon toast if haved + Object.keys(MarkIcon).forEach((key) => { + CommonView.removeClassElement( + MarkIcon[key as keyof typeof MarkIcon], + this.toastIcon, + ); + }); + + // Init content toast + if ( + this.toastDialog && + this.toastIcon && + this.toastTitle && + this.toastContent && + this.toastBtn + ) { + this.toastDialog.classList.add( + typeToast === TypeToast.success ? TypeToast.success : TypeToast.error, + ); + this.toastIcon.classList.add( + typeToast === TypeToast.success ? MarkIcon.success : MarkIcon.error, + ); + this.toastTitle.textContent = title; + this.toastContent.textContent = content; + this.toastBtn.textContent = btnContent; + } + } + + static removeClassElement(classEl: string, el: HTMLBodyElement | null) { + if (el && el.classList.contains(classEl)) { + el.classList.remove(classEl); + } + } + + /** + * Add event listener for toast + */ + handleEventToast() { + if (this.toastBtn) { + this.toastBtn.addEventListener('click', () => { + if (this.toastDialog) this.toastDialog.close(); + }); + } + + // Add event close dialog when click outside + if (this.toastDialog) { + this.toastDialog.addEventListener('click', (e) => { + if (this.toastDialog) { + const dialogDimensions = this.toastDialog.getBoundingClientRect(); + if ( + e.clientX < dialogDimensions.left || + e.clientX > dialogDimensions.right || + e.clientY < dialogDimensions.top || + e.clientY > dialogDimensions.bottom + ) { + this.toastDialog.close(); + } + } + }); + } + } + + /** + * Implement loader screen + */ + initLoader() { + const markup = ``; + + const body = document.querySelector('body'); + if (body) body.insertAdjacentHTML('afterbegin', markup); + + // Init element + this.spinner = document.querySelector('.loader'); + } +} diff --git a/src/ts/views/home/budgetView.ts b/src/ts/views/home/budgetView.ts new file mode 100644 index 0000000..4bcc37f --- /dev/null +++ b/src/ts/views/home/budgetView.ts @@ -0,0 +1,204 @@ +import Transaction from '../../models/transaction'; +import { renderRequiredText } from '../../helpers/validatorForm'; +import EventDataTrigger from 'helpers/evDataTrigger'; +import Wallet from 'models/wallet'; +import User from 'models/user'; +import { DEFAULT_CATEGORY } from 'constants/config'; +import { TOAST } from 'constants/messages'; +import { + IBudgetViewFunc, + Data, + Nullable, + PromiseVoid, + TError, + VoidFunc, +} from 'global/types'; + +export default class BudgetView { + budgetDialog: Nullable = null; + + addBudgetBtn: Nullable = null; + + evDataTrigger: Nullable = null; + + toggleLoaderSpinner: Nullable = null; + + saveTransaction: Nullable<(transaction: Transaction) => Promise> = null; + + loadTransactionData: Nullable = null; + + updateAmountWallet: Nullable = null; + + loadData: Nullable = null; + + showSuccessToast: Nullable<(title: string, message: string) => void> = null; + + showErrorToast: Nullable<(error: TError) => void> = null; + + wallet: Nullable = null; + + user: Nullable = null; + + constructor() { + this.budgetDialog = document.getElementById( + 'budgetDialog', + ) as HTMLDialogElement; + this.addBudgetBtn = document.getElementById('addBudget'); + + this.handlerEventBudgetView(); + } + + initFunction(func: IBudgetViewFunc) { + this.showErrorToast = func.showErrorToast; + this.showSuccessToast = func.showSuccessToast; + this.toggleLoaderSpinner = func.toggleLoaderSpinner; + this.saveTransaction = func.saveTransaction; + this.loadTransactionData = func.loadTransactionData; + this.updateAmountWallet = func.updateAmountWallet; + this.loadData = func.loadData; + + this.evDataTrigger = EventDataTrigger.Instance; + } + + subscribe() { + this.evDataTrigger!.create('budgetView', this.updateData.bind(this)); + } + + sendData() { + const data = { wallet: this.wallet! }; + + this.evDataTrigger!.onSendSignal('budgetView', data); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.user) this.user = data.user; + } + + addHandlerEventBudgetForm() { + this.budgetDialog!.addEventListener('submit', (e) => { + e.preventDefault(); + + this.clearErrorStyleBudgetForm(); + this.submitBudgetForm(); + }); + + this.budgetDialog!.addEventListener('input', () => { + this.changeBtnStyle(); + this.clearErrorStyleBudgetForm(); + }); + } + + clearErrorStyleBudgetForm() { + // Clear error style + const inputFieldEls = + this.budgetDialog!.querySelectorAll('.form__input-field'); + const errorTexts = this.budgetDialog!.querySelectorAll('.error-text'); + + inputFieldEls.forEach((item) => { + if (item.classList.contains('error-input')) + item.classList.remove('error-input'); + }); + + errorTexts.forEach((item) => { + if (item) item.remove(); + }); + } + + async submitBudgetForm(): Promise { + try { + const form = document.getElementById('formAddBudget') as HTMLFormElement; + const formAddBudget = new FormData(form); + const date = formAddBudget.get('selected_date') as string; + const amount = formAddBudget.get('amount') as string; + const note = formAddBudget.get('note') as string; + + // Validate data user input + + if (this.validateBudgetForm(date, +amount)) { + this.toggleLoaderSpinner!(); // Enable loader spinner + this.budgetDialog!.close(); // Close dialog + + const transaction = new Transaction( + '', + DEFAULT_CATEGORY.INCOME, + date, + note, + +amount, + this.wallet!.idUser, + ); + + await this.saveTransaction!(transaction); + + // Reload data + await this.loadTransactionData!(); + await this.updateAmountWallet!(); + await this.loadData!(); + + // Hide loader spinner + this.toggleLoaderSpinner!(); + + // Show success message + this.showSuccessToast!( + TOAST.ADD_TRANSACTION_SUCCESS, + TOAST.DEFAULT_MESSAGE, + ); + + (document.getElementById('formAddBudget')!).reset(); + } + } catch (error) { + this.showErrorToast!(error as TError); + } + } + + validateBudgetForm(date: string, amount: number): boolean { + const inputFieldEl = + this.budgetDialog!.querySelectorAll('.form__input-field'); + + if (!date || !amount) { + if (!date) { + renderRequiredText('date', inputFieldEl[0]); + inputFieldEl[0].classList.add('error-input'); + } + + if (!amount) { + renderRequiredText('amount', inputFieldEl[1]); + inputFieldEl[1].classList.add('error-input'); + } + + return false; + } + + return true; + } + + changeBtnStyle() { + const date = (( + this.budgetDialog!.querySelector('.input-date')! + )).value; + const amount = +(( + this.budgetDialog!.querySelector('.form__input-balance')! + )).value; + const saveBtn = this.budgetDialog!.querySelector('.form__save-btn')!; + + if (date.trim() && amount >= 1) { + saveBtn.classList.add('active'); + } else { + saveBtn.classList.remove('active'); + } + } + + handlerEventBudgetView() { + this.addBudgetBtn!.addEventListener('click', () => { + // Set default value for date input + (( + this.budgetDialog!.querySelector("[name='selected_date']") + ))!.valueAsDate = new Date(); + + this.budgetDialog!.showModal(); + }); + + this.addHandlerEventBudgetForm(); + } +} diff --git a/src/ts/views/home/categoryView.ts b/src/ts/views/home/categoryView.ts new file mode 100644 index 0000000..1124694 --- /dev/null +++ b/src/ts/views/home/categoryView.ts @@ -0,0 +1,167 @@ +import EventDataTrigger from 'helpers/evDataTrigger'; +import { REMOVE_CATEGORY } from '../../constants/config'; +import Category from 'models/category'; +import { Data, Nullable, PromiseOrNull } from 'global/types'; + +export default class CategoryView { + categoryDialog: Nullable = null; + + categoryField: Nullable = null; + + closeIcon: Nullable = null; + + getAllCategory: Nullable> = null; + + evDataTrigger: Nullable = null; + + listCategory: Nullable = null; + + categorySelected: string; + + constructor() { + this.categorySelected = ''; + + this.categoryDialog = document.getElementById( + 'categoryDialog', + ) as HTMLDialogElement; + this.categoryField = document.getElementById('selectCategory'); + this.closeIcon = document.querySelector('.close-icon') as HTMLElement; + + this.handlerEventCategoryDialog(); + this.addEventSelectCategoryDialog(); + } + + initFunction( + getAllCategory: PromiseOrNull, + evDataTrigger: EventDataTrigger, + ) { + this.getAllCategory = getAllCategory; + this.evDataTrigger = evDataTrigger; + } + + sendData() { + const data: Data = { listCategories: this.listCategory! }; + + this.evDataTrigger!.onSendSignal('categoryView', data); + } + + handlerEventCategoryDialog() { + this.categoryDialog!.addEventListener('input', () => { + setTimeout(() => { + this.searchCategory(); + }, 300); + }); + } + + /** + * Load category data + * @param {function} getAllCategory Get all category function + */ + async loadCategory(): Promise { + if (!this.listCategory) { + this.listCategory = await this.getAllCategory!(); + + this.sendData(); + } + + if (this.listCategory) { + this.renderCategoryList(); + } + } + + searchCategory() { + const searchCategoryEl: HTMLDataElement = + this.categoryDialog!.querySelector("[name='category']")!; + const searchValue = searchCategoryEl.value.trim().toLowerCase(); + let newListCategory: Category[] = []; + + if (searchValue) { + this.listCategory!.forEach((category) => { + const categoryName = category.name.trim().toLowerCase(); + + if (categoryName.includes(searchValue)) { + newListCategory.unshift(category); + } + }); + } else { + newListCategory = this.listCategory!; + } + + // Render category item + this.renderCategoryList(this.categorySelected, newListCategory); + } + + renderCategoryList( + categorySelected?: string, + listCategory = this.listCategory!, + ) { + // Remove category name unnecessary + const newListCategory = listCategory.filter( + (item) => !REMOVE_CATEGORY.includes(item.name), + ); + + const listCategoryEl = document.querySelector('.list-category'); + + listCategoryEl!.innerHTML = ''; // Remove old category item + + newListCategory.forEach((category) => { + const markup = ` +
    + ${category.name} Icon +

    ${category.name}

    +
    + `; + + listCategoryEl!.insertAdjacentHTML('afterbegin', markup); + }); + } + + addEventSelectCategoryDialog() { + const categoryListEl = document.querySelector('.list-category'); + const categoryIconEl = this.categoryField!.querySelector( + '.category-icon', + ) as HTMLImageElement; + const categoryNameEl = this.categoryField!.querySelector( + '.category-name', + ) as HTMLDataElement; + + categoryListEl!.addEventListener('click', (e) => { + const categoryItem = (e.target).closest( + '.category-item', + ) as HTMLElement; + + if (categoryItem) { + const { url } = categoryItem.dataset; + const { value } = categoryItem.dataset; + + // Set url and value into category field in transaction dialog + categoryIconEl.src = url!; + categoryNameEl.value = value!; + + // Close select category dialog + this.categoryDialog!.close(); + } + }); + + // Pass value selected to category dialog + categoryNameEl.addEventListener('click', () => { + if (categoryNameEl.value) { + // Make the keyword search category name into global + this.categorySelected = categoryNameEl.value; + + this.renderCategoryList(this.categorySelected); + } + this.categoryDialog!.showModal(); + }); + + this.closeIcon!.addEventListener('click', () => { + this.categoryDialog!.close(); + }); + } +} diff --git a/src/ts/views/home/homeView.ts b/src/ts/views/home/homeView.ts new file mode 100644 index 0000000..60d15b0 --- /dev/null +++ b/src/ts/views/home/homeView.ts @@ -0,0 +1,439 @@ +import { BTN_CONTENT, TypeToast } from '../../constants/config'; +import CommonView from '../commonView'; +import { clearAccessToken, formatNumber } from '../../helpers/data'; + +import WalletView from './walletView'; +import Wallet from 'models/wallet'; +import EventDataTrigger from 'helpers/evDataTrigger'; +import Transaction from 'models/transaction'; +import User from 'models/user'; +import { + Data, + IBudgetViewFunc, + IHomeFunc, + ITransactionViewFunc, + IWalletViewFunc, + Nullable, + PromiseOrNull, + TError, +} from 'global/types'; +import { TOAST } from 'constants/messages'; +import { redirectToLoginPage } from 'helpers/url'; +import Category from 'models/category'; +import CategoryView from './categoryView'; +import BudgetView from './budgetView'; +import TransactionView from './transactionView'; +import SummaryTabView from './summaryTabView'; +import TransactionDetail from 'models/transactionDetail'; +import TransactionTabView from './transactionTabView'; + +export default class HomeView extends CommonView { + walletView: WalletView; + + categoryView: CategoryView; + + budgetView: BudgetView; + + transactionView: TransactionView; + + summaryTabView: SummaryTabView; + + transactionTabView: TransactionTabView; + + tabs: NodeListOf; + + allContent: NodeListOf; + + cancelBtns: NodeListOf; + + dialogs: NodeListOf; + + amountInputs: NodeListOf; + + user: Nullable = null; + + wallet: Nullable = null; + + listTransactions: Transaction[] = []; + + transactionDetails: TransactionDetail[] = []; + + getInfoUserLogin: Nullable> = null; + + getWalletByIdUser: Nullable<(idUser: string) => Promise> = + null; + + getAllCategory: Nullable<() => Promise> = null; + + getAllTransactions: Nullable< + (idUser: string) => Promise + > = null; + + deleteTransaction: Nullable<(idTransaction: string) => Promise> = null; + + saveWallet: Nullable<(wallet: Wallet) => Promise> = null; + + saveTransaction: Nullable<(transaction: Transaction) => Promise> = null; + + evDataTrigger: Nullable = null; + + constructor() { + super(); + + this.tabs = document.querySelectorAll('.app__tab-item'); + this.allContent = document.querySelectorAll('.app__content-item'); + this.cancelBtns = document.querySelectorAll('.form__cancel-btn'); + this.dialogs = document.querySelectorAll('.dialog'); + + this.amountInputs = document.querySelectorAll('.form__input-balance'); + + this.walletView = new WalletView(); + this.categoryView = new CategoryView(); + this.budgetView = new BudgetView(); + this.transactionView = new TransactionView(this.categoryView); + this.summaryTabView = new SummaryTabView(); + this.transactionTabView = new TransactionTabView(this.transactionView); + + this.initToast(); + this.initLoader(); + this.handleEventToast(); + } + + // ----------------------- Init function ----------------------- // + initFunction(func: IHomeFunc) { + this.getInfoUserLogin = func.getInfoUserLogin || null; + this.getWalletByIdUser = func.getWalletByIdUser || null; + this.getAllCategory = func.getAllCategory || null; + this.getAllTransactions = func.getAllTransactions || null; + this.saveWallet = func.saveWallet || null; + this.saveTransaction = func.saveTransaction || null; + this.deleteTransaction = func.deleteTransaction || null; + + this.evDataTrigger = EventDataTrigger.Instance; + + // Init function for child view + this.initWalletViewFunction(); + this.initBudgetViewFunction(); + this.initTransactionViewFunction(); + this.initCategoryViewFunction(); + this.initSummaryTabViewFunction(); + this.initTransactionTabViewFunction(); + } + + initTransactionViewFunction() { + const func: ITransactionViewFunc = { + toggleLoaderSpinner: this.toggleLoaderSpinner.bind(this), + deleteTransaction: this.deleteTransaction!, + loadTransactionData: this.loadTransactionData.bind(this), + updateAmountWallet: this.updateAmountWallet.bind(this), + loadData: this.loadData.bind(this), + showSuccessToast: this.showSuccessToast.bind(this), + showErrorToast: this.showErrorToast.bind(this), + saveTransaction: this.saveTransaction!, + }; + + this.transactionView.initFunction(func); + } + + initBudgetViewFunction() { + const func: IBudgetViewFunc = { + showErrorToast: this.showErrorToast.bind(this), + showSuccessToast: this.showSuccessToast.bind(this), + toggleLoaderSpinner: this.toggleLoaderSpinner.bind(this), + saveTransaction: this.saveTransaction!.bind(this), + loadTransactionData: this.loadTransactionData.bind(this), + updateAmountWallet: this.updateAmountWallet.bind(this), + loadData: this.loadData.bind(this), + }; + + this.budgetView.initFunction(func); + } + + initCategoryViewFunction() { + this.categoryView.initFunction(this.getAllCategory!, this.evDataTrigger!); + } + + initSummaryTabViewFunction() { + this.summaryTabView.initFunction(this.evDataTrigger!); + } + + initTransactionTabViewFunction() { + this.transactionTabView.initFunction(this.evDataTrigger!); + } + + initWalletViewFunction() { + const func: IWalletViewFunc = { + toggleLoaderSpinner: this.toggleLoaderSpinner.bind(this), + saveWallet: this.saveWallet, + saveTransaction: this.saveTransaction, + loadTransactionData: this.loadTransactionData.bind(this), + loadData: this.loadData.bind(this), + loadEvent: this.loadEvent.bind(this), + showSuccessToast: this.showSuccessToast.bind(this), + showErrorToast: this.showErrorToast.bind(this), + }; + + this.walletView.initFunction(func); + } + // ----------------------- End ----------------------- // + + subscribeListenerData() { + this.subscribe(); + this.transactionView.subscribe(); + this.budgetView.subscribe(); + this.summaryTabView.subscribe(); + this.transactionTabView.subscribe(); + this.walletView.subscribe(); + } + + async loadData(): Promise { + // Send data to other class + this.sendData(); + + await this.categoryView.loadCategory(); + this.summaryTabView.load(); + this.transactionTabView.loadTransactionTab(); + + await this.loadWalletUser(); + await this.updateAmountWallet(); + } + + async loadPage(): Promise { + this.toggleLoaderSpinner(); + const user = await this.getInfoUserLogin!(); + + if (!user) { + // If user not login yet + clearAccessToken(); + window.location.replace('/login'); + } else { + // If user already login + this.user = user; + this.wallet = await this.getWalletByIdUser!(user.id); + + this.sendData(); + // Check user's wallet if have or not + if (!this.wallet) { + // Show add wallet dialog + this.walletView.showDialog(); + } else { + // Init data + await this.loadTransactionData(); + await this.loadData(); + + // Load event page + this.loadEvent(); + } + } + + this.toggleLoaderSpinner(); + } + + // ---------------------LOAD DATA---------------------// + + subscribe() { + this.evDataTrigger!.create('homeView', this.updateData.bind(this)); + } + + sendData() { + const data: Data = { + wallet: this.wallet!, + listTransactions: this.listTransactions!, + user: this.user!, + }; + + this.evDataTrigger!.onSendSignal('homeView', data); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.user) this.user = data.user; + } + + /** + * Load wallet user + */ + async loadWalletUser(): Promise { + const wallet = this.wallet + ? this.wallet + : await this.getWalletByIdUser!(this.user!.id); + const walletName = document.querySelector('.wallet__name'); + const walletPrice = document.querySelector('.wallet__price'); + const walletNameValue = wallet!.walletName; + const walletAmountValue = wallet!.inflow + wallet!.outflow; + + const sign = walletAmountValue >= 0 ? '+' : '-'; + + this.wallet = wallet; // Make wallet into global variable + + walletName!.textContent = walletNameValue; + walletPrice!.textContent = `${sign}$ ${formatNumber( + Math.abs(walletAmountValue), + )}`; // Math.abs(walletAmountValue) to keep the value always > 0 + + // Update amount wallet into database + this.saveWallet!(this.wallet!); + } + + async loadTransactionData(): Promise { + const data = await this.getAllTransactions!(this.wallet!.idUser); + + if (data) this.listTransactions = data; + + this.sendData(); + } + + async updateAmountWallet(): Promise { + let inflow = 0; + let outflow = 0; + // Init data first + this.transactionDetails = + this.transactionTabView!.loadTransactionDetailsData(); + + this.transactionDetails.forEach((transaction) => { + if (transaction.totalAmount >= 0) { + inflow += transaction.totalAmount; + } else { + outflow -= transaction.totalAmount; + } + }); + // Reassign value for wallet user; + this.wallet!.inflow = inflow; + this.wallet!.outflow = -outflow; + await this.saveWallet!(this.wallet!); + } + + // ---------------------END--------------------- // + + // ---------------------TOAST--------------------- // + showSuccessToast(title: string, message: string) { + const typeToast = TypeToast.success; + const btnContent = BTN_CONTENT.OK; + + this.initToastContent(typeToast, title, message, btnContent); + + this.toastDialog!.showModal(); + } + + /** + * Implement error toast in site + * @param {string} content The content will show in error toast + */ + showErrorToast(error: TError) { + const title = + typeof error === 'object' && error.title + ? error.title + : TOAST.DEFAULT_TITLE_ERROR_TOAST; + + const content = + typeof error === 'object' && error.message + ? error.message + : (error as string); + + this.initToastContent(TypeToast.error, title, content, BTN_CONTENT.OK); + + if (this.toastDialog && this.toastBtn) { + // Show toast + this.toastDialog.showModal(); + + // Remove event for toast button + this.toastBtn.removeEventListener('click', redirectToLoginPage); + } + } + // ---------------------END--------------------- // + + // --------------------- HANDLER EVENT --------------------- // + + loadEvent() { + this.addCommonEventPage(); + this.handlerTabsTransfer(); + } + + /** + * Handle event when click on tabs + */ + handlerTabsTransfer() { + this.tabs.forEach((tab, index) => { + tab.addEventListener('click', (e: Event) => { + this.removeActiveTab(); + tab.classList.add('active'); + + const line = document.querySelector( + '.app__line', + ) as HTMLElement; + + const eventTarget = e.target as HTMLElement; + + line.style.width = `${eventTarget.offsetWidth}px`; + line.style.left = `${eventTarget.offsetLeft}px`; + + this.allContent.forEach((content) => { + content.classList.remove('active'); + }); + this.allContent[index].classList.add('active'); + }); + }); + } + + addCommonEventPage() { + // Add event close dialog when click outside + this.dialogs.forEach((dialog) => { + dialog.addEventListener('click', (e) => { + const dialogDimensions = dialog.getBoundingClientRect(); + const mouseEvent = e as MouseEvent; + if ( + mouseEvent.clientX < dialogDimensions.left || + mouseEvent.clientX > dialogDimensions.right || + mouseEvent.clientY < dialogDimensions.top || + mouseEvent.clientY > dialogDimensions.bottom + ) { + (dialog).close(); + } + }); + }); + + this.cancelBtns.forEach((btn) => { + btn.addEventListener('click', () => { + this.closeAllDialog(); + }); + }); + + // Prevent input =,-,e into amount input + this.amountInputs.forEach((item) => { + item.addEventListener( + 'keypress', + (e) => + ['+', '-', 'e'].includes((e).key) && + e.preventDefault(), + ); + }); + + // Prevent user input at category search + const categorySearchEl = document.querySelector( + '.category-name', + ) as Element; + categorySearchEl.addEventListener('keydown', (e) => { + e.preventDefault(); + }); + + const logoutBtn = document.querySelector('.logout-text') as Element; + logoutBtn.addEventListener('click', () => { + clearAccessToken(); + + window.location.replace('/login'); + }); + } + + closeAllDialog() { + this.dialogs.forEach((dialog) => { + (dialog).close(); + }); + } + + removeActiveTab() { + this.tabs.forEach((tab) => { + tab.classList.remove('active'); + }); + } +} diff --git a/src/ts/views/home/summaryTabView.ts b/src/ts/views/home/summaryTabView.ts new file mode 100644 index 0000000..eae2560 --- /dev/null +++ b/src/ts/views/home/summaryTabView.ts @@ -0,0 +1,48 @@ +import EventDataTrigger from 'helpers/evDataTrigger'; +import { formatNumber } from '../../helpers/data'; +import { Data, Nullable } from 'global/types'; +import Wallet from 'models/wallet'; +import Transaction from 'models/transaction'; +import Category from 'models/category'; + +export default class SummaryTabView { + evDataTrigger: Nullable = null; + + wallet: Nullable = null; + + listTransactions: Transaction[] = []; + + listCategories: Category[] = []; + + initFunction(evDataTrigger: EventDataTrigger) { + this.evDataTrigger = evDataTrigger; + } + + subscribe() { + this.evDataTrigger!.create('summaryTabView', this.updateData.bind(this)); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.listTransactions) this.listTransactions = data.listTransactions; + + if (data.listCategories) this.listCategories = data.listCategories; + } + + load() { + const inflowValue = document.querySelector('.inflow__text--income')!; + const outflowValue = document.querySelector('.outflow__text--outcome')!; + const totalValue = document.querySelector('.summary__total')!; + + const { inflow } = this.wallet!; + const { outflow } = this.wallet!; + const total = inflow + outflow; + + inflowValue.textContent = `+$ ${formatNumber(inflow)}`; + outflowValue.textContent = `-$ ${formatNumber(Math.abs(outflow))}`; + totalValue.textContent = `${total >= 0 ? '+' : '-'}$ ${formatNumber( + Math.abs(total), + )}`; + } +} diff --git a/src/ts/views/home/transactionTabView.ts b/src/ts/views/home/transactionTabView.ts new file mode 100644 index 0000000..c365ea5 --- /dev/null +++ b/src/ts/views/home/transactionTabView.ts @@ -0,0 +1,197 @@ +import EventDataTrigger from 'helpers/evDataTrigger'; +import { + createTransactionDetailObject, + getAllCategoryNameInTransactions, + getAllTransactionByCategoryName, +} from '../../helpers/data'; +import { formatNumber } from '../../helpers/data'; +import TransactionView from './transactionView'; +import { Data, Nullable } from 'global/types'; +import Wallet from 'models/wallet'; +import Transaction from 'models/transaction'; +import Category from 'models/category'; +import TransactionDetail from 'models/transactionDetail'; + +export default class TransactionTabView { + transactionView: TransactionView; + + evDataTrigger: Nullable = null; + + wallet: Nullable = null; + + listTransactions: Transaction[] = []; + + listCategories: Category[] = []; + + transactionDetails: TransactionDetail[] = []; + + constructor(transactionView: TransactionView) { + this.transactionView = transactionView; + this.addEventTransactionItem(); + } + + initFunction(evDataTrigger: EventDataTrigger) { + this.evDataTrigger = evDataTrigger; + } + + subscribe() { + this.evDataTrigger!.create( + 'transactionTabView', + this.updateData.bind(this), + ); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.listTransactions) this.listTransactions = data.listTransactions; + + if (data.listCategories) this.listCategories = data.listCategories; + } + + async loadTransactionTab(): Promise { + // Load category + // Init data first + this.transactionDetails = this.loadTransactionDetailsData(); + const transactionEl = document.querySelector('.transaction')!; + const listTransactionDetailEl = + transactionEl.querySelector('.transaction__list')!; + const markup: string[] = []; + + if (this.transactionDetails) { + this.transactionDetails.forEach((transactionDetail) => { + markup.push(this.transactionDetailMarkup(transactionDetail)); + }); + } + listTransactionDetailEl.innerHTML = ''; + listTransactionDetailEl.insertAdjacentHTML('afterbegin', markup.join('\n')); + // Load event + this.addEventTransactionItem(); + } + + loadTransactionDetailsData(): TransactionDetail[] { + // Get all category user have in transactions + const listCategoryInTransaction = getAllCategoryNameInTransactions( + this.listTransactions, + ); + + // Create transactions details object + const tempList: TransactionDetail[] = listCategoryInTransaction.map( + (categoryName) => { + // Get category object from list category has been loaded. + const category = this.listCategories.filter( + (item) => item.name === categoryName, + ); + + const transactions = getAllTransactionByCategoryName( + categoryName, + this.listTransactions, + ); + + return createTransactionDetailObject( + Object.assign({}, ...category), + transactions, + ); + }, + ); + + tempList.sort( + (a, b) => parseInt(b.transactions[0].id) - parseInt(a.transactions[0].id), + ); + + return tempList; + } + + // eslint-disable-next-line class-methods-use-this + transactionDetailMarkup(transactionDetail: TransactionDetail): string { + const itemTransaction = () => { + const listMarkup: string[] = []; + + transactionDetail.transactions.forEach((transaction) => { + const markup = ` +
    +
    +

    ${transaction.day}

    +
    +

    + ${transaction.fullDateString} +

    +

    ${ + transaction.note === '' ? 'None' : transaction.note + }

    +
    +
    +

    ${transaction.amount >= 0 ? '+' : '-'}$ ${formatNumber( + Math.abs(transaction.amount), + )}

    +
    + `; + + listMarkup.push(markup); + }); + + return listMarkup.join('\n'); + }; + + return ` +
    +
    +
    +
    + Transportation icon category +
    +
    +

    + ${transactionDetail.categoryName} +

    +

    ${ + transactionDetail.totalTransaction + } Transactions

    +
    +
    +

    ${ + transactionDetail.totalAmount >= 0 ? '+' : '-' + }$ ${formatNumber(Math.abs(transactionDetail.totalAmount))}

    +
    +
    + + ${itemTransaction()} +
    + `; + } + + // eslint-disable-next-line class-methods-use-this + addEventTransactionItem() { + const transactionItemEl = document.querySelectorAll('.transaction__item'); + + if (transactionItemEl) { + transactionItemEl.forEach((item) => { + item.addEventListener('click', (e) => { + const transactionTime = (e.target).closest( + '.transaction__time', + ); + const categoryNameEl: HTMLInputElement = item.querySelector( + '.transaction__category-name', + )!; + + if (transactionTime) { + const idTransaction = (transactionTime).dataset.id!; + + // If it is income transaction, don't show dialog + if ( + categoryNameEl.textContent && + categoryNameEl.textContent.trim() !== 'Income' + ) + this.transactionView.showTransactionDialog(idTransaction); + } + }); + }); + } + } +} diff --git a/src/ts/views/home/transactionView.ts b/src/ts/views/home/transactionView.ts new file mode 100644 index 0000000..4b55389 --- /dev/null +++ b/src/ts/views/home/transactionView.ts @@ -0,0 +1,375 @@ +import Transaction from 'models/transaction'; +import defaultCategoryIcon from '../../../assets/images/question-icon.svg'; +import CategoryView from './categoryView'; +import EventDataTrigger from 'helpers/evDataTrigger'; +import { + Data, + ITransactionViewFunc, + Nullable, + PromiseVoid, + TError, + VoidFunc, +} from 'global/types'; +import Wallet from 'models/wallet'; +import Category from 'models/category'; +import { TOAST } from 'constants/messages'; +import { renderRequiredText } from 'helpers/validatorForm'; + +export default class TransactionView { + wallet: Nullable = null; + + listTransactions: Transaction[] = []; + + listCategories: Category[] = []; + + categoryView: CategoryView; + + addTransactionBtn: Nullable = null; + + transactionDialog: Nullable = null; + + transactionForm: Nullable = null; + + toggleLoaderSpinner: Nullable = null; + + deleteTransaction: Nullable<(idTransaction: string) => Promise> = null; + + loadTransactionData: Nullable = null; + + updateAmountWallet: Nullable = null; + + loadData: Nullable = null; + + showSuccessToast: ((title: string, message: string) => void) | null = null; + + showErrorToast: ((error: TError) => void) | null = null; + + saveTransaction: Nullable<(transaction: Transaction) => Promise> = null; + + evDataTrigger: EventDataTrigger | null = null; + + constructor(categoryView: CategoryView) { + this.addTransactionBtn = document.getElementById('addTransaction'); + this.transactionDialog = document.getElementById( + 'transactionDialog', + ) as HTMLDialogElement; + this.transactionForm = ( + document.getElementById('formAddTransaction') + ); + + this.handlerEventTransactionDialog(); + + this.categoryView = categoryView; + } + + initFunction(func: ITransactionViewFunc) { + this.toggleLoaderSpinner = func.toggleLoaderSpinner; + this.deleteTransaction = func.deleteTransaction; + this.loadTransactionData = func.loadTransactionData; + this.updateAmountWallet = func.updateAmountWallet; + this.loadData = func.loadData; + this.showSuccessToast = func.showSuccessToast; + this.showErrorToast = func.showErrorToast; + this.saveTransaction = func.saveTransaction; + + this.evDataTrigger = EventDataTrigger.Instance; + } + + subscribe() { + this.evDataTrigger!.create('transactionView', this.updateData.bind(this)); + } + + sendData() { + const data: Data = { + wallet: this.wallet!, + listTransactions: this.listTransactions!, + }; + + this.evDataTrigger!.onSendSignal('transactionView', data); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.listTransactions) this.listTransactions = data.listTransactions; + + if (data.listCategories) this.listCategories = data.listCategories; + } + + handlerEventTransactionDialog() { + this.transactionDialog!.addEventListener('submit', (e) => { + e.preventDefault(); + this.clearErrorTransactionDialog(); + this.submitTransactionDialog(); + }); + + this.transactionDialog!.addEventListener('input', () => { + this.changeBtnStyleTransactionDialog(); + this.clearErrorTransactionDialog(); + }); + + // Add delete transaction event + this.deleteTransactionEvent(); + + this.addTransactionBtn!.addEventListener('click', () => { + this.showTransactionDialog(); + }); + + this.handlerCategoryFieldEvent(); + } + + handlerCategoryFieldEvent() { + const categoryField = this.transactionForm!.querySelector( + "[name='category_name']", + ); + + categoryField!.addEventListener('click', () => { + this.clearErrorTransactionDialog(); + }); + } + + clearErrorTransactionDialog() { + // Clear error style + const inputFieldEls = + this.transactionDialog!.querySelectorAll('.form__input-field'); + const errorTextEls = + this.transactionDialog!.querySelectorAll('.error-text'); + + inputFieldEls.forEach((item) => { + if (item.classList.contains('error-input')) + item.classList.remove('error-input'); + }); + errorTextEls.forEach((item) => { + if (item) item.remove(); + }); + } + + deleteTransactionEvent() { + const deleteTransactionBtn = this.transactionDialog!.querySelector( + '.form__delete-btn', + ) as Element; + + deleteTransactionBtn.addEventListener('click', async () => { + const idEl = this.transactionDialog!.querySelector( + "[name='id_transaction']", + ) as HTMLDataElement; + + if (idEl.value) { + try { + this.transactionDialog!.close(); + this.toggleLoaderSpinner!(); + + await this.deleteTransaction!(idEl.value); + + // Reload data + await this.loadTransactionData!(); + await this.updateAmountWallet!(); + await this.loadData!(); + + this.showSuccessToast!('Delete success!', TOAST.DEFAULT_MESSAGE); + } catch (error) { + this.showErrorToast!(error as TError); + } + this.toggleLoaderSpinner!(); + } + }); + } + + changeBtnStyleTransactionDialog() { + const dateInput = (( + this.transactionDialog!.querySelector("[name='selected_date']") + )).value; + const categoryName = (( + this.transactionDialog!.querySelector("[name='category_name']") + )).value; + const amountInput = +(( + this.transactionDialog!.querySelector("[name='amount']") + )).value; + const saveBtn = this.transactionDialog!.querySelector('.form__save-btn')!; + + saveBtn.classList.toggle( + 'active', + (dateInput && categoryName && amountInput >= 1), + ); + } + + initValueTransactionDialog(idTransaction: string | null) { + let categoryName: string; + + if (idTransaction) { + // Get transaction object + const transactionArr = this.listTransactions.filter( + (obj) => obj.id === idTransaction, + ); + const transaction = Object.assign({}, ...transactionArr); + // Get category object + const categoryArr = this.listCategories.filter( + (obj) => obj.name === transaction.categoryName, + ); + const category = Object.assign({}, ...categoryArr); + + const idEl = ( + this.transactionDialog!.querySelector("[name='id_transaction']") + ); + const dateEl = ( + this.transactionDialog!.querySelector("[name='selected_date']"!) + ); + const categoryEl = ( + this.transactionDialog!.querySelector("[name='category_name']") + ); + const amountEl = ( + this.transactionDialog!.querySelector("[name='amount']") + ); + const noteEl = ( + this.transactionDialog!.querySelector("[name='note']") + ); + const iconEl = ( + this.transactionDialog!.querySelector('.category-icon') + ); + + idEl.value = transaction.id; + dateEl.value = transaction.date; + categoryEl.value = transaction.categoryName; + amountEl.value = Math.abs(transaction.amount).toString(); + noteEl.value = transaction.note; + iconEl.src = category.url; + + categoryName = categoryEl.value; + } + + // Show delete button only if it is a edit form and not a income transaction + const deleteBtn = + this.transactionDialog!.querySelector('.form__delete-btn')!; + const showDeleteBtn = () => { + return idTransaction && categoryName !== 'Income'; + }; + + deleteBtn.classList.toggle('hide', !showDeleteBtn()); + } + + async submitTransactionDialog(): Promise { + try { + const dateEl = ( + this.transactionForm!.querySelector("[name='selected_date']") + ); + const categoryNameEl = ( + this.transactionForm!.querySelector("[name='category_name']") + ); + const amountEl = ( + this.transactionForm!.querySelector("[name='amount']") + ); + const noteEl = ( + this.transactionForm!.querySelector("[name='note']") + ); + const idEl = ( + this.transactionForm!.querySelector("[name='id_transaction']") + ); + const amount = + categoryNameEl.value === 'Income' ? +amountEl.value : -+amountEl.value; // Check if this is a income transaction, amount must plus + + // Validate data user input + if ( + this.validateTransactionForm(dateEl.value, categoryNameEl.value, amount) + ) { + this.toggleLoaderSpinner!(); + this.transactionDialog!.close(); + + const transaction = new Transaction( + idEl.value, + categoryNameEl.value, + dateEl.value, + noteEl.value, + +amount, + this.wallet!.idUser, + ); + + await this.saveTransaction!(transaction); + + // Reload data + await this.loadTransactionData!(); + await this.updateAmountWallet!(); + await this.loadData!(); + + if (!idEl.value) { + // Add success + this.showSuccessToast!( + TOAST.ADD_TRANSACTION_SUCCESS, + TOAST.DEFAULT_MESSAGE, + ); + } else { + // Update success + this.showSuccessToast!( + TOAST.UPDATE_TRANSACTION_SUCCESS, + TOAST.DEFAULT_MESSAGE, + ); + } + + this.toggleLoaderSpinner!(); + this.clearInputTransactionForm(); + } + } catch (error) { + this.showErrorToast!(error as TError); + this.toggleLoaderSpinner!(); + } + } + + validateTransactionForm( + date: string, + categoryName: string, + amount: number, + ): boolean { + const inputFieldEls = + this.transactionDialog!.querySelectorAll('.form__input-field'); + + if (!date || !categoryName || !amount) { + if (!date) { + renderRequiredText('date', inputFieldEls[0]); + inputFieldEls[0].classList.add('error-input'); + } + + if (!categoryName) { + renderRequiredText('category', inputFieldEls[1]); + inputFieldEls[1].classList.add('error-input'); + } + + if (!amount) { + renderRequiredText('amount', inputFieldEls[2]); + inputFieldEls[2].classList.add('error-input'); + } + + return false; + } + + return true; + } + + clearInputTransactionForm() { + const categoryIcon = ( + this.transactionForm!.querySelector('.category-icon') + ); + + categoryIcon.src = defaultCategoryIcon; + const keySearchCategory: string = ''; // Delete keyword search + this.categoryView.renderCategoryList( + keySearchCategory, + this.listCategories, + ); + this.transactionForm!.reset(); + } + + showTransactionDialog(idTransaction: string | null = null) { + this.clearInputTransactionForm(); + + // Init data transaction to dialog + this.initValueTransactionDialog(idTransaction); + + if (!idTransaction) + (( + this.transactionDialog!.querySelector("[name='selected_date']") + )).valueAsDate = new Date(); // Set default value for date input + + // Change style submit btn + this.changeBtnStyleTransactionDialog(); + this.transactionDialog!.showModal(); + } +} diff --git a/src/ts/views/home/walletView.ts b/src/ts/views/home/walletView.ts new file mode 100644 index 0000000..8954740 --- /dev/null +++ b/src/ts/views/home/walletView.ts @@ -0,0 +1,198 @@ +import Transaction from '../../models/transaction'; +import Wallet from '../../models/wallet'; +import { renderRequiredText } from '../../helpers/validatorForm'; +import EventDataTrigger from 'helpers/evDataTrigger'; +import { + Data, + IWalletViewFunc, + Nullable, + PromiseVoid, + TError, + VoidFunc, +} from 'global/types'; +import User from 'models/user'; +import { FIRST_ADD_WALLET_NOTE } from 'constants/defaultVariable'; +import { TOAST } from 'constants/messages'; + +export default class WalletView { + walletDialog: Nullable = null; + + evDataTrigger: Nullable = null; + + toggleLoaderSpinner: Nullable = null; + + saveWallet: Nullable<(wallet: Wallet) => Promise> = null; + + saveTransaction: Nullable<(transaction: Transaction) => Promise> = null; + + loadTransactionData: Nullable = null; + + loadData: Nullable = null; + + loadEvent: Nullable = null; + + showSuccessToast: ((title: string, message: string) => void) | null = null; + + showErrorToast: ((error: TError) => void) | null = null; + + user: User | null = null; + + wallet: Wallet | null = null; + + constructor() { + this.walletDialog = document.getElementById( + 'walletDialog', + ) as HTMLDialogElement; + + this.addHandlerEventWalletForm(); + } + + initFunction(func: IWalletViewFunc) { + this.toggleLoaderSpinner = func.toggleLoaderSpinner; + this.saveWallet = func.saveWallet; + this.saveTransaction = func.saveTransaction; + this.loadTransactionData = func.loadTransactionData; + this.loadData = func.loadData; + this.loadEvent = func.loadEvent; + this.showSuccessToast = func.showSuccessToast; + this.showErrorToast = func.showErrorToast; + + this.evDataTrigger = EventDataTrigger.Instance; + } + + subscribe() { + this.evDataTrigger!.create('walletView', this.updateData.bind(this)); + } + + sendData() { + const data = { + wallet: this.wallet!, + user: this.user!, + }; + + this.evDataTrigger!.onSendSignal('walletView', data); + } + + updateData(data: Data) { + if (data.wallet) this.wallet = data.wallet; + + if (data.user) this.user = data.user; + } + + showDialog() { + this.walletDialog!.showModal(); + } + + addHandlerEventWalletForm() { + this.walletDialog!.addEventListener('submit', (e) => { + e.preventDefault(); + + this.clearErrorStyleWalletDialog(); + this.submitWalletForm(); + }); + + this.walletDialog!.addEventListener('input', (e) => { + const bodyDialog = (e.target!).closest('.dialog__body'); + + this.changeBtnStyleWalletDialog(bodyDialog!); + this.clearErrorStyleWalletDialog(); + }); + } + + clearErrorStyleWalletDialog() { + const inputFieldEls = + this.walletDialog!.querySelectorAll('.form__input-field'); + const errorTextEls = this.walletDialog!.querySelectorAll('.error-text'); + + inputFieldEls.forEach((item) => { + if (item.classList.contains('error-input')) + item.classList.remove('error-input'); + }); + + errorTextEls.forEach((item) => { + if (item) item.remove(); + }); + } + + async submitWalletForm(): Promise { + try { + // Wallet info + const form = document.getElementById('walletForm') as HTMLFormElement; + const walletForm = new FormData(form); + const walletName = walletForm.get('walletName') as string; + const amount = walletForm.get('amount') as string; + + if (this.validateWalletDialog(walletName, +amount)) { + this.walletDialog!.close(); + this.toggleLoaderSpinner!(); + + const wallet = new Wallet('', walletName, +amount, 0, this.user!.id); + this.wallet = wallet; + + this.sendData(); + + await this.saveWallet!(wallet); + // Transaction info + const transaction = new Transaction( + '', + 'Income', + new Date().toISOString().slice(0, 10), + FIRST_ADD_WALLET_NOTE, + +amount, + this.user!.id, + ); + + await this.saveTransaction!(transaction); + // Load data and event + await this.loadTransactionData!(); + await this.loadData!(); + this.loadEvent!(); + + this.showSuccessToast!(TOAST.ADD_WALLET_SUCCESS, TOAST.DEFAULT_MESSAGE); + + this.toggleLoaderSpinner!(); + } + } catch (error) { + // Show toast error + this.showErrorToast!(error as TError); + this.toggleLoaderSpinner!(); + } + } + + validateWalletDialog(walletName: string, amount: number): boolean { + const inputFieldEls = + this.walletDialog!.querySelectorAll('.form__input-field'); + + if (!walletName || !amount) { + if (!walletName) { + renderRequiredText('wallet name', inputFieldEls[0]); + inputFieldEls[0].classList.add('error-input'); + } + + if (!amount) { + renderRequiredText('amount', inputFieldEls[2]); + inputFieldEls[2].classList.add('error-input'); + } + + return false; + } + + return true; + } + + changeBtnStyleWalletDialog(bodyDialog: Element) { + const walletName = (( + bodyDialog.querySelector('.form__input-text') + ))!.value; + const amount = +(( + bodyDialog.querySelector('.form__input-balance')! + )).value; + const saveBtn = bodyDialog.querySelector('.form__save-btn'); + + if (walletName.length >= 3 && amount >= 1) { + saveBtn!.classList.add('active'); + } else { + saveBtn!.classList.remove('active'); + } + } +} diff --git a/src/ts/views/index.ts b/src/ts/views/index.ts new file mode 100644 index 0000000..af1b6a4 --- /dev/null +++ b/src/ts/views/index.ts @@ -0,0 +1,28 @@ +import { getSubdirectoryURL } from 'helpers/url'; +import LoginView from './loginView'; +import RegisterView from './registerView'; +import { URL } from 'constants/config'; +import HomeView from './home/homeView'; +import { Nullable } from 'global/types'; + +export default class View { + public registerView: Nullable = null; + + public loginView: Nullable = null; + + public homeView: Nullable = null; + + constructor() { + switch (getSubdirectoryURL()) { + case URL.LOGIN: + this.loginView = new LoginView(); + break; + case URL.REGISTER: + this.registerView = new RegisterView(); + break; + case URL.HOME: + this.homeView = new HomeView(); + default: + } + } +} diff --git a/src/ts/views/loginView.ts b/src/ts/views/loginView.ts new file mode 100644 index 0000000..e581b55 --- /dev/null +++ b/src/ts/views/loginView.ts @@ -0,0 +1,129 @@ +import AuthenticationView from './authenticationView'; +import { TypeToast, BTN_CONTENT } from '../constants/config'; +import User from 'models/user'; +import { TOAST, VALIDATE_FORM } from 'constants/messages'; +import { CustomError, Nullable, PromiseOrNull, TError } from 'global/types'; +import { redirectToLoginPage } from 'helpers/url'; + +export default class LoginView extends AuthenticationView { + constructor() { + super(); + + this.initToast(); + this.initLoader(); + this.handleEventToast(); + } + + async loadPage(getInfoUserLogin: PromiseOrNull) { + this.toggleLoaderSpinner(); + const user = await getInfoUserLogin(); + if (user) { + window.location.replace('/'); + } + this.toggleLoaderSpinner(); + } + + /** + * Implement error toast in site + * @param {string} content The content will show in error toast + */ + initErrorToast(error: TError) { + const title = + typeof error === 'object' && error.title + ? error.title + : TOAST.DEFAULT_TITLE_ERROR_TOAST; + + const content = + typeof error === 'object' && error.message + ? error.message + : (error as string); + + this.initToastContent(TypeToast.error, title, content, BTN_CONTENT.OK); + + if (this.toastDialog && this.toastBtn) { + // Show toast + this.toastDialog.showModal(); + + // Remove event for toast button + this.toastBtn.removeEventListener('click', redirectToLoginPage); + } + } + + /** + * Add event listener for form input + * @param {Function} validateUser The function need to be set event + */ + addHandlerForm( + loginUser: (email: string, password: string) => Promise, + ) { + if (this.formEl) + this.formEl.addEventListener('submit', (e: Event) => { + e.preventDefault(); + this.clearErrorMessage(); + this.submitForm(loginUser, e); + }); + } + + /** + * The action when submit form + * @param {Function} loginUser The function need to be set event + * * @param {event} event The event target + */ + async submitForm( + loginUser: (email: string, password: string) => Promise, + event: Event, + ) { + try { + // Load spinner + this.toggleLoaderSpinner(); + // Get data from form + const userInput = this.validateForm(event); + if (userInput) { + // Check user exist + const results = await loginUser(userInput.email, userInput.password); + if (results) { + window.location.replace('/'); + return; + } + throw new CustomError( + VALIDATE_FORM.ERROR_CREDENTIAL.title, + VALIDATE_FORM.ERROR_CREDENTIAL.message, + ); + } + } catch (error) { + // Show toast error + this.initErrorToast(error as TError); + } + // Close spinner + this.toggleLoaderSpinner(); + } + + /** + * Get data from user input + * @returns {Object || null} Return object or null + */ + validateForm(event: Event): Nullable { + if (event.target) { + const formData = new FormData(event.target as HTMLFormElement); + const email = formData.get('email') as string; + const password = formData.get('password') as string; + + // Validate user input + this.listError = []; // Reset list error + const emailValid = this.validateEmail(email); + const passwordValid = this.validatePassword(password); + + // Show error style + if (this.emailEl && this.inputPasswordEl) { + this.emailEl.classList.toggle('error-input', !emailValid); + this.inputPasswordEl.classList.toggle('error-input', !passwordValid); + if (emailValid && passwordValid) { + return new User('', email, password); + } + } + } + + this.showError(this.listError); + return null; + } +} diff --git a/src/ts/views/registerView.ts b/src/ts/views/registerView.ts new file mode 100644 index 0000000..3cda090 --- /dev/null +++ b/src/ts/views/registerView.ts @@ -0,0 +1,188 @@ +import { TypeToast, BTN_CONTENT } from '../constants/config'; +import AuthenticationView from './authenticationView'; +import User from '../models/user'; +import { redirectToLoginPage } from '../helpers/url'; +import { TOAST } from 'constants/messages'; +import { Nullable, PromiseOrNull, TError } from 'global/types'; + +interface UserInput { + email: string; + password: string; + passwordConfirm: string; +} + +export default class RegisterView extends AuthenticationView { + constructor() { + super(); + + this.initToast(); + this.initLoader(); + this.handleEventToast(); + + this.toastBtn = document.querySelector('.toast__redirect-btn'); + } + + async loadPage(getInfoUserLogin: PromiseOrNull) { + this.toggleLoaderSpinner(); + + const user = await getInfoUserLogin(); + + if (user) { + window.location.replace('/'); + } + + this.toggleLoaderSpinner(); + } + + /** + * Get data from user input + * @returns {Object || null} Return object or null + */ + getUserFromForm(): Nullable { + const form = document.getElementById('registerForm') as HTMLFormElement; + const formData = new FormData(form); + const email = formData.get('email') as string; + const password = formData.get('password') as string; + const passwordConfirm = formData.get('password_confirm') as string; + + const userInput: UserInput = { + email, + password, + passwordConfirm, + }; + + const result = this.validateForm(userInput); + + if (result) { + return new User('', email, password); + } + + return null; + } + + validateForm(userInput: UserInput): boolean { + // Validate user input + this.listError = []; // Reset list error + const emailValid = this.validateEmail(userInput.email); + const passwordValid = this.validatePassword(userInput.password); + const passwordConfirmValid = this.validatePasswordConfirm( + userInput.password, + userInput.passwordConfirm, + ); + + // Show error style + if (this.emailEl && this.inputPasswordEl && this.inputPasswordConfirmEl) { + this.emailEl.classList.toggle('error-input', !emailValid); + this.inputPasswordEl.classList.toggle('error-input', !passwordValid); + this.inputPasswordConfirmEl.classList.toggle( + 'error-input', + !passwordConfirmValid, + ); + } + + this.showError(this.listError); + + return emailValid && passwordValid && passwordConfirmValid; + } + + /** + * Implement register success toast in site + */ + showRegisterSuccessToast() { + const typeToast = TypeToast.success; + const title = TOAST.REGISTER_SUCCESS; + const content = TOAST.DEFAULT_MESSAGE; + const btnContent = BTN_CONTENT.OK; + + this.initToastContent(typeToast, title, content, btnContent); + + // Show toast + if (this.toastDialog) this.toastDialog.showModal(); + + // Add event for toast button + if (this.toastBtn) + this.toastBtn.addEventListener('click', redirectToLoginPage); + } + + /** + * Implement error toast in site + * @param {string} content The content will show in error toast + */ + initErrorToast(error: TError) { + const title = + typeof error === 'object' && error.title + ? error.title + : TOAST.DEFAULT_TITLE_ERROR_TOAST; + + const content = + typeof error === 'object' && error.message + ? error.message + : (error as string); + + this.initToastContent(TypeToast.error, title, content, BTN_CONTENT.OK); + + if (this.toastDialog && this.toastBtn) { + // Show toast + this.toastDialog.showModal(); + + // Remove event for toast button + this.toastBtn.removeEventListener('click', redirectToLoginPage); + } + } + + /** + * Add event listener for form input + * @param {Function} handler The function need to be set event + */ + addHandlerForm( + checkExistUser: (email: string) => Promise, + saveUser: (user: User) => Promise, + ) { + if (this.formEl) { + this.formEl.addEventListener('submit', async (e) => { + e.preventDefault(); + this.clearErrorMessage(); + await this.submitForm(checkExistUser, saveUser); + }); + } + } + + async submitForm( + checkExistUser: (email: string) => Promise, + saveUser: (user: User) => Promise, + ): Promise { + try { + // Load spinner + this.toggleLoaderSpinner(); + + // Get validate form + const user = this.getUserFromForm(); + + // Save user + if (user) { + // Check user exist + const userExist = await checkExistUser(user.email); + if (userExist) { + throw Error(TOAST.USER_EXIST_ERROR); + } else { + await saveUser(user); + // Show toast success + this.showRegisterSuccessToast(); + + // Clear form + const formEl = document.getElementById( + 'registerForm', + ) as HTMLFormElement; + + if (formEl) formEl.reset(); + } + } + } catch (error) { + // Show toast error + this.initErrorToast(error as TError); + } + + // Close spinner + this.toggleLoaderSpinner(); + } +} diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 0000000..c8722d7 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["./**/*.ts", "./**/*.js", "./.*.js"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f6aca66 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + /* Language and Environment */ + "target": "ES2015" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "lib": [ + "dom", + "ES2017", + "dom.iterable", + "scripthost" + ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, + "baseUrl": "./", + "paths": { + "*": ["./src/ts/*"] + }, + "experimentalDecorators": true /* Enable experimental support for legacy experimental decorators. */, + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + "rootDir": "./src" /* Specify the root folder within your source files. */, + "sourceMap": true /* Create source map files for emitted JavaScript files. */, + "removeComments": true /* Disable emitting comments. */, + "noEmitOnError": true /* Disable emitting files if any type checking errors are reported. */, + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + "noUnusedLocals": true /* Enable error reporting when local variables aren't read. */, + "noUnusedParameters": true /* Raise an error when a function parameter isn't read. */, + "noImplicitReturns": true /* Enable error reporting for codepaths that do not explicitly return in a function. */, + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..bd6fd8f --- /dev/null +++ b/vercel.json @@ -0,0 +1,3 @@ +{ + "cleanUrls": true +}