diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e305237..36f04cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,3 +14,8 @@ - 🚧工作中(勿动) ...... ``` +## [V 1.0.0] - 2023.4.20 +### console-ui +- 🧹重构: 重构console-ui,使用vue3.0,vite,typescript进行重构 + + diff --git a/console-ui/.browserslistrc b/console-ui/.browserslistrc new file mode 100644 index 0000000..dc3bc09 --- /dev/null +++ b/console-ui/.browserslistrc @@ -0,0 +1,4 @@ +> 1% +last 2 versions +not dead +not ie 11 diff --git a/console-ui/.editorconfig b/console-ui/.editorconfig new file mode 100644 index 0000000..7053c49 --- /dev/null +++ b/console-ui/.editorconfig @@ -0,0 +1,5 @@ +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/console-ui/.env.dev b/console-ui/.env.dev new file mode 100644 index 0000000..41fe281 --- /dev/null +++ b/console-ui/.env.dev @@ -0,0 +1,10 @@ + + +# Firebase 🔥 +VITE_FIREBASE_API_KEY= +VITE_FIREBASE_AUTH_DOMAIN= +VITE_FIREBASE_PROJECT_ID= +VITE_FIREBASE_STORAGE_BUCKET= +VITE_FIREBASE_MESSAGING_SENDER_ID= +VITE_FIREBASE_APP_ID= +VITE_FIREBASE_MEASUREMENT_ID= \ No newline at end of file diff --git a/console-ui/.env.pro b/console-ui/.env.pro new file mode 100644 index 0000000..4c54fb0 --- /dev/null +++ b/console-ui/.env.pro @@ -0,0 +1 @@ +VITE_API_BASE_URL=https://api.example.com diff --git a/console-ui/.env.template b/console-ui/.env.template new file mode 100644 index 0000000..a604b2c --- /dev/null +++ b/console-ui/.env.template @@ -0,0 +1,3 @@ +VITE_OPENAI_API_KEY = XXXXXXXXXXXX +VITE_UNSPLASH_ACCESS_KEY = XXXXXXXXXXXX +VITE_GITHUB_CLIENT_ID = XXXXXXXXXXXX \ No newline at end of file diff --git a/console-ui/.gitattributes b/console-ui/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/console-ui/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/console-ui/.gitignore b/console-ui/.gitignore index 403adbc..172bdeb 100644 --- a/console-ui/.gitignore +++ b/console-ui/.gitignore @@ -1,9 +1,11 @@ .DS_Store node_modules /dist +/.vite_cache # local env files +.env .env.local .env.*.local @@ -21,3 +23,7 @@ pnpm-debug.log* *.njsproj *.sln *.sw? + +# Local Netlify folder +.netlify +.env diff --git a/console-ui/LICENSE b/console-ui/LICENSE new file mode 100644 index 0000000..bb0f0da --- /dev/null +++ b/console-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 jk.yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/console-ui/README.jp.md b/console-ui/README.jp.md new file mode 100644 index 0000000..d48ea29 --- /dev/null +++ b/console-ui/README.jp.md @@ -0,0 +1,120 @@ +

+ +

+ Vuetify3 +

+

+ +

+ + vue + + + element-ui + + + element-ui + + + + license + +

+ +

+ライブ・デモ +

+ +
+ +

+English | 简体中文| 日本語 +

+ +## 序文 + +> 目標は、最も優れた Vuetify 3 の Admin オープンソーステンプレートを作成することです。 + +Vuetify の洗練されたテーマを基盤に、明確で効率的なプロジェクト構造を構築し、最新の技術フレームワークを統合しています。このプロジェクトは、さまざまな一般的な技術要件や機能に対応することを目指し、AI アシスタントを組み込むことで、よりインテリジェントな体験を提供します。さらに、すべてのページが複数のデバイスで適応的に表示されるようにし、シームレスなクロスプラットフォーム互換性を実現しています。 + +## 特徴 + +- 📖 [Vue 3.2](https://github.com/vuejs/core) +- 📖 [Vite 4.x](https://github.com/vitejs/vite) +- 📖 UI Framework [Vuetify 3](https://next.vuetifyjs.com/en/) +- 📖 TypeScript +- 📦 Component Auto Importing +- 🍍 [Pinia](https://pinia.vuejs.org/) +- 📔 ` + Vuetify-Lux + + + + +
+ + + diff --git a/console-ui/jsconfig.json b/console-ui/jsconfig.json deleted file mode 100644 index 4aafc5f..0000000 --- a/console-ui/jsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "esnext", - "baseUrl": "./", - "moduleResolution": "node", - "paths": { - "@/*": [ - "src/*" - ] - }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] - } -} diff --git a/console-ui/package-lock.json b/console-ui/package-lock.json new file mode 100644 index 0000000..a727a62 --- /dev/null +++ b/console-ui/package-lock.json @@ -0,0 +1,4615 @@ +{ + "name": "vuetify3-design", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@antfu/utils": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", + "dev": true + }, + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@ctrl/tinycolor": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", + "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==" + }, + "@element-plus/icons-vue": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz", + "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==" + }, + "@esbuild/android-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", + "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", + "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", + "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", + "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", + "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", + "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", + "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", + "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", + "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", + "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", + "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", + "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", + "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", + "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", + "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", + "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", + "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", + "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", + "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", + "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", + "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "dev": true, + "optional": true + }, + "@faker-js/faker": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz", + "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==", + "dev": true + }, + "@firebase/analytics": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.9.5.tgz", + "integrity": "sha512-hJTVs2jLxPXE7hs7D/jaEsgGivrm7tSEl65kb5NkDBWV7QQBUnRfVML/xra9nTFLLJhAdbExZPHg6HfIuMSYEQ==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-compat": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.5.tgz", + "integrity": "sha512-ohKUrwSoXvyUJdSLuDr82mOqrzgWKyHMUt9/TfYKkyDXnFjNlBcFBpkpl/UHMAOJe0M60YYXiVCZoGQYldCslA==", + "requires": { + "@firebase/analytics": "0.9.5", + "@firebase/analytics-types": "0.8.0", + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==" + }, + "@firebase/app": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.7.tgz", + "integrity": "sha512-ADnRXaW4XQF11QYYhZQEJEtOGnmLkGl2FCixCxPighLrmJmGwCZrzSFtwITd8w/EU3dRYaU5Og37VfnY+gKxGw==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.6.4.tgz", + "integrity": "sha512-M9qyVTWkEkHXmgwGtObvXQqKcOe9iKAOPqm0pCe74mzgKVTNq157ff39+fxHPb4nFbipToY+GuvtabLUzkHehQ==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-compat": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.4.tgz", + "integrity": "sha512-s6ON0ixPKe99M1DNYMI2eR5aLwQZgy0z8fuW1tnEbzg5p/N/GKFmqiIHSV4gfp8+X7Fw5NLm7qMfh4xrcPgQCw==", + "requires": { + "@firebase/app-check": "0.6.4", + "@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" + } + }, + "@firebase/app-check-interop-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.2.0.tgz", + "integrity": "sha512-+3PQIeX6/eiVK+x/yg8r6xTNR97fN7MahFDm+jiQmDjcyvSefoGuTTNQuuMScGyx3vYUBeZn+Cp9kC0yY/9uxQ==" + }, + "@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==" + }, + "@firebase/app-compat": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.7.tgz", + "integrity": "sha512-KYBUKoRrvSGW8jqKgARRsma0lJie9M0zyWhPF3PNjqc9pYsw7SZXp5s5SzsheeCXzIDFydP5uEA4f1Z87D7CxQ==", + "requires": { + "@firebase/app": "0.9.7", + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==" + }, + "@firebase/auth": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.22.0.tgz", + "integrity": "sha512-4PiaDJEhJ7FNo48WG0TAlqHiCuRBXxUow2q+0emh+PhmM0cLT1UdqK1EuWWGc5CY+ztNQZUh+Yzeh+nv9tZL0w==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "@firebase/auth-compat": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.3.7.tgz", + "integrity": "sha512-+r8/++hYZLA/to6Iq8A70LTUsZvhkdT2R4mB4oJGxryJ7vNjpuP5m5hfAd42h/VvX8eT1OXJCENCfEZoDyhksA==", + "requires": { + "@firebase/auth": "0.22.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" + } + }, + "@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==" + }, + "@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==" + }, + "@firebase/component": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz", + "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==", + "requires": { + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@firebase/database": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.14.4.tgz", + "integrity": "sha512-+Ea/IKGwh42jwdjCyzTmeZeLM3oy1h0mFPsTy6OqCWzcu/KFqRAr5Tt1HRCOBlNOdbh84JPZC47WLU18n2VbxQ==", + "requires": { + "@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" + } + }, + "@firebase/database-compat": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.3.4.tgz", + "integrity": "sha512-kuAW+l+sLMUKBThnvxvUZ+Q1ZrF/vFJ58iUY9kAcbX48U03nVzIF6Tmkf0p3WVQwMqiXguSgtOPIB6ZCeF+5Gg==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/database": "0.14.4", + "@firebase/database-types": "0.10.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@firebase/database-types": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.10.4.tgz", + "integrity": "sha512-dPySn0vJ/89ZeBac70T+2tWWPiJXWbmRygYv0smT5TfE3hDrQ09eKMF3Y+vMlTdrMWq7mUdYW5REWPSGH4kAZQ==", + "requires": { + "@firebase/app-types": "0.9.0", + "@firebase/util": "1.9.3" + } + }, + "@firebase/firestore": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.10.0.tgz", + "integrity": "sha512-St6yy2r7zYxJiAEiI19aQJqxVV8LDvlmeK52R9KMn2nZsgdDVOurch1cH7bBl0OxEgfiVxBmAQJLYvZc+qwAgw==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "@firebase/webchannel-wrapper": "0.9.0", + "@grpc/grpc-js": "~1.7.0", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-compat": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.6.tgz", + "integrity": "sha512-svS8oV0nwTyoHW5mslFV0gRb3FLpRQGjz2F7nc5imnPUTjSJmAfXECtgs5HG5MSJM/laSimfAeGuQVh5FM1AEw==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/firestore": "3.10.0", + "@firebase/firestore-types": "2.5.1", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-types": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.1.tgz", + "integrity": "sha512-xG0CA6EMfYo8YeUxC8FeDzf6W3FX1cLlcAGBYV6Cku12sZRI81oWcu61RSKM66K6kUENP+78Qm8mvroBcm1whw==" + }, + "@firebase/functions": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.9.4.tgz", + "integrity": "sha512-3H2qh6U+q+nepO5Hds+Ddl6J0pS+zisuBLqqQMRBHv9XpWfu0PnDHklNmE8rZ+ccTEXvBj6zjkPfdxt6NisvlQ==", + "requires": { + "@firebase/app-check-interop-types": "0.2.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" + } + }, + "@firebase/functions-compat": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.4.tgz", + "integrity": "sha512-kxVxTGyLV1MBR3sp3mI+eQ6JBqz0G5bk310F8eX4HzDFk4xjk5xY0KdHktMH+edM2xs1BOg0vwvvsAHczIjB+w==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/functions": "0.9.4", + "@firebase/functions-types": "0.6.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==" + }, + "@firebase/installations": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz", + "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@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==" + }, + "@firebase/logger": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz", + "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/messaging": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz", + "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==", + "requires": { + "@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" + } + }, + "@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==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/messaging": "0.12.4", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==" + }, + "@firebase/performance": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz", + "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@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==" + }, + "@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==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/installations": "0.6.4", + "@firebase/logger": "0.4.0", + "@firebase/util": "1.9.3", + "tslib": "^2.1.0" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@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==" + }, + "@firebase/storage": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz", + "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==", + "requires": { + "@firebase/component": "0.6.4", + "@firebase/util": "1.9.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "@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==", + "requires": { + "@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" + } + }, + "@firebase/storage-types": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz", + "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==" + }, + "@firebase/util": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz", + "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/webchannel-wrapper": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.9.0.tgz", + "integrity": "sha512-BpiZLBWdLFw+qFel9p3Zs1jD6QmH7Ii4aTDu6+vx8ShdidChZUXqDhYJly4ZjSgQh54miXbBgBrk0S+jTIh/Qg==" + }, + "@floating-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" + }, + "@floating-ui/dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.0.tgz", + "integrity": "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==", + "requires": { + "@floating-ui/core": "^1.0.5" + } + }, + "@fortawesome/fontawesome-free": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.0.tgz", + "integrity": "sha512-0NyytTlPJwB/BF5LtRV8rrABDbe3TdTXqNB3PdZ+UUUZAEIrdOJdmABqKjt4AXwIoJNaRVVZEXxpNrqvE1GAYQ==", + "dev": true + }, + "@grpc/grpc-js": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz", + "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==", + "requires": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "dependencies": { + "@grpc/proto-loader": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.6.tgz", + "integrity": "sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + } + }, + "protobufjs": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", + "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", + "requires": { + "@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" + }, + "dependencies": { + "long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + } + } + } + } + }, + "@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + } + }, + "@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true + }, + "@iconify/vue": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-4.1.1.tgz", + "integrity": "sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==", + "dev": true, + "requires": { + "@iconify/types": "^2.0.0" + } + }, + "@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "requires": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + } + }, + "@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "requires": { + "@intlify/shared": "9.2.2" + } + }, + "@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "requires": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + } + }, + "@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" + }, + "@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@linaria/core": { + "version": "3.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@linaria/core/-/core-3.0.0-beta.13.tgz", + "integrity": "sha512-3zEi5plBCOsEzUneRVuQb+2SAx3qaC1dj0FfFAI6zIJQoDWu0dlSwKijMRack7oO9tUWrchfj3OkKQAd1LBdVg==" + }, + "@mdi/font": { + "version": "7.2.96", + "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.2.96.tgz", + "integrity": "sha512-e//lmkmpFUMZKhmCY9zdjRe4zNXfbOIJnn6xveHbaV2kSw5aJ5dLXUxcRt1Gxfi7ZYpFLUWlkG2MGSFAiqAu7w==" + }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, + "@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==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@remirror/core-constants": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-2.0.0.tgz", + "integrity": "sha512-vpePPMecHJllBqCWXl6+FIcZqS+tRUM2kSCCKFeEo1H3XUEv3ocijBIPhnlSAa7g6maX+12ATTgxrOsLpWVr2g==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@remirror/core-helpers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@remirror/core-helpers/-/core-helpers-2.0.1.tgz", + "integrity": "sha512-s8M1pn33aBUhduvD1QR02uUQMegnFkGaTr4c1iBzxTTyg0rbQstzuQ7Q8TkL6n64JtgCdJS9jLz2dONb2meBKQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@linaria/core": "3.0.0-beta.13", + "@remirror/core-constants": "^2.0.0", + "@remirror/types": "^1.0.0", + "@types/object.omit": "^3.0.0", + "@types/object.pick": "^1.3.1", + "@types/throttle-debounce": "^2.1.0", + "case-anything": "^2.1.10", + "dash-get": "^1.0.2", + "deepmerge": "^4.2.2", + "fast-deep-equal": "^3.1.3", + "make-error": "^1.3.6", + "object.omit": "^3.0.0", + "object.pick": "^1.3.0", + "throttle-debounce": "^3.0.1" + } + }, + "@remirror/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@remirror/types/-/types-1.0.0.tgz", + "integrity": "sha512-7HQbW7k8VxrAtfzs9FxwO6XSDabn8tSFDi1wwzShOnU+cvaYpfxu0ygyTk3TpXsag1hgFKY3ZIlAfB4WVz2LkQ==", + "requires": { + "type-fest": "^2.0.0" + } + }, + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@tiptap/core": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.2.tgz", + "integrity": "sha512-DBry6tpX7mYaTJkEDjVA4WmF8Kgthr275L0uIIOVdwW5nG5PAnOvREKyVOoMQnN3vR7CjtaCK+c3y+MCQhMA/g==" + }, + "@tiptap/extension-blockquote": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.2.tgz", + "integrity": "sha512-KY4PZtQRf06sC2B1nKkm1hI2y7XFWqqA2lAmWRu12m7Zofc9aabLipEY8yijY7se0QMc4kDTVWp8d2uvbhyDFA==" + }, + "@tiptap/extension-bold": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.2.tgz", + "integrity": "sha512-WRqc8WeKx3pmi0u0Svre5rhMeTT1c/Vch48BWTkUsmn2PAufg/mrmmR1fJ8Bp5soazEKknOT5LVe69OYKLfHIQ==" + }, + "@tiptap/extension-bubble-menu": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.2.tgz", + "integrity": "sha512-cZDAMnf1+E711zY9RApWFajNp+ScRdN3L9+k6XEUnmTHlfVIeE1jsPmpH3PIZpMUpAO4TQ76DvLfEb4hKSu3eQ==", + "requires": { + "tippy.js": "^6.3.7" + } + }, + "@tiptap/extension-bullet-list": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.2.tgz", + "integrity": "sha512-n6P4N+3dZqBnyxpc6pz4qYHLOYr2oy6+K662GKzNQqe1TFSVr9+Vc/JmXiVPgwERs6RW6/Kdo7/9s454eDTIzg==" + }, + "@tiptap/extension-code": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.0.2.tgz", + "integrity": "sha512-YG8BlqK50ZyYpBZ3KtO9/Ao+hQr3Z9wuW0fi7VIlwWferB20Px9WlBolAipRxfCh+oLmiacipHBIdGZGD+rC6A==" + }, + "@tiptap/extension-code-block": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.0.2.tgz", + "integrity": "sha512-GL8ogok1tl1FkXwk0P0ZWYh6oAmSA+R3oubtDZJG1fLlezKLcLYCN/Q2jgYDHDwEOnxMc4JIiT7EYwJ0pqmNaQ==" + }, + "@tiptap/extension-document": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.2.tgz", + "integrity": "sha512-rY87m1sezlD37v5hGndiA/B/3upR3hQurSEsWhWyQE/11lOshPQKCCHfDV6KLwKdjd8lfwfbXueH/SBFHtrYAQ==" + }, + "@tiptap/extension-dropcursor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.2.tgz", + "integrity": "sha512-jHBq5fAlgUeZBHPtdAeS40Xmx+2sUvzTnHonU6cDKOpD3+dzwNHEqVSk/9vcjEIcqeM5w3eOIS/AGvoFq7RCjA==" + }, + "@tiptap/extension-floating-menu": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.2.tgz", + "integrity": "sha512-sYBBmMyjygHimtekZMzOAU1yvHjn36O1tZ+lXR/K2F97WWd5Y9WJo+iUrnbzBDMTXGvPi5ZTByXg36YKFRTmPg==", + "requires": { + "tippy.js": "^6.3.7" + } + }, + "@tiptap/extension-gapcursor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.2.tgz", + "integrity": "sha512-NimvDbM8Cc8+l/ZWJW8aqZRH6hzz1iJLOAMyj23UjHQWvKO0yqE1KBLGZI2GU+vizEK3LkZZXhXnh76rnTwgSQ==" + }, + "@tiptap/extension-hard-break": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.2.tgz", + "integrity": "sha512-X/HG9Mzb4Qx/x67tkLK0JdG/fNL7IMP5gTpqOdgRT4m4vQA4ItuZHi4GlvWXfvtP6J0qfKKNimJvBQ5TZCZV1A==" + }, + "@tiptap/extension-heading": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.2.tgz", + "integrity": "sha512-99PL9Rx8mioo13SNuIkhZm1VW6UuUKKG0b7fAimsunaEbbLNtToXIasS68pX8BkgWnsBfDhR0HyhnpIBRg7W0w==" + }, + "@tiptap/extension-history": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.2.tgz", + "integrity": "sha512-K7u8HCEh9g35DSB4+c7z1wj9ais2cF3STDhyCRjBuLcCTgWVAim5cto4MkSdrXnLuWGgNK0jloWxVlMk3E1HPg==" + }, + "@tiptap/extension-horizontal-rule": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.2.tgz", + "integrity": "sha512-QUqNnHqRXMZRE6uFRX0UDFn07JDiiNukPRCIL4vyV/YJ6HmQiBjbsS/1hLjAwBuqaN8dtlHLdR4PjMuA6qrUYw==" + }, + "@tiptap/extension-italic": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.2.tgz", + "integrity": "sha512-AK8m4JKvjv2LgTho2GLPW4UI9Z8Oc1tErG9TAeJzud8NFFZ2iOOueAwyGjPLaEQxWaE2p5xlKjbBUWDV5bd6AQ==" + }, + "@tiptap/extension-list-item": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.2.tgz", + "integrity": "sha512-q8nz79iB6EvkBucm0OwUg7SX3vDGCRttmf0OrEBsoUCoFt/NhrejUCMDSbysHtYp+EtZcKu4VsPuNHU3C7F1vQ==" + }, + "@tiptap/extension-ordered-list": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.2.tgz", + "integrity": "sha512-fgWIQNDlC2pYNnS9Iqw2UZaNIInfks3mZm0Aj9DQ78LbTYDAcGvHcWaulLkd0CcfD6smTYwi9oBzP3dpPbcPTw==" + }, + "@tiptap/extension-paragraph": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.2.tgz", + "integrity": "sha512-BuiUV8Wh8DjRrNmmk5sIlVlk0V8P4BT2fCB4H7Ar+QDUPKY1g0djB/5g3F70iZh1Z7CiY1ctoL8VQznvtb0KsQ==" + }, + "@tiptap/extension-strike": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.2.tgz", + "integrity": "sha512-v5goRcfORMkHaA4/mQH80mO0IVFJup1sSrSd4lNUwWN68Qy2ckMVRLRgvbk0JjG2kbamFgJ4LmN/3ceZvUj27A==" + }, + "@tiptap/extension-text": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.2.tgz", + "integrity": "sha512-kAO+WurWOyHIV/x8qHMF3bSlWrdlPtjEYmf+w8wHKy3FzE55eF6SsGt4FymClNkJmyXdgflXBB3Wv/Z53myy8g==" + }, + "@tiptap/pm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.0.2.tgz", + "integrity": "sha512-vXlI82bZ4XrmVD6m/pO27gqlm+tU57mpjy9WjkJpEUOifQZK8LihR3l5k55Z0RqalV4/E79iU1cp8mw0v13nhA==", + "requires": { + "prosemirror-changeset": "^2.2.0", + "prosemirror-collab": "^1.3.0", + "prosemirror-commands": "^1.3.1", + "prosemirror-dropcursor": "^1.5.0", + "prosemirror-gapcursor": "^1.3.1", + "prosemirror-history": "^1.3.0", + "prosemirror-inputrules": "^1.2.0", + "prosemirror-keymap": "^1.2.0", + "prosemirror-markdown": "^1.10.1", + "prosemirror-menu": "^1.2.1", + "prosemirror-model": "^1.18.1", + "prosemirror-schema-basic": "^1.2.0", + "prosemirror-schema-list": "^1.2.2", + "prosemirror-state": "^1.4.1", + "prosemirror-tables": "^1.3.0", + "prosemirror-trailing-node": "^2.0.2", + "prosemirror-transform": "^1.7.0", + "prosemirror-view": "^1.28.2" + } + }, + "@tiptap/starter-kit": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.0.2.tgz", + "integrity": "sha512-s0yE6nEVYnxnHHdLxZ6McMhOAMbZ1czAj9qvmc1Mra0U/p08fg3VTn1gIgy8FA3t0TWUNpuwsO4FcgKlWaQ+eg==", + "requires": { + "@tiptap/core": "^2.0.2", + "@tiptap/extension-blockquote": "^2.0.2", + "@tiptap/extension-bold": "^2.0.2", + "@tiptap/extension-bullet-list": "^2.0.2", + "@tiptap/extension-code": "^2.0.2", + "@tiptap/extension-code-block": "^2.0.2", + "@tiptap/extension-document": "^2.0.2", + "@tiptap/extension-dropcursor": "^2.0.2", + "@tiptap/extension-gapcursor": "^2.0.2", + "@tiptap/extension-hard-break": "^2.0.2", + "@tiptap/extension-heading": "^2.0.2", + "@tiptap/extension-history": "^2.0.2", + "@tiptap/extension-horizontal-rule": "^2.0.2", + "@tiptap/extension-italic": "^2.0.2", + "@tiptap/extension-list-item": "^2.0.2", + "@tiptap/extension-ordered-list": "^2.0.2", + "@tiptap/extension-paragraph": "^2.0.2", + "@tiptap/extension-strike": "^2.0.2", + "@tiptap/extension-text": "^2.0.2" + } + }, + "@tiptap/vue-3": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-2.0.2.tgz", + "integrity": "sha512-Z0Znj1a+4AW58749PvEPi/YjSY3U4Pu28g7jjD6rGcae0DCa0g8TQuPsPqgxBsZkFJ0JJisasEAKJRX96zlUbg==", + "requires": { + "@tiptap/extension-bubble-menu": "^2.0.2", + "@tiptap/extension-floating-menu": "^2.0.2" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "dev": true + }, + "@types/chai-subset": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", + "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/content-type": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/content-type/-/content-type-1.1.5.tgz", + "integrity": "sha512-dgMN+syt1xb7Hk8LU6AODOfPlvz5z1CbXpPuJE5ZrX9STfBOIXF09pEB8N7a97WT9dbngt3ksDCm6GW6yMrxfQ==" + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" + }, + "@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/node": { + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" + }, + "@types/object.omit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/object.omit/-/object.omit-3.0.0.tgz", + "integrity": "sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==" + }, + "@types/object.pick": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/object.pick/-/object.pick-1.3.2.tgz", + "integrity": "sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==" + }, + "@types/throttle-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==" + }, + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "@vitejs/plugin-vue": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", + "integrity": "sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==", + "dev": true + }, + "@vitest/expect": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.30.1.tgz", + "integrity": "sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==", + "dev": true, + "requires": { + "@vitest/spy": "0.30.1", + "@vitest/utils": "0.30.1", + "chai": "^4.3.7" + } + }, + "@vitest/runner": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.30.1.tgz", + "integrity": "sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==", + "dev": true, + "requires": { + "@vitest/utils": "0.30.1", + "concordance": "^5.0.4", + "p-limit": "^4.0.0", + "pathe": "^1.1.0" + }, + "dependencies": { + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + } + } + }, + "@vitest/snapshot": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.30.1.tgz", + "integrity": "sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==", + "dev": true, + "requires": { + "magic-string": "^0.30.0", + "pathe": "^1.1.0", + "pretty-format": "^27.5.1" + } + }, + "@vitest/spy": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.30.1.tgz", + "integrity": "sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==", + "dev": true, + "requires": { + "tinyspy": "^2.1.0" + } + }, + "@vitest/ui": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.30.1.tgz", + "integrity": "sha512-Izz4ElDmdvX02KImSC2nCJI6CsGo9aETbKqxli55M0rbbPPAMtF0zDcJIqgEP5V6Y+4Ysf6wvsjLbLCTnaBvKw==", + "dev": true, + "requires": { + "@vitest/utils": "0.30.1", + "fast-glob": "^3.2.12", + "fflate": "^0.7.4", + "flatted": "^3.2.7", + "pathe": "^1.1.0", + "picocolors": "^1.0.0", + "sirv": "^2.0.2" + } + }, + "@vitest/utils": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.30.1.tgz", + "integrity": "sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==", + "dev": true, + "requires": { + "concordance": "^5.0.4", + "loupe": "^2.3.6", + "pretty-format": "^27.5.1" + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "requires": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "@vue/test-utils": { + "version": "2.0.0-rc.18", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.0.0-rc.18.tgz", + "integrity": "sha512-aifolXjVdsogjaLmDoZ0FU8vN+R67aWmg9OuVeED4w5Ij5GFQLrlhM19uhWe/r5xXUL4fXMk3pX5wW6FJP1NcQ==", + "dev": true + }, + "@vuetify/loader-shared": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-1.7.1.tgz", + "integrity": "sha512-kLUvuAed6RCvkeeTNJzuy14pqnkur8lTuner7v7pNE/kVhPR97TuyXwBSBMR1cJeiLiOfu6SF5XlCYbXByEx1g==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.2", + "upath": "^2.0.1" + } + }, + "@vueup/vue-quill": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vueup/vue-quill/-/vue-quill-1.1.1.tgz", + "integrity": "sha512-1INx+pr+AK/5SrfFwJIojO+VhYrv6ZHwaYCxO5Irp+vjpm/z4v8zLpUIA86ideX7cNA8Tai+nkrGlWKnAeM0RQ==", + "requires": { + "quill": "^1.3.7", + "quill-delta": "^4.2.2" + } + }, + "@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "@vueuse/integrations": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-9.13.0.tgz", + "integrity": "sha512-I1kX/tsfcvWWLZD7HZaP0LsSfchK13YxReLfharXhk72SFXp87doLbRaTfIF5w8m/gr/vPtcNyQPAXW7Ubpuww==", + "requires": { + "@vueuse/core": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, + "@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "requires": { + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "@yeger/vue-masonry-wall": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@yeger/vue-masonry-wall/-/vue-masonry-wall-3.4.4.tgz", + "integrity": "sha512-LSQmLVsntTNTdc2N79dpkuUySYGZUnj/hvFTXPEuNG3eLwy1EKgd2otllVmX5eQeXEp3NVV0HKaRf8y+TsglIw==" + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "animate.css": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz", + "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "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, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apexcharts": { + "version": "3.37.3", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.37.3.tgz", + "integrity": "sha512-+rnUui9uC3Mvh9qbQxUfqBnuJ0nAJOYTp+yKnA5bVmmndKXj5X/Q+OVIxkq0Jr5ysiK200Dsg1Tuz/OUG+DEpw==", + "requires": { + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz", + "integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "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 + }, + "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 + }, + "blueimp-md5": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", + "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001476", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001476.tgz", + "integrity": "sha512-JmpktFppVSvyUN4gsLS0bShY2L9ZUslHLE72vgemBkS43JD2fOvKTKs+GtRwuxrtRGnwJFW0ye7kWRRlLJS9vQ==" + }, + "case-anything": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz", + "integrity": "sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==" + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + }, + "dependencies": { + "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, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concordance": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", + "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", + "dev": true, + "requires": { + "date-time": "^3.1.0", + "esutils": "^2.0.3", + "fast-diff": "^1.2.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.15", + "md5-hex": "^3.0.1", + "semver": "^7.3.2", + "well-known-symbols": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "crelt": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz", + "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==" + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "dash-get": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dash-get/-/dash-get-1.0.2.tgz", + "integrity": "sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==" + }, + "date-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", + "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", + "dev": true, + "requires": { + "time-zone": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "desandro-matches-selector": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz", + "integrity": "sha512-+1q0nXhdzg1IpIJdMKalUwvvskeKnYyEe3shPRwedNcWtnhEKT3ZxvFjzywHDeGcKViIxTCAoOYQWP1qD7VNyg==" + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "echarts": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", + "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.3" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "element-plus": { + "version": "2.2.28", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.2.28.tgz", + "integrity": "sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, + "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==" + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "esbuild": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", + "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.15", + "@esbuild/android-arm64": "0.17.15", + "@esbuild/android-x64": "0.17.15", + "@esbuild/darwin-arm64": "0.17.15", + "@esbuild/darwin-x64": "0.17.15", + "@esbuild/freebsd-arm64": "0.17.15", + "@esbuild/freebsd-x64": "0.17.15", + "@esbuild/linux-arm": "0.17.15", + "@esbuild/linux-arm64": "0.17.15", + "@esbuild/linux-ia32": "0.17.15", + "@esbuild/linux-loong64": "0.17.15", + "@esbuild/linux-mips64el": "0.17.15", + "@esbuild/linux-ppc64": "0.17.15", + "@esbuild/linux-riscv64": "0.17.15", + "@esbuild/linux-s390x": "0.17.15", + "@esbuild/linux-x64": "0.17.15", + "@esbuild/netbsd-x64": "0.17.15", + "@esbuild/openbsd-x64": "0.17.15", + "@esbuild/sunos-x64": "0.17.15", + "@esbuild/win32-arm64": "0.17.15", + "@esbuild/win32-ia32": "0.17.15", + "@esbuild/win32-x64": "0.17.15" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", + "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==" + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "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, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "firebase": { + "version": "9.19.1", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.19.1.tgz", + "integrity": "sha512-MeukV4NIk6usV1ZbnoA36gumK62JzxOZmF6OZyqkFwJ7edpAEyYNZXvExQlFsvnx2ery0UwNIvu4pKIZS3HiEQ==", + "requires": { + "@firebase/analytics": "0.9.5", + "@firebase/analytics-compat": "0.2.5", + "@firebase/app": "0.9.7", + "@firebase/app-check": "0.6.4", + "@firebase/app-check-compat": "0.3.4", + "@firebase/app-compat": "0.2.7", + "@firebase/app-types": "0.9.0", + "@firebase/auth": "0.22.0", + "@firebase/auth-compat": "0.3.7", + "@firebase/database": "0.14.4", + "@firebase/database-compat": "0.3.4", + "@firebase/firestore": "3.10.0", + "@firebase/firestore-compat": "0.3.6", + "@firebase/functions": "0.9.4", + "@firebase/functions-compat": "0.3.4", + "@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" + } + }, + "fizzy-ui-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz", + "integrity": "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==", + "requires": { + "desandro-matches-selector": "^2.0.0" + } + }, + "flag-icons": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/flag-icons/-/flag-icons-6.6.6.tgz", + "integrity": "sha512-4lHDKxldnQ7q617pf9Dx9nAetT+9zcMpUexbRrc9kjLw9KJgZ83zA5Dky3Vv7ZDzUjAiZ46x/cy5P0HnEnqA2A==" + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "focus-trap": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.4.0.tgz", + "integrity": "sha512-yI7FwUqU4TVb+7t6PaQ3spT/42r/KLEi8mtdGoQo2li/kFzmu9URmalTvw7xCCJtSOyhBxscvEAmvjeN9iHARg==", + "requires": { + "tabbable": "^6.1.1" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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==" + }, + "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==" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-size": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/get-size/-/get-size-2.0.3.tgz", + "integrity": "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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, + "requires": { + "is-glob": "^4.0.3" + } + }, + "happy-dom": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-9.6.1.tgz", + "integrity": "sha512-lbRsmw8toqKUCwMIZQtoTW/F3XGOovazC+sdTf+gire4ITx9mPUx2TrdCr/JbB1CF4QplCwdn3+p1/2O5slWDw==", + "requires": { + "css.escape": "^1.5.1", + "he": "^1.2.0", + "iconv-lite": "^0.6.3", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "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==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "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==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "imagesloaded": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-4.1.4.tgz", + "integrity": "sha512-ltiBVcYpc/TYTF5nolkMNsnREHW+ICvfQ3Yla2Sgr71YFwQ86bDwV9hgpFhFtrGPuwEx5+LqOHIrdXBdoWwwsA==", + "requires": { + "ev-emitter": "^1.0.0" + } + }, + "immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "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==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "dev": true + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==" + }, + "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==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "lottie-web": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.11.0.tgz", + "integrity": "sha512-9vSt0AtdOH98GKDXwD5LPfFg9Pcmxt5+1BllAbudKM5iqPxpJnJUfuGaP45OyudDrESCOBgsjnntVUTygBNlzw==" + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "requires": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" + } + } + }, + "masonry-layout": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/masonry-layout/-/masonry-layout-4.2.2.tgz", + "integrity": "sha512-iGtAlrpHNyxaR19CvKC3npnEcAwszXoyJiI8ARV2ePi7fmYhIud25MHK8Zx4P0LCC4d3TNO9+rFa1KoK1OEOaA==", + "requires": { + "get-size": "^2.0.2", + "outlayer": "^2.1.0" + } + }, + "md-editor-v3": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/md-editor-v3/-/md-editor-v3-2.11.2.tgz", + "integrity": "sha512-aiIG3RZIrf0sv3d+51owh4ESvopoI62b7FVeuoEzq6TD1esvfUyVXBHtNYL1LxUTcGcFAa2wHuJGiBIMFq04kw==" + }, + "md5-hex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", + "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", + "dev": true, + "requires": { + "blueimp-md5": "^2.10.0" + } + }, + "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==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "mlly": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.2.0.tgz", + "integrity": "sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==", + "dev": true, + "requires": { + "acorn": "^8.8.2", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "ufo": "^1.1.1" + } + }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true + }, + "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 + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" + }, + "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 + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "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==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.omit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-3.0.0.tgz", + "integrity": "sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==", + "requires": { + "is-extendable": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "openai": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/openai/-/openai-3.2.1.tgz", + "integrity": "sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A==", + "requires": { + "axios": "^0.26.0", + "form-data": "^4.0.0" + }, + "dependencies": { + "axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "requires": { + "follow-redirects": "^1.14.8" + } + } + } + }, + "orderedmap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.0.tgz", + "integrity": "sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA==" + }, + "outlayer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/outlayer/-/outlayer-2.1.1.tgz", + "integrity": "sha512-+GplXsCQ3VrbGujAeHEzP9SXsBmJxzn/YdDSQZL0xqBmAWBmortu2Y9Gwdp9J0bgDQ8/YNIPMoBM13nTwZfAhw==", + "requires": { + "ev-emitter": "^1.0.0", + "fizzy-ui-utils": "^2.0.0", + "get-size": "^2.0.2" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, + "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 + }, + "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 + }, + "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==" + }, + "pathe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", + "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "perfect-scrollbar": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", + "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinia": { + "version": "2.0.34", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz", + "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "pinia-plugin-persist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz", + "integrity": "sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==", + "requires": { + "vue-demi": "^0.12.1" + }, + "dependencies": { + "vue-demi": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz", + "integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==" + } + } + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", + "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", + "dev": true, + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.1.1", + "pathe": "^1.1.0" + } + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "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==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prosemirror-changeset": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.2.0.tgz", + "integrity": "sha512-QM7ohGtkpVpwVGmFb8wqVhaz9+6IUXcIQBGZ81YNAKYuHiFJ1ShvSzab4pKqTinJhwciZbrtBEk/2WsqSt2PYg==", + "requires": { + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-collab": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.0.tgz", + "integrity": "sha512-+S/IJ69G2cUu2IM5b3PBekuxs94HO1CxJIWOFrLQXUaUDKL/JfBx+QcH31ldBlBXyDEUl+k3Vltfi1E1MKp2mA==", + "requires": { + "prosemirror-state": "^1.0.0" + } + }, + "prosemirror-commands": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.1.tgz", + "integrity": "sha512-ga1ga/RkbzxfAvb6iEXYmrEpekn5NCwTb8w1dr/gmhSoaGcQ0VPuCzOn5qDEpC45ql2oDkKoKQbRxLJwKLpMTQ==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-dropcursor": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.0.tgz", + "integrity": "sha512-TZMitR8nlp9Xh42pDYGcWopCoFPmJduoyGJ7FjYM2/7gZKnfD41TIaZN5Q1cQjm6Fm/P5vk/DpVYFhS8kDdigw==", + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "prosemirror-gapcursor": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.1.tgz", + "integrity": "sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==", + "requires": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "prosemirror-history": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.3.0.tgz", + "integrity": "sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA==", + "requires": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "rope-sequence": "^1.3.0" + } + }, + "prosemirror-inputrules": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.2.0.tgz", + "integrity": "sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==", + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-keymap": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.1.tgz", + "integrity": "sha512-kVK6WGC+83LZwuSJnuCb9PsADQnFZllt94qPP3Rx/vLcOUV65+IbBeH2nS5cFggPyEVJhGkGrgYFRrG250WhHQ==", + "requires": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "prosemirror-markdown": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.10.1.tgz", + "integrity": "sha512-s7iaTLiX+qO5z8kF2NcMmy2T7mIlxzkS4Sp3vTKSYChPtbMpg6YxFkU0Y06rUg2WtKlvBu7v1bXzlGBkfjUWAA==", + "requires": { + "markdown-it": "^13.0.1", + "prosemirror-model": "^1.0.0" + } + }, + "prosemirror-menu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.1.tgz", + "integrity": "sha512-sBirXxVfHalZO4f1ZS63WzewINK4182+7dOmoMeBkqYO8wqMBvBS7wQuwVOHnkMWPEh0+N0LJ856KYUN+vFkmQ==", + "requires": { + "crelt": "^1.0.0", + "prosemirror-commands": "^1.0.0", + "prosemirror-history": "^1.0.0", + "prosemirror-state": "^1.0.0" + } + }, + "prosemirror-model": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.0.tgz", + "integrity": "sha512-/CvFGJnwc41EJSfDkQLly1cAJJJmBpZwwUJtwZPTjY2RqZJfM8HVbCreOY/jti8wTRbVyjagcylyGoeJH/g/3w==", + "requires": { + "orderedmap": "^2.0.0" + } + }, + "prosemirror-schema-basic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.1.tgz", + "integrity": "sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==", + "requires": { + "prosemirror-model": "^1.19.0" + } + }, + "prosemirror-schema-list": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.2.2.tgz", + "integrity": "sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-state": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.2.tgz", + "integrity": "sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "prosemirror-tables": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.2.tgz", + "integrity": "sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==", + "requires": { + "prosemirror-keymap": "^1.1.2", + "prosemirror-model": "^1.8.1", + "prosemirror-state": "^1.3.1", + "prosemirror-transform": "^1.2.1", + "prosemirror-view": "^1.13.3" + } + }, + "prosemirror-trailing-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.3.tgz", + "integrity": "sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@remirror/core-constants": "^2.0.0", + "@remirror/core-helpers": "^2.0.1", + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "prosemirror-transform": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.7.1.tgz", + "integrity": "sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==", + "requires": { + "prosemirror-model": "^1.0.0" + } + }, + "prosemirror-view": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.30.2.tgz", + "integrity": "sha512-nTNzZvalQf9kHeEyO407LiV6DoOs/pXsid88UqW9Vvybo4ozJW2PJhkfZUxCUF1hR/9vJLdhxX84wuw9P9HsXA==", + "requires": { + "prosemirror-model": "^1.16.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@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/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "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 + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + }, + "dependencies": { + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + } + } + }, + "quill-delta": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-4.2.2.tgz", + "integrity": "sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==", + "requires": { + "fast-diff": "1.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "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==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "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==" + }, + "resize-detector": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/resize-detector/-/resize-detector-0.3.0.tgz", + "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "roboto-fontface": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz", + "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" + }, + "rollup": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", + "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rope-sequence": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.3.tgz", + "integrity": "sha512-85aZYCxweiD5J8yTEbw+E6A27zSnLPNDL0WfPdw3YYodq7WjnTKo0q4dtyQ2gz23iPT8Q9CUyJtAaUNcTxRf5Q==" + }, + "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, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.61.0.tgz", + "integrity": "sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "sirv": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz", + "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + } + }, + "sortablejs": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "std-env": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", + "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", + "dev": true + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-literal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", + "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "dev": true, + "requires": { + "acorn": "^8.8.2" + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "sucrase": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz", + "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==", + "dev": true, + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "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==" + }, + "svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "requires": { + "svg.js": "^2.0.1" + } + }, + "svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "requires": { + "svg.js": ">=2.3.x" + } + }, + "svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "requires": { + "svg.js": "^2.2.5" + } + }, + "svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "requires": { + "svg.js": "^2.4.0" + } + }, + "svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "requires": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "dependencies": { + "svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "requires": { + "svg.js": "^2.2.5" + } + } + } + }, + "svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "requires": { + "svg.js": "^2.6.5" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@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" + } + }, + "tabbable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.1.tgz", + "integrity": "sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==" + }, + "tailwindcss": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", + "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.17.2", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1", + "sucrase": "^3.29.0" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throttle-debounce": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==" + }, + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==", + "dev": true + }, + "tinybench": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.4.0.tgz", + "integrity": "sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==", + "dev": true + }, + "tinypool": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.4.0.tgz", + "integrity": "sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==", + "dev": true + }, + "tinyspy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.0.tgz", + "integrity": "sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==", + "dev": true + }, + "tippy.js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "requires": { + "@popperjs/core": "^2.9.0" + }, + "dependencies": { + "@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==" + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "ufo": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", + "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", + "dev": true + }, + "unimport": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.0.6.tgz", + "integrity": "sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "scule": "^1.0.0", + "strip-literal": "^1.0.1", + "unplugin": "^1.3.1" + } + }, + "unplugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz", + "integrity": "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==", + "dev": true, + "requires": { + "acorn": "^8.8.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "unplugin-auto-import": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.2.tgz", + "integrity": "sha512-Wivfu+xccgvEZG8QtZcIvt6napfX9wyOFqM//7FHOtev8+k+dp3ykiqsEl6TODgHmqTTBeQX4Ah1JvRgUNjlkg==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "minimatch": "^7.4.3", + "unimport": "^3.0.3", + "unplugin": "^1.3.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.5.tgz", + "integrity": "sha512-OzOamaOmNBJZUv2qqY1OSWa+++4YPpOkLgkc0w30Oov5ufKlWWXnFUl0l4dgmSv5Shq/zRVkEOXAe2NaqO4l5Q==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "unsplash-js": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/unsplash-js/-/unsplash-js-7.0.15.tgz", + "integrity": "sha512-WGqKp9wl2m2tAUPyw2eMZs/KICR+A52tCaRapzVXWxkA4pjHqsaGwiJXTEW7hBy4Pu0QmP6KxTt2jST3tluawA==", + "requires": { + "@types/content-type": "^1.1.3", + "content-type": "^1.0.4" + } + }, + "upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "vite": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", + "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "dev": true, + "requires": { + "esbuild": "^0.17.5", + "fsevents": "~2.3.2", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.18.0" + } + }, + "vite-node": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.30.1.tgz", + "integrity": "sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.2.0", + "pathe": "^1.1.0", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" + } + }, + "vite-plugin-vuetify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vuetify/-/vite-plugin-vuetify-1.0.2.tgz", + "integrity": "sha512-MubIcKD33O8wtgQXlbEXE7ccTEpHZ8nPpe77y9Wy3my2MWw/PgehP9VqTp92BLqr0R1dSL970Lynvisx3UxBFw==", + "dev": true, + "requires": { + "@vuetify/loader-shared": "^1.7.1", + "debug": "^4.3.3", + "upath": "^2.0.1" + } + }, + "vitest": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.30.1.tgz", + "integrity": "sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==", + "dev": true, + "requires": { + "@types/chai": "^4.3.4", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.30.1", + "@vitest/runner": "0.30.1", + "@vitest/snapshot": "0.30.1", + "@vitest/spy": "0.30.1", + "@vitest/utils": "0.30.1", + "acorn": "^8.8.2", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "concordance": "^5.0.4", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "pathe": "^1.1.0", + "picocolors": "^1.0.0", + "source-map": "^0.6.1", + "std-env": "^3.3.2", + "strip-literal": "^1.0.1", + "tinybench": "^2.4.0", + "tinypool": "^0.4.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.30.1", + "why-is-node-running": "^2.2.2" + } + }, + "vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "vue-echarts": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.5.4.tgz", + "integrity": "sha512-pLJTk2hfhauoWdmiZGXByAtcO6bpfnAS+jkJqKimSBSV5I5ckh2nka9duLlIVbTvQOEb2tFa0XiXjACQNcEfpA==", + "requires": { + "resize-detector": "^0.3.0", + "vue-demi": "^0.13.2" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + } + }, + "vue-masonry": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/vue-masonry/-/vue-masonry-0.16.0.tgz", + "integrity": "sha512-0Wi/BH4iYYRrAAFY/wokczz0lWWPg1vmOvFW4aC2nKybKf6kVqUvFfR9/+izDfzG657/vY+Om0gqOB5YPxPxuQ==", + "requires": { + "imagesloaded": "4.1.4", + "masonry-layout": "^4.2.2", + "mitt": "^3.0.0", + "vue-demi": "^0.13.2" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" + } + } + }, + "vue-observe-visibility": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-2.0.0-alpha.1.tgz", + "integrity": "sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==" + }, + "vue-resize": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", + "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==" + }, + "vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "requires": { + "@vue/devtools-api": "^6.4.5" + } + }, + "vue-virtual-scroller": { + "version": "2.0.0-beta.8", + "resolved": "https://registry.npmjs.org/vue-virtual-scroller/-/vue-virtual-scroller-2.0.0-beta.8.tgz", + "integrity": "sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==", + "requires": { + "mitt": "^2.1.0", + "vue-observe-visibility": "^2.0.0-alpha.1", + "vue-resize": "^2.0.0-alpha.1" + }, + "dependencies": { + "mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + } + } + }, + "vue-waterfall-plugin-next": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vue-waterfall-plugin-next/-/vue-waterfall-plugin-next-2.2.0.tgz", + "integrity": "sha512-rhrTdAlBnMWWt6737L+E08A7itgK3wHTy1NsSDgR9EPiBPuHYlth8jL2/hp2gIMAS4XUxJBtitfNUyK5qynkEA==", + "requires": { + "animate.css": "^4.1.1", + "element-plus": "^2.1.4" + } + }, + "vue3-apexcharts": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.4.1.tgz", + "integrity": "sha512-96qP8JDqB9vwU7bkG5nVU+E0UGQn7yYQVqUUCLQMYWDuQyu2vE77H/UFZ1yI+hwzlSTBKT9BqnNG8JsFegB3eg==" + }, + "vue3-lottie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vue3-lottie/-/vue3-lottie-2.5.0.tgz", + "integrity": "sha512-JwlTzykr4ofPnSXsTAPt571RDrtQNy66H8w/zYBVHNgrCRG4RINI30c/oJx3Dj+XpxuktpKzgfI08tv1FjYkAQ==", + "requires": { + "lodash-es": "^4.17.21", + "lottie-web": "^5.8.1" + } + }, + "vue3-perfect-scrollbar": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vue3-perfect-scrollbar/-/vue3-perfect-scrollbar-1.6.1.tgz", + "integrity": "sha512-r9wfxlFwVyHXMPKG0PnR7fDfJPQ20KEVzKQfSU5by2WKYz2PwV0bTfyfejmEyZXsXL0O8VtSWtgxfPuFR2AGOg==", + "requires": { + "cssnano": "^5.1.14", + "perfect-scrollbar": "^1.5.5", + "postcss-import": "^12.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-import": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", + "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "requires": { + "postcss": "^7.0.1", + "postcss-value-parser": "^3.2.3", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "vuedraggable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", + "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==", + "requires": { + "sortablejs": "1.14.0" + } + }, + "vuetify": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.1.13.tgz", + "integrity": "sha512-mC2UvWqS3Ne/aZ6Q+79kiL36xSe5jGxm0KWWq2e4SRxuqIE14IbyzqfXvU0bEqns0dHU5dOiKCMM9jHZFDLKgQ==" + }, + "w3c-keyname": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz", + "integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==" + }, + "webfontloader": { + "version": "1.6.28", + "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", + "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==" + }, + "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==" + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "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==" + }, + "well-known-symbols": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", + "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", + "dev": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "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 + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + }, + "zrender": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", + "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/console-ui/package.json b/console-ui/package.json index a0ba725..7855663 100644 --- a/console-ui/package.json +++ b/console-ui/package.json @@ -1,27 +1,66 @@ { - "name": "console-ui", - "version": "0.1.0", - "private": true, + "name": "vuetify3-design", + "version": "0.0.0", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build" + "dev": "vite --mode dev", + "build": "vite build --mode pro", + "preview": "vite preview", + "test": "vitest", + "test:ui": "vitest --ui", + "coverage": "vitest run --coverage" }, "dependencies": { - "core-js": "^3.8.3", - "vue": "^2.6.14", - "vue-router": "^3.5.1", - "vuex": "^3.6.2" + "@mdi/font": "7.2.96", + "@tiptap/pm": "^2.0.2", + "@tiptap/starter-kit": "^2.0.2", + "@tiptap/vue-3": "^2.0.2", + "@vueup/vue-quill": "^1.1.1", + "@vueuse/core": "^9.13.0", + "@vueuse/integrations": "^9.13.0", + "@yeger/vue-masonry-wall": "^3.4.4", + "apexcharts": "^3.37.3", + "axios": "^1.3.5", + "echarts": "^5.4.2", + "firebase": "^9.19.1", + "flag-icons": "^6.6.6", + "focus-trap": "^7.4.0", + "happy-dom": "^9.6.1", + "md-editor-v3": "^2.11.2", + "moment": "^2.29.4", + "openai": "^3.2.1", + "pinia": "^2.0.34", + "pinia-plugin-persist": "^1.0.0", + "roboto-fontface": "*", + "unsplash-js": "^7.0.15", + "vue": "^3.2.47", + "vue-echarts": "^6.5.4", + "vue-i18n": "^9.2.2", + "vue-masonry": "^0.16.0", + "vue-router": "^4.1.6", + "vue-virtual-scroller": "^2.0.0-beta.8", + "vue-waterfall-plugin-next": "^2.2.0", + "vue3-apexcharts": "^1.4.1", + "vue3-lottie": "^2.5.0", + "vue3-perfect-scrollbar": "^1.6.1", + "vuedraggable": "^4.1.0", + "vuetify": "^3.1.13", + "webfontloader": "^1.6.28" }, "devDependencies": { - "@vue/cli-plugin-babel": "~5.0.0", - "@vue/cli-plugin-router": "~5.0.0", - "@vue/cli-plugin-vuex": "~5.0.0", - "@vue/cli-service": "~5.0.0", - "vue-template-compiler": "^2.6.14" - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead" - ] + "@faker-js/faker": "^7.6.0", + "@fortawesome/fontawesome-free": "^6.4.0", + "@iconify/vue": "^4.1.1", + "@types/node": "^18.15.11", + "@vitejs/plugin-vue": "^4.1.0", + "@vitest/ui": "^0.30.1", + "@vue/test-utils": "^2.0.0-rc.18", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.21", + "sass": "^1.61.0", + "tailwindcss": "^3.3.1", + "unplugin-auto-import": "^0.15.2", + "vite": "^4.2.1", + "vite-plugin-vuetify": "^1.0.2", + "vitest": "^0.30.1" + } } diff --git a/console-ui/public/_redirects b/console-ui/public/_redirects new file mode 100644 index 0000000..ad37e2c --- /dev/null +++ b/console-ui/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 diff --git a/console-ui/public/favicon.ico b/console-ui/public/favicon.ico index df36fcf..62e0b4a 100644 Binary files a/console-ui/public/favicon.ico and b/console-ui/public/favicon.ico differ diff --git a/console-ui/public/index.html b/console-ui/public/index.html deleted file mode 100644 index 3e5a139..0000000 --- a/console-ui/public/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - -
- - - diff --git a/console-ui/src/App.vue b/console-ui/src/App.vue index 240acf4..53a4518 100644 --- a/console-ui/src/App.vue +++ b/console-ui/src/App.vue @@ -1,32 +1,48 @@ - +const layouts = { + default: DefaultLayout, + ui: UILayout, + landing: LandingLayout, + auth: AuthLayout, +}; + +type LayoutName = "default" | "ui" | "landing" | "auth" | "error"; + +const currentLayout = computed(() => { + const layoutName = route.meta.layout as LayoutName; + if (!layoutName) { + return DefaultLayout; + } + return layouts[layoutName]; +}); + + + diff --git a/console-ui/src/api/aiApi.ts b/console-ui/src/api/aiApi.ts new file mode 100644 index 0000000..09f729f --- /dev/null +++ b/console-ui/src/api/aiApi.ts @@ -0,0 +1,59 @@ +import axios from "axios"; +import { useSnackbarStore } from "@/stores/snackbarStore"; +const gptInstance = axios.create({ + baseURL: "https://api.openai.com", + timeout: 100000, +}); + +gptInstance.interceptors.response.use( + (response) => { + return response; + }, + (error) => { + const snackbarStore = useSnackbarStore(); + if (error.response) { + const status = error.response.status; + const data = error.response.data; + snackbarStore.showErrorMessage(data.error); + } else { + snackbarStore.showErrorMessage("Network Error"); + } + return Promise.reject(error); + } +); + +// Get all models. +export const getModelsApi = (apiKey: string) => { + return gptInstance.get("/v1/models", { + headers: { + Authorization: "Bearer " + apiKey, + }, + }); +}; + +// Get account balance information. +export const getBalanceApi = (apiKey: string) => { + return gptInstance.get("/dashboard/billing/credit_grants", { + headers: { + Authorization: "Bearer " + apiKey, + }, + }); +}; + +// speech-to-text +export const createTranscriptionApi = (formData: any, apiKey: string) => { + return gptInstance.post("/v1/audio/transcriptions", formData, { + headers: { + Authorization: "Bearer " + apiKey, + }, + }); +}; + +// completions(Stream UnUsed) +export const createCompletionApi = (data: any, apiKey: string) => { + return gptInstance.post("/v1/chat/completions", data, { + headers: { + Authorization: "Bearer " + apiKey, + }, + }); +}; diff --git a/console-ui/src/api/githubApi.ts b/console-ui/src/api/githubApi.ts new file mode 100644 index 0000000..86b2f57 --- /dev/null +++ b/console-ui/src/api/githubApi.ts @@ -0,0 +1,39 @@ +import axios from "axios"; +import { useSnackbarStore } from "@/stores/snackbarStore"; +const snackbarStore = useSnackbarStore(); +// change the access key to your own +const ACCESS_KEY = import.meta.env.VITE_GITHUB_CLIENT_ID; + +const instance = axios.create({ + baseURL: "https://api.github.com", + timeout: 20000, + headers: { Authorization: "Bearer" + " " + ACCESS_KEY }, +}); + +instance.interceptors.response.use( + (response) => { + return response; + }, + (error) => { + if (error.response) { + const status = error.response.status; + const data = error.response.data; + snackbarStore.showErrorMessage(data.message); + } else { + snackbarStore.showErrorMessage("Network Error"); + } + return Promise.reject(error); + } +); + +// https://api.github.com/users/yangjiakai/events/public + +// Get public events for a user +export const getPublicEventsApi = (username: string) => { + return instance.get("/users/" + username + "/events/public"); +}; + +// Get public events for a network of repositories +export const getPublicEventsForNetworkApi = (username: string) => { + return instance.get("/networks/" + username + "/events"); +}; diff --git a/console-ui/src/api/googleApi.ts b/console-ui/src/api/googleApi.ts new file mode 100644 index 0000000..0b6f83f --- /dev/null +++ b/console-ui/src/api/googleApi.ts @@ -0,0 +1,33 @@ +import axios from "axios"; + +export const textToSpeech = async () => { + const googleInstance = axios.create({ + baseURL: "https://us-central1-texttospeech.googleapis.com", + timeout: 100000, + }); + + const res = await googleInstance.post( + "/v1/chat/completions/text:synthesize", + { + audioConfig: { + audioEncoding: "LINEAR16", + effectsProfileId: ["small-bluetooth-speaker-class-device"], + pitch: 0, + speakingRate: 1, + }, + input: { + text: "Google Cloud Text-to-Speech enables developers to synthesize natural-sounding speech with 100+ voices, available in multiple languages and variants. It applies DeepMind’s groundbreaking research in WaveNet and Google’s powerful neural networks to deliver the highest fidelity possible. As an easy-to-use API, you can create lifelike interactions with your users, across many applications and devices.", + }, + voice: { + languageCode: "en-US", + name: "en-US-Neural2-J", + }, + }, + { + headers: { + "Content-Type": "application/json", + "x-goog-api-key": "AIzaSyBSXdkeyAvIZX5n_bj4KsqSjJf1W-_TfCntvk", + }, + } + ); +}; diff --git a/console-ui/src/api/unsplashApi.ts b/console-ui/src/api/unsplashApi.ts new file mode 100644 index 0000000..d8a8344 --- /dev/null +++ b/console-ui/src/api/unsplashApi.ts @@ -0,0 +1,160 @@ +import axios from "axios"; +import { useSnackbarStore } from "@/stores/snackbarStore"; +const snackbarStore = useSnackbarStore(); +// change the access key to your own +const ACCESS_KEY = import.meta.env.VITE_UNSPLASH_ACCESS_KEY; + +const instance = axios.create({ + baseURL: "https://api.unsplash.com", + timeout: 20000, + headers: { Authorization: "Client-ID" + " " + ACCESS_KEY }, +}); + +instance.interceptors.response.use( + (response) => { + return response; + }, + (error) => { + if (error.response) { + const status = error.response.status; + const data = error.response.data; + snackbarStore.showErrorMessage(data.errors[0]); + } else { + snackbarStore.showErrorMessage("Network Error"); + } + return Promise.reject(error); + } +); + +interface Query { + page?: number; + per_page?: number; +} + +// List photos 图片一览 +export const getPhotosApi = (query?: Query) => { + return instance.get("/photos/", { params: query }); +}; + +// Get a photo 获取图片信息 +export const getPhotoApi = (id: string) => { + return instance.get("/photos/" + id); +}; + +// Get a random photo 获取一张随机图片 +export const getRandomPhotoApi = () => { + return instance.get("/photos/random"); +}; + +// Get a photo’s statistics 获取照片的统计数据 +export const getPhotoStatisticsApi = (id: string) => { + return instance.get("/photos/" + id + "/statistics"); +}; + +// Get a photo’s related 获取照片的相关照片 +export const getPhotoRelatedApi = (id: string) => { + return instance.get("/photos/" + id + "/related"); +}; + +// Track a photo download +// Update a photo +// Like a photo +// Unlike a photo + +// Topic +// List topics +export const getTopicsApi = (query?: Query) => { + return instance.get("/topics", { params: query }); +}; + +// Get a topic +export const getTopicApi = (id_or_slug: string | string[]) => { + return instance.get("/topics/" + id_or_slug); +}; + +// Get a topic’s photos +export const getTopicPhotosApi = ( + id_or_slug: string | string[], + query?: Query +) => { + return instance.get("/topics/" + id_or_slug + "/photos", { params: query }); +}; + +// Get a user +export const getUserApi = (username: string | string[]) => { + return instance.get("/users/" + username); +}; +// Get a user’s portfolio +export const getUserPortfolioApi = (username: string | string[]) => { + return instance.get("/users/" + username + "/portfolio"); +}; +// List a user’s photos +export const getUserPhotosApi = ( + username: string | string[], + query?: Query +) => { + return instance.get("/users/" + username + "/photos", { params: query }); +}; +// List a user’s liked photos +export const getUserLikesApi = (username: string | string[], query?: Query) => { + return instance.get("/users/" + username + "/likes", { params: query }); +}; +// List a user’s collections +export const getUserCollectionsApi = ( + username: string | string[], + query?: Query +) => { + return instance.get("/users/" + username + "/collections", { params: query }); +}; +// Get a user’s statistics +export const getUserStatisticsApi = (username: string | string[]) => { + return instance.get("/users/" + username + "/statistics"); +}; + +// Collections 图集 +// List collections 图集一览 +export const getCollectionsApi = (query?: Query) => { + return instance.get("/collections", { params: query }); +}; + +// Get a collection 获取图集信息 +export const getCollectionApi = (id: string | string[]) => { + return instance.get("/collections/" + id); +}; +// Get a collection’s photos 获取该图集下所有图片 +export const getCollectionPhotosApi = ( + id: string | string[], + query?: Query +) => { + return instance.get("/collections/" + id + "/photos", { params: query }); +}; +// List a collection’s related collections 获取该图集相关联图集 +export const getCollectionRelatedApi = (id: string | string[]) => { + return instance.get("/collections/" + id + "/related"); +}; +// Create a new collection 新增图集 +// Update an existing collection 更新现存图集 +// Delete a collection 删除某个图集 +// Add a photo to a collection 添加图片到图集 +// Remove a photo from a collection 从图集删除图片 + +// Search +// Search All +export const searchAllApi = (query?: Query) => { + return instance.get("/search", { params: query }); +}; + +// Search photos +export const searchPhotosApi = (query?: Query) => { + return instance.get("/search/photos", { params: query }); +}; + +// Search collections +export const searchCollectionsApi = (query?: Query) => { + return instance.get("/search/collections", { params: query }); +}; + +// Search users +export const searchUsersApi = (query?: Query) => { + return instance.get("/search/users", { params: query }); +}; diff --git a/console-ui/src/api/userApi.ts b/console-ui/src/api/userApi.ts new file mode 100644 index 0000000..d3fcd8b --- /dev/null +++ b/console-ui/src/api/userApi.ts @@ -0,0 +1,24 @@ +import type { User } from "firebase/auth"; +import { db, auth } from "@/firebase"; +import { doc, setDoc, getDoc, getDocs, collection } from "firebase/firestore"; + +export const addUserToUsersCollection = async (user: User) => { + const profile = { + id: user.uid, + name: user.displayName, + avatar: user.photoURL, + created: false, + }; + + try { + await setDoc(doc(db, "users", user.uid), { + name: user.displayName, + avatar: user.photoURL, + }); + profile.created = true; + } catch (error) { + console.error("Error adding document: ", error); + } + + return profile; +}; diff --git a/console-ui/src/assets/images/404.svg b/console-ui/src/assets/images/404.svg new file mode 100644 index 0000000..336231c --- /dev/null +++ b/console-ui/src/assets/images/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/console-ui/src/assets/images/500.svg b/console-ui/src/assets/images/500.svg new file mode 100644 index 0000000..29fd023 --- /dev/null +++ b/console-ui/src/assets/images/500.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/console-ui/src/assets/images/avatars/avatar_user.jpg b/console-ui/src/assets/images/avatars/avatar_user.jpg new file mode 100644 index 0000000..347bba3 Binary files /dev/null and b/console-ui/src/assets/images/avatars/avatar_user.jpg differ diff --git a/console-ui/src/assets/images/card2/yoimiya.png b/console-ui/src/assets/images/card2/yoimiya.png new file mode 100644 index 0000000..dc1fc56 Binary files /dev/null and b/console-ui/src/assets/images/card2/yoimiya.png differ diff --git a/console-ui/src/assets/images/card2/yoimiya_bg.jpg b/console-ui/src/assets/images/card2/yoimiya_bg.jpg new file mode 100644 index 0000000..6173751 Binary files /dev/null and b/console-ui/src/assets/images/card2/yoimiya_bg.jpg differ diff --git a/console-ui/src/assets/images/chat-bg-2.png b/console-ui/src/assets/images/chat-bg-2.png new file mode 100644 index 0000000..8b3a825 Binary files /dev/null and b/console-ui/src/assets/images/chat-bg-2.png differ diff --git a/console-ui/src/assets/images/svg1.svg b/console-ui/src/assets/images/svg1.svg new file mode 100644 index 0000000..319f273 --- /dev/null +++ b/console-ui/src/assets/images/svg1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/console-ui/src/assets/loading.svg b/console-ui/src/assets/loading.svg new file mode 100644 index 0000000..b62975e --- /dev/null +++ b/console-ui/src/assets/loading.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo.back.png b/console-ui/src/assets/logo.back.png new file mode 100644 index 0000000..a5f23ae Binary files /dev/null and b/console-ui/src/assets/logo.back.png differ diff --git a/console-ui/src/assets/logo.back.svg b/console-ui/src/assets/logo.back.svg new file mode 100644 index 0000000..d57771c --- /dev/null +++ b/console-ui/src/assets/logo.back.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/console-ui/src/assets/logo.png b/console-ui/src/assets/logo.png index f3d2503..815afda 100644 Binary files a/console-ui/src/assets/logo.png and b/console-ui/src/assets/logo.png differ diff --git a/console-ui/src/assets/logo.svg b/console-ui/src/assets/logo.svg new file mode 100644 index 0000000..709d55b --- /dev/null +++ b/console-ui/src/assets/logo.svg @@ -0,0 +1,65 @@ + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo1.svg b/console-ui/src/assets/logo1.svg new file mode 100644 index 0000000..152dd14 --- /dev/null +++ b/console-ui/src/assets/logo1.svg @@ -0,0 +1,24 @@ + + + Layer 1 + image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo2.svg b/console-ui/src/assets/logo2.svg new file mode 100644 index 0000000..51fc2ba --- /dev/null +++ b/console-ui/src/assets/logo2.svg @@ -0,0 +1,32 @@ + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo3.svg b/console-ui/src/assets/logo3.svg new file mode 100644 index 0000000..7364444 --- /dev/null +++ b/console-ui/src/assets/logo3.svg @@ -0,0 +1,33 @@ + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo5.svg b/console-ui/src/assets/logo5.svg new file mode 100644 index 0000000..36c57b5 --- /dev/null +++ b/console-ui/src/assets/logo5.svg @@ -0,0 +1,33 @@ + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo_dark.svg b/console-ui/src/assets/logo_dark.svg new file mode 100644 index 0000000..fff5692 --- /dev/null +++ b/console-ui/src/assets/logo_dark.svg @@ -0,0 +1,33 @@ + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/logo_light.svg b/console-ui/src/assets/logo_light.svg new file mode 100644 index 0000000..eb98061 --- /dev/null +++ b/console-ui/src/assets/logo_light.svg @@ -0,0 +1,33 @@ + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/console-ui/src/assets/previews/Card.png b/console-ui/src/assets/previews/Card.png new file mode 100644 index 0000000..4b5d95a Binary files /dev/null and b/console-ui/src/assets/previews/Card.png differ diff --git a/console-ui/src/assets/previews/ChatGPT.png b/console-ui/src/assets/previews/ChatGPT.png new file mode 100644 index 0000000..465917e Binary files /dev/null and b/console-ui/src/assets/previews/ChatGPT.png differ diff --git a/console-ui/src/assets/previews/Color.png b/console-ui/src/assets/previews/Color.png new file mode 100644 index 0000000..67edbed Binary files /dev/null and b/console-ui/src/assets/previews/Color.png differ diff --git a/console-ui/src/assets/previews/DashBoard.png b/console-ui/src/assets/previews/DashBoard.png new file mode 100644 index 0000000..502445e Binary files /dev/null and b/console-ui/src/assets/previews/DashBoard.png differ diff --git a/console-ui/src/assets/previews/DataTable.png b/console-ui/src/assets/previews/DataTable.png new file mode 100644 index 0000000..8371654 Binary files /dev/null and b/console-ui/src/assets/previews/DataTable.png differ diff --git a/console-ui/src/assets/previews/Gradient.png b/console-ui/src/assets/previews/Gradient.png new file mode 100644 index 0000000..3c9a29b Binary files /dev/null and b/console-ui/src/assets/previews/Gradient.png differ diff --git a/console-ui/src/assets/previews/Login.png b/console-ui/src/assets/previews/Login.png new file mode 100644 index 0000000..d5dd309 Binary files /dev/null and b/console-ui/src/assets/previews/Login.png differ diff --git a/console-ui/src/assets/previews/TaskBoard.png b/console-ui/src/assets/previews/TaskBoard.png new file mode 100644 index 0000000..bc9ba26 Binary files /dev/null and b/console-ui/src/assets/previews/TaskBoard.png differ diff --git a/console-ui/src/assets/previews/Todo.png b/console-ui/src/assets/previews/Todo.png new file mode 100644 index 0000000..6cd4431 Binary files /dev/null and b/console-ui/src/assets/previews/Todo.png differ diff --git a/console-ui/src/assets/previews/Unsplash.png b/console-ui/src/assets/previews/Unsplash.png new file mode 100644 index 0000000..b9ac0d9 Binary files /dev/null and b/console-ui/src/assets/previews/Unsplash.png differ diff --git a/console-ui/src/assets/previews/Unsplash2.png b/console-ui/src/assets/previews/Unsplash2.png new file mode 100644 index 0000000..7b62d10 Binary files /dev/null and b/console-ui/src/assets/previews/Unsplash2.png differ diff --git a/console-ui/src/assets/wechat-qrcode.png b/console-ui/src/assets/wechat-qrcode.png new file mode 100644 index 0000000..a520c1a Binary files /dev/null and b/console-ui/src/assets/wechat-qrcode.png differ diff --git a/console-ui/src/assets/wechat.jpg b/console-ui/src/assets/wechat.jpg new file mode 100644 index 0000000..da0557d Binary files /dev/null and b/console-ui/src/assets/wechat.jpg differ diff --git a/console-ui/src/components/ApiKeyDialog.vue b/console-ui/src/components/ApiKeyDialog.vue new file mode 100644 index 0000000..1cef63d --- /dev/null +++ b/console-ui/src/components/ApiKeyDialog.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/console-ui/src/components/BoardCard.vue b/console-ui/src/components/BoardCard.vue new file mode 100644 index 0000000..9862364 --- /dev/null +++ b/console-ui/src/components/BoardCard.vue @@ -0,0 +1,65 @@ + + + + diff --git a/console-ui/src/components/Breadcrumb.vue b/console-ui/src/components/Breadcrumb.vue new file mode 100644 index 0000000..e3e8598 --- /dev/null +++ b/console-ui/src/components/Breadcrumb.vue @@ -0,0 +1,35 @@ + + + diff --git a/console-ui/src/components/CustomizationMenu.vue b/console-ui/src/components/CustomizationMenu.vue new file mode 100644 index 0000000..0341172 --- /dev/null +++ b/console-ui/src/components/CustomizationMenu.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/console-ui/src/components/GlobalLoading.vue b/console-ui/src/components/GlobalLoading.vue new file mode 100644 index 0000000..cde9ee0 --- /dev/null +++ b/console-ui/src/components/GlobalLoading.vue @@ -0,0 +1,27 @@ + + + + + + diff --git a/console-ui/src/components/HelloWorld.vue b/console-ui/src/components/HelloWorld.vue deleted file mode 100644 index b9f3c7d..0000000 --- a/console-ui/src/components/HelloWorld.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - diff --git a/console-ui/src/components/PageTitle.vue b/console-ui/src/components/PageTitle.vue new file mode 100644 index 0000000..e9c7535 --- /dev/null +++ b/console-ui/src/components/PageTitle.vue @@ -0,0 +1,15 @@ + + + diff --git a/console-ui/src/components/Toolbox.vue b/console-ui/src/components/Toolbox.vue new file mode 100644 index 0000000..38a63d7 --- /dev/null +++ b/console-ui/src/components/Toolbox.vue @@ -0,0 +1,122 @@ + + + + + + diff --git a/console-ui/src/components/ai/ChatAssistant.vue b/console-ui/src/components/ai/ChatAssistant.vue new file mode 100644 index 0000000..960e004 --- /dev/null +++ b/console-ui/src/components/ai/ChatAssistant.vue @@ -0,0 +1,69 @@ + + + + + + diff --git a/console-ui/src/components/ai/TranslationAssistant.vue b/console-ui/src/components/ai/TranslationAssistant.vue new file mode 100644 index 0000000..714e2aa --- /dev/null +++ b/console-ui/src/components/ai/TranslationAssistant.vue @@ -0,0 +1,354 @@ + + + + + + diff --git a/console-ui/src/components/animations/Animation404.vue b/console-ui/src/components/animations/Animation404.vue new file mode 100644 index 0000000..c694e32 --- /dev/null +++ b/console-ui/src/components/animations/Animation404.vue @@ -0,0 +1,18 @@ + + + + + + diff --git a/console-ui/src/components/animations/AnimationBot1.vue b/console-ui/src/components/animations/AnimationBot1.vue new file mode 100644 index 0000000..939a81e --- /dev/null +++ b/console-ui/src/components/animations/AnimationBot1.vue @@ -0,0 +1,31 @@ + + + + + + diff --git a/console-ui/src/components/animations/AnimationBot2.vue b/console-ui/src/components/animations/AnimationBot2.vue new file mode 100644 index 0000000..ad4dbef --- /dev/null +++ b/console-ui/src/components/animations/AnimationBot2.vue @@ -0,0 +1,18 @@ + + + + + + diff --git a/console-ui/src/components/charts/apexchart/ApexChartsData.ts b/console-ui/src/components/charts/apexchart/ApexChartsData.ts new file mode 100644 index 0000000..a3262b4 --- /dev/null +++ b/console-ui/src/components/charts/apexchart/ApexChartsData.ts @@ -0,0 +1,157 @@ +const themeColors = ["#ee8a6a", "#0cb9c5", "#fec90f", "#05b187", "#fc4b6c"]; +const themeColors2 = ["#4782FB", "#47C4F4", "#fec90f", "#05b187", "#fc4b6c"]; + +function generateDataHeatMap(count: any, yrange: any) { + var i = 0; + var series: any[] = []; + while (i < count) { + var x = "w" + (i + 1).toString(); + var y = + Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min; + + series.push({ + x: x, + y: y, + }); + i++; + } + return series; +} + +export const heatMapChart = { + series: [ + { + name: "Metric1", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric2", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric3", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric4", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric5", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric6", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric7", + data: generateDataHeatMap(18, { + min: 0, + max: 90, + }), + }, + ], + chartOptions: { + dataLabels: { + enabled: false, + }, + colors: ["#1e88e5"], + tooltip: { + theme: "dark", + }, + }, +}; + +export const lineAreaChartSpline = { + series: [ + { + name: "Open Rate", + data: [0, 5, 6, 8, 25, 9, 8, 24], + }, + { + name: "Recurring Payments", + data: [0, 3, 1, 2, 8, 1, 5, 1], + }, + ], + + chartOptions: { + grid: { + show: true, + borderColor: "rgba(0, 0, 0, .3)", + strokeDashArray: 3, + xaxis: { + lines: { + show: true, + }, + }, + yaxis: { + lines: { + show: true, + }, + }, + }, + dataLabels: { + enabled: false, + }, + chart: { + toolbar: { + show: true, + }, + }, + stroke: { + curve: "smooth", + width: 2, + }, + colors: themeColors2, + fill: { + type: "gradient", + opacity: ["0.1", "0.1"], + }, + xaxis: { + categories: ["1", "2", "3", "4", "5", "6", "7", "8"], + labels: { + style: { + cssClass: "grey--text lighten-2--text fill-color", + }, + }, + }, + yaxis: { + labels: { + style: { + cssClass: "grey--text lighten-2--text fill-color", + }, + }, + }, + markers: { + size: 3, + }, + tooltip: { + x: { + format: "dd/MM/yy HH:mm", + }, + theme: "dark", + }, + legend: { + show: false, + }, + }, +}; diff --git a/console-ui/src/components/charts/apexchart/ApexHeatMapCharts.vue b/console-ui/src/components/charts/apexchart/ApexHeatMapCharts.vue new file mode 100644 index 0000000..ab72fdc --- /dev/null +++ b/console-ui/src/components/charts/apexchart/ApexHeatMapCharts.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/console-ui/src/components/charts/apexchart/ApexLineAreaCharts.vue b/console-ui/src/components/charts/apexchart/ApexLineAreaCharts.vue new file mode 100644 index 0000000..2f5b072 --- /dev/null +++ b/console-ui/src/components/charts/apexchart/ApexLineAreaCharts.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/console-ui/src/components/common/BackToTop.vue b/console-ui/src/components/common/BackToTop.vue new file mode 100644 index 0000000..bb0847c --- /dev/null +++ b/console-ui/src/components/common/BackToTop.vue @@ -0,0 +1,58 @@ + + + + + + diff --git a/console-ui/src/components/common/CopyBtn.vue b/console-ui/src/components/common/CopyBtn.vue new file mode 100644 index 0000000..f2c60c0 --- /dev/null +++ b/console-ui/src/components/common/CopyBtn.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/console-ui/src/components/common/CopyLabel.vue b/console-ui/src/components/common/CopyLabel.vue new file mode 100644 index 0000000..c817dce --- /dev/null +++ b/console-ui/src/components/common/CopyLabel.vue @@ -0,0 +1,74 @@ + + + + + + diff --git a/console-ui/src/components/common/PercentTrend.vue b/console-ui/src/components/common/PercentTrend.vue new file mode 100644 index 0000000..4a4a90a --- /dev/null +++ b/console-ui/src/components/common/PercentTrend.vue @@ -0,0 +1,28 @@ + + + + + + diff --git a/console-ui/src/components/common/Snackbar.vue b/console-ui/src/components/common/Snackbar.vue new file mode 100644 index 0000000..7384251 --- /dev/null +++ b/console-ui/src/components/common/Snackbar.vue @@ -0,0 +1,38 @@ + + diff --git a/console-ui/src/components/dashboard/ActivityCard.vue b/console-ui/src/components/dashboard/ActivityCard.vue new file mode 100644 index 0000000..625ff64 --- /dev/null +++ b/console-ui/src/components/dashboard/ActivityCard.vue @@ -0,0 +1,204 @@ + + + + diff --git a/console-ui/src/components/dashboard/ChartCard.vue b/console-ui/src/components/dashboard/ChartCard.vue new file mode 100644 index 0000000..7af795d --- /dev/null +++ b/console-ui/src/components/dashboard/ChartCard.vue @@ -0,0 +1,31 @@ + + + + diff --git a/console-ui/src/components/dashboard/SalesCard.vue b/console-ui/src/components/dashboard/SalesCard.vue new file mode 100644 index 0000000..620dff1 --- /dev/null +++ b/console-ui/src/components/dashboard/SalesCard.vue @@ -0,0 +1,176 @@ + + diff --git a/console-ui/src/components/dashboard/SourcesCard.vue b/console-ui/src/components/dashboard/SourcesCard.vue new file mode 100644 index 0000000..c98c170 --- /dev/null +++ b/console-ui/src/components/dashboard/SourcesCard.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/console-ui/src/components/dashboard/TableCard.vue b/console-ui/src/components/dashboard/TableCard.vue new file mode 100644 index 0000000..5fc1106 --- /dev/null +++ b/console-ui/src/components/dashboard/TableCard.vue @@ -0,0 +1,158 @@ + + + + diff --git a/console-ui/src/components/dashboard/TicketsCard.vue b/console-ui/src/components/dashboard/TicketsCard.vue new file mode 100644 index 0000000..dc59caf --- /dev/null +++ b/console-ui/src/components/dashboard/TicketsCard.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/console-ui/src/components/dashboard/TodoCard.vue b/console-ui/src/components/dashboard/TodoCard.vue new file mode 100644 index 0000000..65e2584 --- /dev/null +++ b/console-ui/src/components/dashboard/TodoCard.vue @@ -0,0 +1,110 @@ + + + + diff --git a/console-ui/src/components/dashboard/TrackCard.vue b/console-ui/src/components/dashboard/TrackCard.vue new file mode 100644 index 0000000..6eac322 --- /dev/null +++ b/console-ui/src/components/dashboard/TrackCard.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/console-ui/src/components/loading/Loading01.vue b/console-ui/src/components/loading/Loading01.vue new file mode 100644 index 0000000..d30277a --- /dev/null +++ b/console-ui/src/components/loading/Loading01.vue @@ -0,0 +1,91 @@ + + + diff --git a/console-ui/src/components/loading/Loading02.vue b/console-ui/src/components/loading/Loading02.vue new file mode 100644 index 0000000..5ea401c --- /dev/null +++ b/console-ui/src/components/loading/Loading02.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/console-ui/src/components/loading/Loading03.vue b/console-ui/src/components/loading/Loading03.vue new file mode 100644 index 0000000..ed9c691 --- /dev/null +++ b/console-ui/src/components/loading/Loading03.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/console-ui/src/components/navigation/MainMenu.vue b/console-ui/src/components/navigation/MainMenu.vue new file mode 100644 index 0000000..74634ed --- /dev/null +++ b/console-ui/src/components/navigation/MainMenu.vue @@ -0,0 +1,104 @@ + + + + diff --git a/console-ui/src/components/navigation/MainSiderbar.vue b/console-ui/src/components/navigation/MainSiderbar.vue new file mode 100644 index 0000000..51c319f --- /dev/null +++ b/console-ui/src/components/navigation/MainSiderbar.vue @@ -0,0 +1,99 @@ + + + + + + diff --git a/console-ui/src/components/toolbar/MainAppbar.vue b/console-ui/src/components/toolbar/MainAppbar.vue new file mode 100644 index 0000000..00be478 --- /dev/null +++ b/console-ui/src/components/toolbar/MainAppbar.vue @@ -0,0 +1,75 @@ + + + + + + diff --git a/console-ui/src/components/toolbar/StatusMenu.vue b/console-ui/src/components/toolbar/StatusMenu.vue new file mode 100644 index 0000000..d9c2e38 --- /dev/null +++ b/console-ui/src/components/toolbar/StatusMenu.vue @@ -0,0 +1,84 @@ + + + + + + diff --git a/console-ui/src/components/toolbar/ToolbarLanguage.vue b/console-ui/src/components/toolbar/ToolbarLanguage.vue new file mode 100644 index 0000000..fdf559a --- /dev/null +++ b/console-ui/src/components/toolbar/ToolbarLanguage.vue @@ -0,0 +1,43 @@ + + diff --git a/console-ui/src/components/toolbar/ToolbarNotifications.vue b/console-ui/src/components/toolbar/ToolbarNotifications.vue new file mode 100644 index 0000000..94ede95 --- /dev/null +++ b/console-ui/src/components/toolbar/ToolbarNotifications.vue @@ -0,0 +1,107 @@ + + + + + + diff --git a/console-ui/src/components/toolbar/ToolbarUser.vue b/console-ui/src/components/toolbar/ToolbarUser.vue new file mode 100644 index 0000000..a09da44 --- /dev/null +++ b/console-ui/src/components/toolbar/ToolbarUser.vue @@ -0,0 +1,176 @@ + + + + + + diff --git a/console-ui/src/configs/currencies.ts b/console-ui/src/configs/currencies.ts new file mode 100644 index 0000000..9bdd548 --- /dev/null +++ b/console-ui/src/configs/currencies.ts @@ -0,0 +1,34 @@ +const config: CurrencyConfig.Config = { + currency: { + label: "USD", + decimalDigits: 2, + decimalSeparator: ".", + thousandsSeparator: ",", + currencySymbol: "$", + currencySymbolNumberOfSpaces: 0, + currencySymbolPosition: "left", + }, + + availableCurrencies: [ + { + label: "USD", + decimalDigits: 2, + decimalSeparator: ".", + thousandsSeparator: ",", + currencySymbol: "$", + currencySymbolNumberOfSpaces: 0, + currencySymbolPosition: "left", + }, + { + label: "EUR", + decimalDigits: 2, + decimalSeparator: ".", + thousandsSeparator: ",", + currencySymbol: "€", + currencySymbolNumberOfSpaces: 1, + currencySymbolPosition: "right", + }, + ], +}; + +export default config; diff --git a/console-ui/src/configs/index.ts b/console-ui/src/configs/index.ts new file mode 100644 index 0000000..3a104d4 --- /dev/null +++ b/console-ui/src/configs/index.ts @@ -0,0 +1,14 @@ +import navigation from "./navigation"; +import locales from "./locales"; +import currency from "./currencies"; +export default { + // product display information + product: { + name: "ChopperBot", + version: "1.0.0", + }, + + navigation, + locales, + currency, +}; diff --git a/console-ui/src/configs/locales.ts b/console-ui/src/configs/locales.ts new file mode 100644 index 0000000..ab29b6f --- /dev/null +++ b/console-ui/src/configs/locales.ts @@ -0,0 +1,53 @@ +import enMessages from "../locales/en"; +import zhHansMessages from "../locales/zhHans"; +import jaMessages from "../locales/ja"; + +const supported = ["en", "zhHans", "ja"]; +let locale = "en"; + +try { + // get browser default language + const { 0: browserLang } = navigator.language.split("-"); + + if (supported.includes(browserLang)) locale = browserLang; +} catch (e) { + console.log(e); +} + +export default { + // current locale + locale, + + // when translation is not available fallback to that locale + fallbackLocale: "en", + + // availabled locales for user selection + availableLocales: [ + { + code: "en", + flag: "us", + name: "united-states", + label: "English", + messages: enMessages, + }, + { + code: "zhHans", + flag: "cn", + name: "china", + label: "中文", + messages: zhHansMessages, + }, + { + code: "ja", + flag: "jp", + name: "japan", + label: "日本語", + messages: jaMessages, + }, + ], + messages: { + en: enMessages, + zhHans: zhHansMessages, + ja: jaMessages, + }, +}; diff --git a/console-ui/src/configs/menus/ai.menu.ts b/console-ui/src/configs/menus/ai.menu.ts new file mode 100644 index 0000000..addc1ad --- /dev/null +++ b/console-ui/src/configs/menus/ai.menu.ts @@ -0,0 +1,14 @@ +export default [ + { + icon: "mdi-robot-excited-outline", + key: "menu.chatbot_v1", + text: "Chatbot_V1", + link: "/ai/chatbot_v1", + }, + { + icon: "mdi-robot-love-outline", + key: "menu.chatbot_v2", + text: "Chatbot_V2", + link: "/ai/chatbot_v2", + }, +]; diff --git a/console-ui/src/configs/menus/apps.menu.ts b/console-ui/src/configs/menus/apps.menu.ts new file mode 100644 index 0000000..ba98e6e --- /dev/null +++ b/console-ui/src/configs/menus/apps.menu.ts @@ -0,0 +1,51 @@ +export default [ + { + icon: "mdi-bulletin-board", + key: "menu.board", + text: "Board", + link: "/apps/board", + }, + + { + icon: "mdi-forum-outline", + key: "menu.chat", + text: "Chat", + link: "/apps/chat", + }, + { + icon: "mdi-format-list-checkbox", + key: "menu.todo", + text: "Todo", + link: "/apps/todo", + }, + // { + // icon: "mdi-bookmark-plus", + // key: "menu.nitori", + // text: "Nitori", + // link: "/apps/nitori", + // }, + // { + // icon: "mdi-bookmark-plus", + // key: "menu.booking", + // text: "Booking", + // link: "/apps/booking", + // }, + // { + // icon: "mdi-bookmark-plus", + // key: "menu.ikea", + // text: "Ikea", + // link: "/apps/ikea", + // }, + { + icon: "mdi-bookmark-plus", + key: "menu.unsplash", + text: "Unsplash", + link: "/apps/unsplash", + }, + { + icon: "mdi-email-outline", + key: "menu.email", + text: "Email", + link: "/apps/email", + }, +]; diff --git a/console-ui/src/configs/menus/charts.menu.ts b/console-ui/src/configs/menus/charts.menu.ts new file mode 100644 index 0000000..f3e3186 --- /dev/null +++ b/console-ui/src/configs/menus/charts.menu.ts @@ -0,0 +1,38 @@ +export default [ + { + icon: "mdi-chart-line", + text: "EchartLine", + link: "/chart/echart-line", + key: "menu.echartLine", + }, + { + icon: "mdi-chart-bar", + text: "EchartBar", + link: "/chart/echart-bar", + key: "menu.echartBar", + }, + { + icon: "mdi-chart-pie", + text: "EchartPie", + link: "/chart/echart-pie", + key: "menu.echartPie", + }, + { + icon: "mdi-chart-scatter-plot", + text: "EchartScatter", + link: "/chart/echart-scatter", + key: "menu.echartScatter", + }, + { + icon: "mdi-chart-timeline-variant-shimmer", + text: "EchartOthers", + link: "/chart/echart-others", + key: "menu.echartOthers", + }, + { + icon: "mdi-chart-timeline", + text: "ApexChart", + link: "/chart/apexchart", + key: "menu.apexChart", + }, +]; diff --git a/console-ui/src/configs/menus/data.menu.ts b/console-ui/src/configs/menus/data.menu.ts new file mode 100644 index 0000000..9977548 --- /dev/null +++ b/console-ui/src/configs/menus/data.menu.ts @@ -0,0 +1,37 @@ +export default [ + // users Data + { + icon: "mdi-table", + text: "Users Data", + link: "/data/users-data", + key: "menu.data.usersDataPage", + }, + // photos Data + { + icon: "mdi-table", + text: "Photos Data", + link: "/data/photos-data", + key: "menu.data.photosDataPage", + }, + // collection Data + { + icon: "mdi-table", + text: "Collections Data", + link: "/data/collections-data", + key: "menu.data.collectionsDataPage", + }, + // topics Data + { + icon: "mdi-table", + text: "Topics Data", + link: "/data/topics-data", + key: "menu.data.topicsDataPage", + }, + // topic Photos Data + // { + // icon: "mdi-table", + // text: "Topic Photos Data", + // link: "/data/topic-photos-data", + // key: "menu.data.topicPhotosDataPage", + // }, +]; diff --git a/console-ui/src/configs/menus/landing.menu.ts b/console-ui/src/configs/menus/landing.menu.ts new file mode 100644 index 0000000..1a63a8b --- /dev/null +++ b/console-ui/src/configs/menus/landing.menu.ts @@ -0,0 +1,80 @@ +export default [ + { + icon: "mdi-dots-hexagon", + key: "menu.heroPage", + text: "Hero Page", + link: "/landing/hero", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.featurePage", + text: "Feature Page", + link: "/landing/feature", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.pricingPage", + text: "Pricing Page", + link: "/landing/pricing", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.cardPage", + text: "Card Page", + link: "/landing/card", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.teamPage", + text: "Team Page", + link: "/landing/team", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.testimonialPage", + text: "Testimonial Page", + link: "/landing/testimonial", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.statsPage", + text: "Stats Page", + link: "/landing/stats", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.logosPage", + text: "Logos Page", + link: "/landing/logos", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.callToActionPage", + text: "Call To Action Page", + link: "/landing/calltoaction", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.newsletterPage", + text: "Newsletter Page", + link: "/landing/newsletter", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.faqPage", + text: "FAQ Page", + link: "/landing/faq", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.toolbarPage", + text: "Toolbar Page", + link: "/landing/toolbar", + }, + { + icon: "mdi-dots-hexagon", + key: "menu.footerPage", + text: "Footer Page", + link: "/landing/footer", + }, +]; diff --git a/console-ui/src/configs/menus/pages.menu.ts b/console-ui/src/configs/menus/pages.menu.ts new file mode 100644 index 0000000..1b7f272 --- /dev/null +++ b/console-ui/src/configs/menus/pages.menu.ts @@ -0,0 +1,86 @@ +export default [ + { + icon: "mdi-file-lock-outline", + key: "menu.auth", + text: "Auth Pages", + regex: /^\/auth/, + items: [ + { + icon: "mdi-login", + key: "menu.authLogin", + text: "Signin / Login", + link: "/auth/signin", + }, + { + icon: "mdi-logout", + key: "menu.authRegister", + text: "Signup / Register", + link: "/auth/signup", + }, + { + icon: "mdi-email-check", + key: "menu.authVerify", + text: "Signup / AuthVerify", + link: "/auth/verify-email", + }, + { + icon: "mdi-file-outline", + key: "menu.authForgot", + text: "Forgot Password", + link: "/auth/forgot-password", + }, + { + icon: "mdi-file-outline", + key: "menu.authReset", + text: "Reset Password", + link: "/auth/reset-password", + }, + ], + }, + { + icon: "mdi-file-cancel-outline", + key: "menu.errorPages", + text: "Error Pages", + regex: /^\/error/, + items: [ + { + icon: "mdi-note-remove", + key: "menu.errorNotFound", + text: "Not Found / 404", + link: "/error/not-found", + }, + { + icon: "mdi-note-remove-outline", + key: "menu.errorUnexpected", + text: "Unexpected / 500", + link: "/error/unexpected", + }, + ], + }, + { + icon: "mdi-file-cog-outline", + key: "menu.utilityPages", + text: "Utility Pages", + regex: /^\/utility/, + items: [ + { + icon: "mdi-wrench-clock", + key: "menu.utilityMaintenance", + text: "Maintenance", + link: "/utility/maintenance", + }, + { + icon: "mdi-timer-sand", + key: "menu.utilitySoon", + text: "Coming Soon", + link: "/utility/coming-soon", + }, + { + icon: "mdi-comment-question-outline", + key: "menu.utilityHelp", + text: "FAQs / Help", + link: "/utility/help", + }, + ], + }, +]; diff --git a/console-ui/src/configs/menus/ui.menu.ts b/console-ui/src/configs/menus/ui.menu.ts new file mode 100644 index 0000000..2adc934 --- /dev/null +++ b/console-ui/src/configs/menus/ui.menu.ts @@ -0,0 +1,72 @@ +export default [ + // { + // icon: "mdi-palette-outline", + // text: "Styles", + // regex: /^\/ui\/styles/, + // items: [ + // { text: "Cursor", link: "/ui/styles/cursor" }, + // { text: "Position", link: "/ui/styles/position" }, + // { text: "Sizing", link: "/ui/styles/sizing" }, + // ], + // }, + { + icon: "mdi-format-color-fill", + text: "Data Table", + link: "/ui/data-table", + key: "menu.dataTable", + }, + { + icon: "mdi-format-color-fill", + text: "Colors", + link: "/ui/colors", + key: "menu.colors", + }, + { + icon: "mdi-format-color-fill", + text: "Gradient", + link: "/ui/gradient", + key: "menu.gradient", + }, + // { + // icon: "mdi-card", + // text: "Card", + // link: "/ui/card", + // key: "menu.card", + // }, + // { + // icon: "mdi-view-dashboard-variant-outline", + // text: "Grids", + // link: "/ui/grids", + // key: "menu.grids", + // }, + { + icon: "mdi-page-layout-sidebar-right", + text: "Scrollbar", + link: "/ui/scrollbar", + key: "menu.scrollbar", + }, + { + icon: "mdi-waves", + text: "WaterFall", + link: "/ui/water-fall", + key: "menu.waterFall", + }, + { + icon: "mdi-wall", + text: "Masonry", + link: "/ui/masonry", + key: "menu.masonry", + }, + { + icon: "mdi-format-list-text", + text: "VirtualList", + link: "/ui/virtual-list", + key: "menu.virtualList", + }, + { + icon: "mdi-format-list-bulleted-triangle", + text: "VirtualScroller", + link: "/ui/virtual-scroller", + key: "menu.virtualScroller", + }, +]; diff --git a/console-ui/src/configs/navigation.ts b/console-ui/src/configs/navigation.ts new file mode 100644 index 0000000..ae88085 --- /dev/null +++ b/console-ui/src/configs/navigation.ts @@ -0,0 +1,63 @@ +import menuUI from "./menus/ui.menu"; +import menuApps from "./menus/apps.menu"; +import menuPages from "./menus/pages.menu"; +import menuCharts from "./menus/charts.menu"; +import menuLanding from "./menus/landing.menu"; +import menuData from "./menus/data.menu"; +import menuAi from "./menus/ai.menu"; + +export default { + menu: [ + { + text: "", + key: "", + items: [ + { + key: "menu.dashboard", + text: "Dashboard", + link: "/dashboard", + icon: "mdi-view-dashboard-outline", + }, + ], + }, + { + text: "chatgpt", + items: menuAi, + }, + { + text: "Apps", + items: menuApps, + }, + { + text: "Data Tables", + items: menuData, + }, + { + text: "Landing", + items: [ + ...menuLanding, + // { + // icon: "mdi-airplane-landing", + // key: "menu.landingPage", + // text: "Landing Page", + // link: "/landing", + // }, + ], + }, + + { + text: "UI - Theme Preview", + items: menuUI, + }, + { + text: "Pages", + key: "menu.pages", + items: menuPages, + }, + { + text: "Charts", + key: "menu.charts", + items: menuCharts, + }, + ], +}; diff --git a/console-ui/src/data/colors.ts b/console-ui/src/data/colors.ts new file mode 100644 index 0000000..878f16a --- /dev/null +++ b/console-ui/src/data/colors.ts @@ -0,0 +1,1763 @@ +// // exports.default = void 0; +var red = Object.freeze({ + base: "#f44336", + lighten5: "#ffebee", + lighten4: "#ffcdd2", + lighten3: "#ef9a9a", + lighten2: "#e57373", + lighten1: "#ef5350", + darken1: "#e53935", + darken2: "#d32f2f", + darken3: "#c62828", + darken4: "#b71c1c", + accent1: "#ff8a80", + accent2: "#ff5252", + accent3: "#ff1744", + accent4: "#d50000", +}); +var pink = Object.freeze({ + base: "#e91e63", + lighten5: "#fce4ec", + lighten4: "#f8bbd0", + lighten3: "#f48fb1", + lighten2: "#f06292", + lighten1: "#ec407a", + darken1: "#d81b60", + darken2: "#c2185b", + darken3: "#ad1457", + darken4: "#880e4f", + accent1: "#ff80ab", + accent2: "#ff4081", + accent3: "#f50057", + accent4: "#c51162", +}); +var purple = Object.freeze({ + base: "#9c27b0", + lighten5: "#f3e5f5", + lighten4: "#e1bee7", + lighten3: "#ce93d8", + lighten2: "#ba68c8", + lighten1: "#ab47bc", + darken1: "#8e24aa", + darken2: "#7b1fa2", + darken3: "#6a1b9a", + darken4: "#4a148c", + accent1: "#ea80fc", + accent2: "#e040fb", + accent3: "#d500f9", + accent4: "#aa00ff", +}); +var deepPurple = Object.freeze({ + base: "#673ab7", + lighten5: "#ede7f6", + lighten4: "#d1c4e9", + lighten3: "#b39ddb", + lighten2: "#9575cd", + lighten1: "#7e57c2", + darken1: "#5e35b1", + darken2: "#512da8", + darken3: "#4527a0", + darken4: "#311b92", + accent1: "#b388ff", + accent2: "#7c4dff", + accent3: "#651fff", + accent4: "#6200ea", +}); +var indigo = Object.freeze({ + base: "#3f51b5", + lighten5: "#e8eaf6", + lighten4: "#c5cae9", + lighten3: "#9fa8da", + lighten2: "#7986cb", + lighten1: "#5c6bc0", + darken1: "#3949ab", + darken2: "#303f9f", + darken3: "#283593", + darken4: "#1a237e", + accent1: "#8c9eff", + accent2: "#536dfe", + accent3: "#3d5afe", + accent4: "#304ffe", +}); +var blue = Object.freeze({ + base: "#2196f3", + lighten5: "#e3f2fd", + lighten4: "#bbdefb", + lighten3: "#90caf9", + lighten2: "#64b5f6", + lighten1: "#42a5f5", + darken1: "#1e88e5", + darken2: "#1976d2", + darken3: "#1565c0", + darken4: "#0d47a1", + accent1: "#82b1ff", + accent2: "#448aff", + accent3: "#2979ff", + accent4: "#2962ff", +}); +var lightBlue = Object.freeze({ + base: "#03a9f4", + lighten5: "#e1f5fe", + lighten4: "#b3e5fc", + lighten3: "#81d4fa", + lighten2: "#4fc3f7", + lighten1: "#29b6f6", + darken1: "#039be5", + darken2: "#0288d1", + darken3: "#0277bd", + darken4: "#01579b", + accent1: "#80d8ff", + accent2: "#40c4ff", + accent3: "#00b0ff", + accent4: "#0091ea", +}); +var cyan = Object.freeze({ + base: "#00bcd4", + lighten5: "#e0f7fa", + lighten4: "#b2ebf2", + lighten3: "#80deea", + lighten2: "#4dd0e1", + lighten1: "#26c6da", + darken1: "#00acc1", + darken2: "#0097a7", + darken3: "#00838f", + darken4: "#006064", + accent1: "#84ffff", + accent2: "#18ffff", + accent3: "#00e5ff", + accent4: "#00b8d4", +}); +var teal = Object.freeze({ + base: "#009688", + lighten5: "#e0f2f1", + lighten4: "#b2dfdb", + lighten3: "#80cbc4", + lighten2: "#4db6ac", + lighten1: "#26a69a", + darken1: "#00897b", + darken2: "#00796b", + darken3: "#00695c", + darken4: "#004d40", + accent1: "#a7ffeb", + accent2: "#64ffda", + accent3: "#1de9b6", + accent4: "#00bfa5", +}); +var green = Object.freeze({ + base: "#4caf50", + lighten5: "#e8f5e9", + lighten4: "#c8e6c9", + lighten3: "#a5d6a7", + lighten2: "#81c784", + lighten1: "#66bb6a", + darken1: "#43a047", + darken2: "#388e3c", + darken3: "#2e7d32", + darken4: "#1b5e20", + accent1: "#b9f6ca", + accent2: "#69f0ae", + accent3: "#00e676", + accent4: "#00c853", +}); +var lightGreen = Object.freeze({ + base: "#8bc34a", + lighten5: "#f1f8e9", + lighten4: "#dcedc8", + lighten3: "#c5e1a5", + lighten2: "#aed581", + lighten1: "#9ccc65", + darken1: "#7cb342", + darken2: "#689f38", + darken3: "#558b2f", + darken4: "#33691e", + accent1: "#ccff90", + accent2: "#b2ff59", + accent3: "#76ff03", + accent4: "#64dd17", +}); +var lime = Object.freeze({ + base: "#cddc39", + lighten5: "#f9fbe7", + lighten4: "#f0f4c3", + lighten3: "#e6ee9c", + lighten2: "#dce775", + lighten1: "#d4e157", + darken1: "#c0ca33", + darken2: "#afb42b", + darken3: "#9e9d24", + darken4: "#827717", + accent1: "#f4ff81", + accent2: "#eeff41", + accent3: "#c6ff00", + accent4: "#aeea00", +}); +var yellow = Object.freeze({ + base: "#ffeb3b", + lighten5: "#fffde7", + lighten4: "#fff9c4", + lighten3: "#fff59d", + lighten2: "#fff176", + lighten1: "#ffee58", + darken1: "#fdd835", + darken2: "#fbc02d", + darken3: "#f9a825", + darken4: "#f57f17", + accent1: "#ffff8d", + accent2: "#ffff00", + accent3: "#ffea00", + accent4: "#ffd600", +}); +var amber = Object.freeze({ + base: "#ffc107", + lighten5: "#fff8e1", + lighten4: "#ffecb3", + lighten3: "#ffe082", + lighten2: "#ffd54f", + lighten1: "#ffca28", + darken1: "#ffb300", + darken2: "#ffa000", + darken3: "#ff8f00", + darken4: "#ff6f00", + accent1: "#ffe57f", + accent2: "#ffd740", + accent3: "#ffc400", + accent4: "#ffab00", +}); +var orange = Object.freeze({ + base: "#ff9800", + lighten5: "#fff3e0", + lighten4: "#ffe0b2", + lighten3: "#ffcc80", + lighten2: "#ffb74d", + lighten1: "#ffa726", + darken1: "#fb8c00", + darken2: "#f57c00", + darken3: "#ef6c00", + darken4: "#e65100", + accent1: "#ffd180", + accent2: "#ffab40", + accent3: "#ff9100", + accent4: "#ff6d00", +}); +var deepOrange = Object.freeze({ + base: "#ff5722", + lighten5: "#fbe9e7", + lighten4: "#ffccbc", + lighten3: "#ffab91", + lighten2: "#ff8a65", + lighten1: "#ff7043", + darken1: "#f4511e", + darken2: "#e64a19", + darken3: "#d84315", + darken4: "#bf360c", + accent1: "#ff9e80", + accent2: "#ff6e40", + accent3: "#ff3d00", + accent4: "#dd2c00", +}); +var brown = Object.freeze({ + base: "#795548", + lighten5: "#efebe9", + lighten4: "#d7ccc8", + lighten3: "#bcaaa4", + lighten2: "#a1887f", + lighten1: "#8d6e63", + darken1: "#6d4c41", + darken2: "#5d4037", + darken3: "#4e342e", + darken4: "#3e2723", +}); +var blueGrey = Object.freeze({ + base: "#607d8b", + lighten5: "#eceff1", + lighten4: "#cfd8dc", + lighten3: "#b0bec5", + lighten2: "#90a4ae", + lighten1: "#78909c", + darken1: "#546e7a", + darken2: "#455a64", + darken3: "#37474f", + darken4: "#263238", +}); +var grey = Object.freeze({ + base: "#9e9e9e", + lighten5: "#fafafa", + lighten4: "#f5f5f5", + lighten3: "#eeeeee", + lighten2: "#e0e0e0", + lighten1: "#bdbdbd", + darken1: "#757575", + darken2: "#616161", + darken3: "#424242", + darken4: "#212121", +}); +var shades = Object.freeze({ + black: "#000000", + white: "#ffffff", + transparent: "transparent", +}); + +export const materialColorThemes = Object.freeze({ + red: red, + pink: pink, + purple: purple, + deepPurple: deepPurple, + indigo: indigo, + blue: blue, + lightBlue: lightBlue, + cyan: cyan, + teal: teal, + green: green, + lightGreen: lightGreen, + lime: lime, + yellow: yellow, + amber: amber, + orange: orange, + deepOrange: deepOrange, + brown: brown, + blueGrey: blueGrey, + grey: grey, + shades: shades, +}); + +// dark1 => dark-1 +const convertToClass = (str: string) => { + return str.replace(/^([a-z]+)(\d)$/, "$1-$2"); +}; + +// blueGrey => blue-grey +const converToKebabCase = (str: string) => { + return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); +}; + +// Color Object to Array +const convertColorObject = (colorName: string, colorObj: any) => { + const colorsArray = Object.entries(colorObj).map(([key, color]) => { + const colorClass = converToKebabCase(colorName) + "-" + convertToClass(key); + return { key, color, colorClass }; + }); + + return { + key: colorName, + class: converToKebabCase(colorName), + colors: colorsArray, + }; +}; + +export const colorList = () => { + const colorList: any = []; + Object.keys(materialColorThemes).forEach((key) => { + const color = materialColorThemes[key]; + const colorObj = convertColorObject(key, color); + colorList.push(colorObj); + }); + return colorList; +}; + +export const fullColorList = [ + { + key: "red", + class: "red", + colors: [ + { + key: "base", + color: "#f44336", + colorClass: "red-base", + }, + { + key: "lighten5", + color: "#ffebee", + colorClass: "red-lighten-5", + }, + { + key: "lighten4", + color: "#ffcdd2", + colorClass: "red-lighten-4", + }, + { + key: "lighten3", + color: "#ef9a9a", + colorClass: "red-lighten-3", + }, + { + key: "lighten2", + color: "#e57373", + colorClass: "red-lighten-2", + }, + { + key: "lighten1", + color: "#ef5350", + colorClass: "red-lighten-1", + }, + { + key: "darken1", + color: "#e53935", + colorClass: "red-darken-1", + }, + { + key: "darken2", + color: "#d32f2f", + colorClass: "red-darken-2", + }, + { + key: "darken3", + color: "#c62828", + colorClass: "red-darken-3", + }, + { + key: "darken4", + color: "#b71c1c", + colorClass: "red-darken-4", + }, + { + key: "accent1", + color: "#ff8a80", + colorClass: "red-accent-1", + }, + { + key: "accent2", + color: "#ff5252", + colorClass: "red-accent-2", + }, + { + key: "accent3", + color: "#ff1744", + colorClass: "red-accent-3", + }, + { + key: "accent4", + color: "#d50000", + colorClass: "red-accent-4", + }, + ], + }, + { + key: "pink", + class: "pink", + colors: [ + { + key: "base", + color: "#e91e63", + colorClass: "pink-base", + }, + { + key: "lighten5", + color: "#fce4ec", + colorClass: "pink-lighten-5", + }, + { + key: "lighten4", + color: "#f8bbd0", + colorClass: "pink-lighten-4", + }, + { + key: "lighten3", + color: "#f48fb1", + colorClass: "pink-lighten-3", + }, + { + key: "lighten2", + color: "#f06292", + colorClass: "pink-lighten-2", + }, + { + key: "lighten1", + color: "#ec407a", + colorClass: "pink-lighten-1", + }, + { + key: "darken1", + color: "#d81b60", + colorClass: "pink-darken-1", + }, + { + key: "darken2", + color: "#c2185b", + colorClass: "pink-darken-2", + }, + { + key: "darken3", + color: "#ad1457", + colorClass: "pink-darken-3", + }, + { + key: "darken4", + color: "#880e4f", + colorClass: "pink-darken-4", + }, + { + key: "accent1", + color: "#ff80ab", + colorClass: "pink-accent-1", + }, + { + key: "accent2", + color: "#ff4081", + colorClass: "pink-accent-2", + }, + { + key: "accent3", + color: "#f50057", + colorClass: "pink-accent-3", + }, + { + key: "accent4", + color: "#c51162", + colorClass: "pink-accent-4", + }, + ], + }, + { + key: "purple", + class: "purple", + colors: [ + { + key: "base", + color: "#9c27b0", + colorClass: "purple-base", + }, + { + key: "lighten5", + color: "#f3e5f5", + colorClass: "purple-lighten-5", + }, + { + key: "lighten4", + color: "#e1bee7", + colorClass: "purple-lighten-4", + }, + { + key: "lighten3", + color: "#ce93d8", + colorClass: "purple-lighten-3", + }, + { + key: "lighten2", + color: "#ba68c8", + colorClass: "purple-lighten-2", + }, + { + key: "lighten1", + color: "#ab47bc", + colorClass: "purple-lighten-1", + }, + { + key: "darken1", + color: "#8e24aa", + colorClass: "purple-darken-1", + }, + { + key: "darken2", + color: "#7b1fa2", + colorClass: "purple-darken-2", + }, + { + key: "darken3", + color: "#6a1b9a", + colorClass: "purple-darken-3", + }, + { + key: "darken4", + color: "#4a148c", + colorClass: "purple-darken-4", + }, + { + key: "accent1", + color: "#ea80fc", + colorClass: "purple-accent-1", + }, + { + key: "accent2", + color: "#e040fb", + colorClass: "purple-accent-2", + }, + { + key: "accent3", + color: "#d500f9", + colorClass: "purple-accent-3", + }, + { + key: "accent4", + color: "#aa00ff", + colorClass: "purple-accent-4", + }, + ], + }, + { + key: "deepPurple", + class: "deep-purple", + colors: [ + { + key: "base", + color: "#673ab7", + colorClass: "deep-purple-base", + }, + { + key: "lighten5", + color: "#ede7f6", + colorClass: "deep-purple-lighten-5", + }, + { + key: "lighten4", + color: "#d1c4e9", + colorClass: "deep-purple-lighten-4", + }, + { + key: "lighten3", + color: "#b39ddb", + colorClass: "deep-purple-lighten-3", + }, + { + key: "lighten2", + color: "#9575cd", + colorClass: "deep-purple-lighten-2", + }, + { + key: "lighten1", + color: "#7e57c2", + colorClass: "deep-purple-lighten-1", + }, + { + key: "darken1", + color: "#5e35b1", + colorClass: "deep-purple-darken-1", + }, + { + key: "darken2", + color: "#512da8", + colorClass: "deep-purple-darken-2", + }, + { + key: "darken3", + color: "#4527a0", + colorClass: "deep-purple-darken-3", + }, + { + key: "darken4", + color: "#311b92", + colorClass: "deep-purple-darken-4", + }, + { + key: "accent1", + color: "#b388ff", + colorClass: "deep-purple-accent-1", + }, + { + key: "accent2", + color: "#7c4dff", + colorClass: "deep-purple-accent-2", + }, + { + key: "accent3", + color: "#651fff", + colorClass: "deep-purple-accent-3", + }, + { + key: "accent4", + color: "#6200ea", + colorClass: "deep-purple-accent-4", + }, + ], + }, + { + key: "indigo", + class: "indigo", + colors: [ + { + key: "base", + color: "#3f51b5", + colorClass: "indigo-base", + }, + { + key: "lighten5", + color: "#e8eaf6", + colorClass: "indigo-lighten-5", + }, + { + key: "lighten4", + color: "#c5cae9", + colorClass: "indigo-lighten-4", + }, + { + key: "lighten3", + color: "#9fa8da", + colorClass: "indigo-lighten-3", + }, + { + key: "lighten2", + color: "#7986cb", + colorClass: "indigo-lighten-2", + }, + { + key: "lighten1", + color: "#5c6bc0", + colorClass: "indigo-lighten-1", + }, + { + key: "darken1", + color: "#3949ab", + colorClass: "indigo-darken-1", + }, + { + key: "darken2", + color: "#303f9f", + colorClass: "indigo-darken-2", + }, + { + key: "darken3", + color: "#283593", + colorClass: "indigo-darken-3", + }, + { + key: "darken4", + color: "#1a237e", + colorClass: "indigo-darken-4", + }, + { + key: "accent1", + color: "#8c9eff", + colorClass: "indigo-accent-1", + }, + { + key: "accent2", + color: "#536dfe", + colorClass: "indigo-accent-2", + }, + { + key: "accent3", + color: "#3d5afe", + colorClass: "indigo-accent-3", + }, + { + key: "accent4", + color: "#304ffe", + colorClass: "indigo-accent-4", + }, + ], + }, + { + key: "blue", + class: "blue", + colors: [ + { + key: "base", + color: "#2196f3", + colorClass: "blue-base", + }, + { + key: "lighten5", + color: "#e3f2fd", + colorClass: "blue-lighten-5", + }, + { + key: "lighten4", + color: "#bbdefb", + colorClass: "blue-lighten-4", + }, + { + key: "lighten3", + color: "#90caf9", + colorClass: "blue-lighten-3", + }, + { + key: "lighten2", + color: "#64b5f6", + colorClass: "blue-lighten-2", + }, + { + key: "lighten1", + color: "#42a5f5", + colorClass: "blue-lighten-1", + }, + { + key: "darken1", + color: "#1e88e5", + colorClass: "blue-darken-1", + }, + { + key: "darken2", + color: "#1976d2", + colorClass: "blue-darken-2", + }, + { + key: "darken3", + color: "#1565c0", + colorClass: "blue-darken-3", + }, + { + key: "darken4", + color: "#0d47a1", + colorClass: "blue-darken-4", + }, + { + key: "accent1", + color: "#82b1ff", + colorClass: "blue-accent-1", + }, + { + key: "accent2", + color: "#448aff", + colorClass: "blue-accent-2", + }, + { + key: "accent3", + color: "#2979ff", + colorClass: "blue-accent-3", + }, + { + key: "accent4", + color: "#2962ff", + colorClass: "blue-accent-4", + }, + ], + }, + { + key: "lightBlue", + class: "light-blue", + colors: [ + { + key: "base", + color: "#03a9f4", + colorClass: "light-blue-base", + }, + { + key: "lighten5", + color: "#e1f5fe", + colorClass: "light-blue-lighten-5", + }, + { + key: "lighten4", + color: "#b3e5fc", + colorClass: "light-blue-lighten-4", + }, + { + key: "lighten3", + color: "#81d4fa", + colorClass: "light-blue-lighten-3", + }, + { + key: "lighten2", + color: "#4fc3f7", + colorClass: "light-blue-lighten-2", + }, + { + key: "lighten1", + color: "#29b6f6", + colorClass: "light-blue-lighten-1", + }, + { + key: "darken1", + color: "#039be5", + colorClass: "light-blue-darken-1", + }, + { + key: "darken2", + color: "#0288d1", + colorClass: "light-blue-darken-2", + }, + { + key: "darken3", + color: "#0277bd", + colorClass: "light-blue-darken-3", + }, + { + key: "darken4", + color: "#01579b", + colorClass: "light-blue-darken-4", + }, + { + key: "accent1", + color: "#80d8ff", + colorClass: "light-blue-accent-1", + }, + { + key: "accent2", + color: "#40c4ff", + colorClass: "light-blue-accent-2", + }, + { + key: "accent3", + color: "#00b0ff", + colorClass: "light-blue-accent-3", + }, + { + key: "accent4", + color: "#0091ea", + colorClass: "light-blue-accent-4", + }, + ], + }, + { + key: "cyan", + class: "cyan", + colors: [ + { + key: "base", + color: "#00bcd4", + colorClass: "cyan-base", + }, + { + key: "lighten5", + color: "#e0f7fa", + colorClass: "cyan-lighten-5", + }, + { + key: "lighten4", + color: "#b2ebf2", + colorClass: "cyan-lighten-4", + }, + { + key: "lighten3", + color: "#80deea", + colorClass: "cyan-lighten-3", + }, + { + key: "lighten2", + color: "#4dd0e1", + colorClass: "cyan-lighten-2", + }, + { + key: "lighten1", + color: "#26c6da", + colorClass: "cyan-lighten-1", + }, + { + key: "darken1", + color: "#00acc1", + colorClass: "cyan-darken-1", + }, + { + key: "darken2", + color: "#0097a7", + colorClass: "cyan-darken-2", + }, + { + key: "darken3", + color: "#00838f", + colorClass: "cyan-darken-3", + }, + { + key: "darken4", + color: "#006064", + colorClass: "cyan-darken-4", + }, + { + key: "accent1", + color: "#84ffff", + colorClass: "cyan-accent-1", + }, + { + key: "accent2", + color: "#18ffff", + colorClass: "cyan-accent-2", + }, + { + key: "accent3", + color: "#00e5ff", + colorClass: "cyan-accent-3", + }, + { + key: "accent4", + color: "#00b8d4", + colorClass: "cyan-accent-4", + }, + ], + }, + { + key: "teal", + class: "teal", + colors: [ + { + key: "base", + color: "#009688", + colorClass: "teal-base", + }, + { + key: "lighten5", + color: "#e0f2f1", + colorClass: "teal-lighten-5", + }, + { + key: "lighten4", + color: "#b2dfdb", + colorClass: "teal-lighten-4", + }, + { + key: "lighten3", + color: "#80cbc4", + colorClass: "teal-lighten-3", + }, + { + key: "lighten2", + color: "#4db6ac", + colorClass: "teal-lighten-2", + }, + { + key: "lighten1", + color: "#26a69a", + colorClass: "teal-lighten-1", + }, + { + key: "darken1", + color: "#00897b", + colorClass: "teal-darken-1", + }, + { + key: "darken2", + color: "#00796b", + colorClass: "teal-darken-2", + }, + { + key: "darken3", + color: "#00695c", + colorClass: "teal-darken-3", + }, + { + key: "darken4", + color: "#004d40", + colorClass: "teal-darken-4", + }, + { + key: "accent1", + color: "#a7ffeb", + colorClass: "teal-accent-1", + }, + { + key: "accent2", + color: "#64ffda", + colorClass: "teal-accent-2", + }, + { + key: "accent3", + color: "#1de9b6", + colorClass: "teal-accent-3", + }, + { + key: "accent4", + color: "#00bfa5", + colorClass: "teal-accent-4", + }, + ], + }, + { + key: "green", + class: "green", + colors: [ + { + key: "base", + color: "#4caf50", + colorClass: "green-base", + }, + { + key: "lighten5", + color: "#e8f5e9", + colorClass: "green-lighten-5", + }, + { + key: "lighten4", + color: "#c8e6c9", + colorClass: "green-lighten-4", + }, + { + key: "lighten3", + color: "#a5d6a7", + colorClass: "green-lighten-3", + }, + { + key: "lighten2", + color: "#81c784", + colorClass: "green-lighten-2", + }, + { + key: "lighten1", + color: "#66bb6a", + colorClass: "green-lighten-1", + }, + { + key: "darken1", + color: "#43a047", + colorClass: "green-darken-1", + }, + { + key: "darken2", + color: "#388e3c", + colorClass: "green-darken-2", + }, + { + key: "darken3", + color: "#2e7d32", + colorClass: "green-darken-3", + }, + { + key: "darken4", + color: "#1b5e20", + colorClass: "green-darken-4", + }, + { + key: "accent1", + color: "#b9f6ca", + colorClass: "green-accent-1", + }, + { + key: "accent2", + color: "#69f0ae", + colorClass: "green-accent-2", + }, + { + key: "accent3", + color: "#00e676", + colorClass: "green-accent-3", + }, + { + key: "accent4", + color: "#00c853", + colorClass: "green-accent-4", + }, + ], + }, + { + key: "lightGreen", + class: "light-green", + colors: [ + { + key: "base", + color: "#8bc34a", + colorClass: "light-green-base", + }, + { + key: "lighten5", + color: "#f1f8e9", + colorClass: "light-green-lighten-5", + }, + { + key: "lighten4", + color: "#dcedc8", + colorClass: "light-green-lighten-4", + }, + { + key: "lighten3", + color: "#c5e1a5", + colorClass: "light-green-lighten-3", + }, + { + key: "lighten2", + color: "#aed581", + colorClass: "light-green-lighten-2", + }, + { + key: "lighten1", + color: "#9ccc65", + colorClass: "light-green-lighten-1", + }, + { + key: "darken1", + color: "#7cb342", + colorClass: "light-green-darken-1", + }, + { + key: "darken2", + color: "#689f38", + colorClass: "light-green-darken-2", + }, + { + key: "darken3", + color: "#558b2f", + colorClass: "light-green-darken-3", + }, + { + key: "darken4", + color: "#33691e", + colorClass: "light-green-darken-4", + }, + { + key: "accent1", + color: "#ccff90", + colorClass: "light-green-accent-1", + }, + { + key: "accent2", + color: "#b2ff59", + colorClass: "light-green-accent-2", + }, + { + key: "accent3", + color: "#76ff03", + colorClass: "light-green-accent-3", + }, + { + key: "accent4", + color: "#64dd17", + colorClass: "light-green-accent-4", + }, + ], + }, + { + key: "lime", + class: "lime", + colors: [ + { + key: "base", + color: "#cddc39", + colorClass: "lime-base", + }, + { + key: "lighten5", + color: "#f9fbe7", + colorClass: "lime-lighten-5", + }, + { + key: "lighten4", + color: "#f0f4c3", + colorClass: "lime-lighten-4", + }, + { + key: "lighten3", + color: "#e6ee9c", + colorClass: "lime-lighten-3", + }, + { + key: "lighten2", + color: "#dce775", + colorClass: "lime-lighten-2", + }, + { + key: "lighten1", + color: "#d4e157", + colorClass: "lime-lighten-1", + }, + { + key: "darken1", + color: "#c0ca33", + colorClass: "lime-darken-1", + }, + { + key: "darken2", + color: "#afb42b", + colorClass: "lime-darken-2", + }, + { + key: "darken3", + color: "#9e9d24", + colorClass: "lime-darken-3", + }, + { + key: "darken4", + color: "#827717", + colorClass: "lime-darken-4", + }, + { + key: "accent1", + color: "#f4ff81", + colorClass: "lime-accent-1", + }, + { + key: "accent2", + color: "#eeff41", + colorClass: "lime-accent-2", + }, + { + key: "accent3", + color: "#c6ff00", + colorClass: "lime-accent-3", + }, + { + key: "accent4", + color: "#aeea00", + colorClass: "lime-accent-4", + }, + ], + }, + { + key: "yellow", + class: "yellow", + colors: [ + { + key: "base", + color: "#ffeb3b", + colorClass: "yellow-base", + }, + { + key: "lighten5", + color: "#fffde7", + colorClass: "yellow-lighten-5", + }, + { + key: "lighten4", + color: "#fff9c4", + colorClass: "yellow-lighten-4", + }, + { + key: "lighten3", + color: "#fff59d", + colorClass: "yellow-lighten-3", + }, + { + key: "lighten2", + color: "#fff176", + colorClass: "yellow-lighten-2", + }, + { + key: "lighten1", + color: "#ffee58", + colorClass: "yellow-lighten-1", + }, + { + key: "darken1", + color: "#fdd835", + colorClass: "yellow-darken-1", + }, + { + key: "darken2", + color: "#fbc02d", + colorClass: "yellow-darken-2", + }, + { + key: "darken3", + color: "#f9a825", + colorClass: "yellow-darken-3", + }, + { + key: "darken4", + color: "#f57f17", + colorClass: "yellow-darken-4", + }, + { + key: "accent1", + color: "#ffff8d", + colorClass: "yellow-accent-1", + }, + { + key: "accent2", + color: "#ffff00", + colorClass: "yellow-accent-2", + }, + { + key: "accent3", + color: "#ffea00", + colorClass: "yellow-accent-3", + }, + { + key: "accent4", + color: "#ffd600", + colorClass: "yellow-accent-4", + }, + ], + }, + { + key: "amber", + class: "amber", + colors: [ + { + key: "base", + color: "#ffc107", + colorClass: "amber-base", + }, + { + key: "lighten5", + color: "#fff8e1", + colorClass: "amber-lighten-5", + }, + { + key: "lighten4", + color: "#ffecb3", + colorClass: "amber-lighten-4", + }, + { + key: "lighten3", + color: "#ffe082", + colorClass: "amber-lighten-3", + }, + { + key: "lighten2", + color: "#ffd54f", + colorClass: "amber-lighten-2", + }, + { + key: "lighten1", + color: "#ffca28", + colorClass: "amber-lighten-1", + }, + { + key: "darken1", + color: "#ffb300", + colorClass: "amber-darken-1", + }, + { + key: "darken2", + color: "#ffa000", + colorClass: "amber-darken-2", + }, + { + key: "darken3", + color: "#ff8f00", + colorClass: "amber-darken-3", + }, + { + key: "darken4", + color: "#ff6f00", + colorClass: "amber-darken-4", + }, + { + key: "accent1", + color: "#ffe57f", + colorClass: "amber-accent-1", + }, + { + key: "accent2", + color: "#ffd740", + colorClass: "amber-accent-2", + }, + { + key: "accent3", + color: "#ffc400", + colorClass: "amber-accent-3", + }, + { + key: "accent4", + color: "#ffab00", + colorClass: "amber-accent-4", + }, + ], + }, + { + key: "orange", + class: "orange", + colors: [ + { + key: "base", + color: "#ff9800", + colorClass: "orange-base", + }, + { + key: "lighten5", + color: "#fff3e0", + colorClass: "orange-lighten-5", + }, + { + key: "lighten4", + color: "#ffe0b2", + colorClass: "orange-lighten-4", + }, + { + key: "lighten3", + color: "#ffcc80", + colorClass: "orange-lighten-3", + }, + { + key: "lighten2", + color: "#ffb74d", + colorClass: "orange-lighten-2", + }, + { + key: "lighten1", + color: "#ffa726", + colorClass: "orange-lighten-1", + }, + { + key: "darken1", + color: "#fb8c00", + colorClass: "orange-darken-1", + }, + { + key: "darken2", + color: "#f57c00", + colorClass: "orange-darken-2", + }, + { + key: "darken3", + color: "#ef6c00", + colorClass: "orange-darken-3", + }, + { + key: "darken4", + color: "#e65100", + colorClass: "orange-darken-4", + }, + { + key: "accent1", + color: "#ffd180", + colorClass: "orange-accent-1", + }, + { + key: "accent2", + color: "#ffab40", + colorClass: "orange-accent-2", + }, + { + key: "accent3", + color: "#ff9100", + colorClass: "orange-accent-3", + }, + { + key: "accent4", + color: "#ff6d00", + colorClass: "orange-accent-4", + }, + ], + }, + { + key: "deepOrange", + class: "deep-orange", + colors: [ + { + key: "base", + color: "#ff5722", + colorClass: "deep-orange-base", + }, + { + key: "lighten5", + color: "#fbe9e7", + colorClass: "deep-orange-lighten-5", + }, + { + key: "lighten4", + color: "#ffccbc", + colorClass: "deep-orange-lighten-4", + }, + { + key: "lighten3", + color: "#ffab91", + colorClass: "deep-orange-lighten-3", + }, + { + key: "lighten2", + color: "#ff8a65", + colorClass: "deep-orange-lighten-2", + }, + { + key: "lighten1", + color: "#ff7043", + colorClass: "deep-orange-lighten-1", + }, + { + key: "darken1", + color: "#f4511e", + colorClass: "deep-orange-darken-1", + }, + { + key: "darken2", + color: "#e64a19", + colorClass: "deep-orange-darken-2", + }, + { + key: "darken3", + color: "#d84315", + colorClass: "deep-orange-darken-3", + }, + { + key: "darken4", + color: "#bf360c", + colorClass: "deep-orange-darken-4", + }, + { + key: "accent1", + color: "#ff9e80", + colorClass: "deep-orange-accent-1", + }, + { + key: "accent2", + color: "#ff6e40", + colorClass: "deep-orange-accent-2", + }, + { + key: "accent3", + color: "#ff3d00", + colorClass: "deep-orange-accent-3", + }, + { + key: "accent4", + color: "#dd2c00", + colorClass: "deep-orange-accent-4", + }, + ], + }, + { + key: "brown", + class: "brown", + colors: [ + { + key: "base", + color: "#795548", + colorClass: "brown-base", + }, + { + key: "lighten5", + color: "#efebe9", + colorClass: "brown-lighten-5", + }, + { + key: "lighten4", + color: "#d7ccc8", + colorClass: "brown-lighten-4", + }, + { + key: "lighten3", + color: "#bcaaa4", + colorClass: "brown-lighten-3", + }, + { + key: "lighten2", + color: "#a1887f", + colorClass: "brown-lighten-2", + }, + { + key: "lighten1", + color: "#8d6e63", + colorClass: "brown-lighten-1", + }, + { + key: "darken1", + color: "#6d4c41", + colorClass: "brown-darken-1", + }, + { + key: "darken2", + color: "#5d4037", + colorClass: "brown-darken-2", + }, + { + key: "darken3", + color: "#4e342e", + colorClass: "brown-darken-3", + }, + { + key: "darken4", + color: "#3e2723", + colorClass: "brown-darken-4", + }, + ], + }, + { + key: "blueGrey", + class: "blue-grey", + colors: [ + { + key: "base", + color: "#607d8b", + colorClass: "blue-grey-base", + }, + { + key: "lighten5", + color: "#eceff1", + colorClass: "blue-grey-lighten-5", + }, + { + key: "lighten4", + color: "#cfd8dc", + colorClass: "blue-grey-lighten-4", + }, + { + key: "lighten3", + color: "#b0bec5", + colorClass: "blue-grey-lighten-3", + }, + { + key: "lighten2", + color: "#90a4ae", + colorClass: "blue-grey-lighten-2", + }, + { + key: "lighten1", + color: "#78909c", + colorClass: "blue-grey-lighten-1", + }, + { + key: "darken1", + color: "#546e7a", + colorClass: "blue-grey-darken-1", + }, + { + key: "darken2", + color: "#455a64", + colorClass: "blue-grey-darken-2", + }, + { + key: "darken3", + color: "#37474f", + colorClass: "blue-grey-darken-3", + }, + { + key: "darken4", + color: "#263238", + colorClass: "blue-grey-darken-4", + }, + ], + }, + { + key: "grey", + class: "grey", + colors: [ + { + key: "base", + color: "#9e9e9e", + colorClass: "grey-base", + }, + { + key: "lighten5", + color: "#fafafa", + colorClass: "grey-lighten-5", + }, + { + key: "lighten4", + color: "#f5f5f5", + colorClass: "grey-lighten-4", + }, + { + key: "lighten3", + color: "#eeeeee", + colorClass: "grey-lighten-3", + }, + { + key: "lighten2", + color: "#e0e0e0", + colorClass: "grey-lighten-2", + }, + { + key: "lighten1", + color: "#bdbdbd", + colorClass: "grey-lighten-1", + }, + { + key: "darken1", + color: "#757575", + colorClass: "grey-darken-1", + }, + { + key: "darken2", + color: "#616161", + colorClass: "grey-darken-2", + }, + { + key: "darken3", + color: "#424242", + colorClass: "grey-darken-3", + }, + { + key: "darken4", + color: "#212121", + colorClass: "grey-darken-4", + }, + ], + }, + { + key: "shades", + class: "shades", + colors: [ + { + key: "black", + color: "#000000", + colorClass: "shades-black", + }, + { + key: "white", + color: "#ffffff", + colorClass: "shades-white", + }, + { + key: "transparent", + color: "transparent", + colorClass: "shades-transparent", + }, + ], + }, +]; diff --git a/console-ui/src/data/gradients.ts b/console-ui/src/data/gradients.ts new file mode 100644 index 0000000..878338d --- /dev/null +++ b/console-ui/src/data/gradients.ts @@ -0,0 +1,348 @@ +export const gradients = [ + { name: "Blu", colors: ["#00416A", "#E4E5E6"] }, + { name: "Ver", colors: ["#FFE000", "#799F0C"] }, + { name: "Ver Black", colors: ["#F7F8F8", "#ACBB78"] }, + { name: "Combi", colors: ["#00416A", "#799F0C", "#FFE000"] }, + { name: "Anwar", colors: ["#334d50", "#cbcaa5"] }, + { name: "Bluelagoo", colors: ["#0052D4", "#4364F7", "#6FB1FC"] }, + { name: "Lunada", colors: ["#5433FF", "#20BDFF", "#A5FECB"] }, + { name: "Reaqua", colors: ["#799F0C", "#ACBB78"] }, + { name: "Mango", colors: ["#ffe259", "#ffa751"] }, + { name: "Bupe", colors: ["#00416A", "#E4E5E6"] }, + { name: "Rea", colors: ["#FFE000", "#799F0C"] }, + { name: "Windy", colors: ["#acb6e5", "#86fde8"] }, + { name: "Royal Blue", colors: ["#536976", "#292E49"] }, + { + name: "Royal Blue + Petrol", + colors: ["#BBD2C5", "#536976", "#292E49"], + }, + { name: "Copper", colors: ["#B79891", "#94716B"] }, + { name: "Anamnisar", colors: ["#9796f0", "#fbc7d4"] }, + { name: "Petrol", colors: ["#BBD2C5", "#536976"] }, + { name: "Sky", colors: ["#076585", "#fff"] }, + { name: "Sel", colors: ["#00467F", "#A5CC82"] }, + { name: "Skyline", colors: ["#1488CC", "#2B32B2"] }, + { name: "DIMIGO", colors: ["#ec008c", "#fc6767"] }, + { name: "Purple Love", colors: ["#cc2b5e", "#753a88"] }, + { name: "Sexy Blue", colors: ["#2193b0", "#6dd5ed"] }, + { name: "Blooker20", colors: ["#e65c00", "#F9D423"] }, + { name: "Sea Blue", colors: ["#2b5876", "#4e4376"] }, + { name: "Nimvelo", colors: ["#314755", "#26a0da"] }, + { name: "Hazel", colors: ["#77A1D3", "#79CBCA", "#E684AE"] }, + { name: "Noon to Dusk", colors: ["#ff6e7f", "#bfe9ff"] }, + { name: "YouTube", colors: ["#e52d27", "#b31217"] }, + { name: "Cool Brown", colors: ["#603813", "#b29f94"] }, + { name: "Harmonic Energy", colors: ["#16A085", "#F4D03F"] }, + { name: "Playing with Reds", colors: ["#D31027", "#EA384D"] }, + { name: "Sunny Days", colors: ["#EDE574", "#E1F5C4"] }, + { name: "Green Beach", colors: ["#02AAB0", "#00CDAC"] }, + { name: "Intuitive Purple", colors: ["#DA22FF", "#9733EE"] }, + { name: "Emerald Water", colors: ["#348F50", "#56B4D3"] }, + { name: "Lemon Twist", colors: ["#3CA55C", "#B5AC49"] }, + { name: "Monte Carlo", colors: ["#CC95C0", "#DBD4B4", "#7AA1D2"] }, + { name: "Horizon", colors: ["#003973", "#E5E5BE"] }, + { name: "Rose Water", colors: ["#E55D87", "#5FC3E4"] }, + { name: "Frozen", colors: ["#403B4A", "#E7E9BB"] }, + { name: "Mango Pulp", colors: ["#F09819", "#EDDE5D"] }, + { name: "Bloody Mary", colors: ["#FF512F", "#DD2476"] }, + { name: "Aubergine", colors: ["#AA076B", "#61045F"] }, + { name: "Aqua Marine", colors: ["#1A2980", "#26D0CE"] }, + { name: "Sunrise", colors: ["#FF512F", "#F09819"] }, + { name: "Purple Paradise", colors: ["#1D2B64", "#F8CDDA"] }, + { name: "Stripe", colors: ["#1FA2FF", "#12D8FA", "#A6FFCB"] }, + { name: "Sea Weed", colors: ["#4CB8C4", "#3CD3AD"] }, + { name: "Pinky", colors: ["#DD5E89", "#F7BB97"] }, + { name: "Cherry", colors: ["#EB3349", "#F45C43"] }, + { name: "Mojito", colors: ["#1D976C", "#93F9B9"] }, + { name: "Juicy Orange", colors: ["#FF8008", "#FFC837"] }, + { name: "Mirage", colors: ["#16222A", "#3A6073"] }, + { name: "Steel Gray", colors: ["#1F1C2C", "#928DAB"] }, + { name: "Kashmir", colors: ["#614385", "#516395"] }, + { name: "Electric Violet", colors: ["#4776E6", "#8E54E9"] }, + { name: "Venice Blue", colors: ["#085078", "#85D8CE"] }, + { name: "Bora Bora", colors: ["#2BC0E4", "#EAECC6"] }, + { name: "Moss", colors: ["#134E5E", "#71B280"] }, + { name: "Shroom Haze", colors: ["#5C258D", "#4389A2"] }, + { name: "Mystic", colors: ["#757F9A", "#D7DDE8"] }, + { name: "Midnight City", colors: ["#232526", "#414345"] }, + { name: "Sea Blizz", colors: ["#1CD8D2", "#93EDC7"] }, + { name: "Opa", colors: ["#3D7EAA", "#FFE47A"] }, + { name: "Titanium", colors: ["#283048", "#859398"] }, + { name: "Mantle", colors: ["#24C6DC", "#514A9D"] }, + { name: "Dracula", colors: ["#DC2424", "#4A569D"] }, + { name: "Peach", colors: ["#ED4264", "#FFEDBC"] }, + { name: "Moonrise", colors: ["#DAE2F8", "#D6A4A4"] }, + { name: "Clouds", colors: ["#ECE9E6", "#FFFFFF"] }, + { name: "Stellar", colors: ["#7474BF", "#348AC7"] }, + { name: "Bourbon", colors: ["#EC6F66", "#F3A183"] }, + { name: "Calm Darya", colors: ["#5f2c82", "#49a09d"] }, + { name: "Influenza", colors: ["#C04848", "#480048"] }, + { name: "Shrimpy", colors: ["#e43a15", "#e65245"] }, + { name: "Army", colors: ["#414d0b", "#727a17"] }, + { name: "Miaka", colors: ["#FC354C", "#0ABFBC"] }, + { name: "Pinot Noir", colors: ["#4b6cb7", "#182848"] }, + { name: "Day Tripper", colors: ["#f857a6", "#ff5858"] }, + { name: "Namn", colors: ["#a73737", "#7a2828"] }, + { name: "Blurry Beach", colors: ["#d53369", "#cbad6d"] }, + { name: "Vasily", colors: ["#e9d362", "#333333"] }, + { name: "A Lost Memory", colors: ["#DE6262", "#FFB88C"] }, + { name: "Petrichor", colors: ["#666600", "#999966"] }, + { name: "Jonquil", colors: ["#FFEEEE", "#DDEFBB"] }, + { name: "Sirius Tamed", colors: ["#EFEFBB", "#D4D3DD"] }, + { name: "Kyoto", colors: ["#c21500", "#ffc500"] }, + { name: "Misty Meadow", colors: ["#215f00", "#e4e4d9"] }, + { name: "Aqualicious", colors: ["#50C9C3", "#96DEDA"] }, + { name: "Moor", colors: ["#616161", "#9bc5c3"] }, + { name: "Almost", colors: ["#ddd6f3", "#faaca8"] }, + { name: "Forever Lost", colors: ["#5D4157", "#A8CABA"] }, + { name: "Winter", colors: ["#E6DADA", "#274046"] }, + { name: "Nelson", colors: ["#f2709c", "#ff9472"] }, + { name: "Autumn", colors: ["#DAD299", "#B0DAB9"] }, + { name: "Candy", colors: ["#D3959B", "#BFE6BA"] }, + { name: "Reef", colors: ["#00d2ff", "#3a7bd5"] }, + { name: "The Strain", colors: ["#870000", "#190A05"] }, + { name: "Dirty Fog", colors: ["#B993D6", "#8CA6DB"] }, + { name: "Earthly", colors: ["#649173", "#DBD5A4"] }, + { name: "Virgin", colors: ["#C9FFBF", "#FFAFBD"] }, + { name: "Ash", colors: ["#606c88", "#3f4c6b"] }, + { name: "Cherryblossoms", colors: ["#FBD3E9", "#BB377D"] }, + { name: "Parklife", colors: ["#ADD100", "#7B920A"] }, + { name: "Dance To Forget", colors: ["#FF4E50", "#F9D423"] }, + { name: "Starfall", colors: ["#F0C27B", "#4B1248"] }, + { name: "Red Mist", colors: ["#000000", "#e74c3c"] }, + { name: "Teal Love", colors: ["#AAFFA9", "#11FFBD"] }, + { name: "Neon Life", colors: ["#B3FFAB", "#12FFF7"] }, + { name: "Man of Steel", colors: ["#780206", "#061161"] }, + { name: "Amethyst", colors: ["#9D50BB", "#6E48AA"] }, + { name: "Cheer Up Emo Kid", colors: ["#556270", "#FF6B6B"] }, + { name: "Shore", colors: ["#70e1f5", "#ffd194"] }, + { name: "Facebook Messenger", colors: ["#00c6ff", "#0072ff"] }, + { name: "SoundCloud", colors: ["#fe8c00", "#f83600"] }, + { name: "Behongo", colors: ["#52c234", "#061700"] }, + { name: "ServQuick", colors: ["#485563", "#29323c"] }, + { name: "Friday", colors: ["#83a4d4", "#b6fbff"] }, + { name: "Martini", colors: ["#FDFC47", "#24FE41"] }, + { name: "Metallic Toad", colors: ["#abbaab", "#ffffff"] }, + { name: "Between The Clouds", colors: ["#73C8A9", "#373B44"] }, + { name: "Crazy Orange I", colors: ["#D38312", "#A83279"] }, + { name: "Hersheys", colors: ["#1e130c", "#9a8478"] }, + { name: "Talking To Mice Elf", colors: ["#948E99", "#2E1437"] }, + { name: "Purple Bliss", colors: ["#360033", "#0b8793"] }, + { name: "Predawn", colors: ["#FFA17F", "#00223E"] }, + { name: "Endless River", colors: ["#43cea2", "#185a9d"] }, + { name: "Pastel Orange at the Sun", colors: ["#ffb347", "#ffcc33"] }, + { name: "Twitch", colors: ["#6441A5", "#2a0845"] }, + { name: "Atlas", colors: ["#FEAC5E", "#C779D0", "#4BC0C8"] }, + { name: "Instagram", colors: ["#833ab4", "#fd1d1d", "#fcb045"] }, + { name: "Flickr", colors: ["#ff0084", "#33001b"] }, + { name: "Vine", colors: ["#00bf8f", "#001510"] }, + { name: "Turquoise flow", colors: ["#136a8a", "#267871"] }, + { name: "Portrait", colors: ["#8e9eab", "#eef2f3"] }, + { name: "Virgin America", colors: ["#7b4397", "#dc2430"] }, + { name: "Koko Caramel", colors: ["#D1913C", "#FFD194"] }, + { name: "Fresh Turboscent", colors: ["#F1F2B5", "#135058"] }, + { name: "Green to dark", colors: ["#6A9113", "#141517"] }, + { name: "Ukraine", colors: ["#004FF9", "#FFF94C"] }, + { name: "Curiosity blue", colors: ["#525252", "#3d72b4"] }, + { name: "Dark Knight", colors: ["#BA8B02", "#181818"] }, + { name: "Piglet", colors: ["#ee9ca7", "#ffdde1"] }, + { name: "Lizard", colors: ["#304352", "#d7d2cc"] }, + { name: "Sage Persuasion", colors: ["#CCCCB2", "#757519"] }, + { name: "Between Night and Day", colors: ["#2c3e50", "#3498db"] }, + { name: "Timber", colors: ["#fc00ff", "#00dbde"] }, + { name: "Passion", colors: ["#e53935", "#e35d5b"] }, + { name: "Clear Sky", colors: ["#005C97", "#363795"] }, + { name: "Master Card", colors: ["#f46b45", "#eea849"] }, + { name: "Back To Earth", colors: ["#00C9FF", "#92FE9D"] }, + { name: "Deep Purple", colors: ["#673AB7", "#512DA8"] }, + { name: "Little Leaf", colors: ["#76b852", "#8DC26F"] }, + { name: "Netflix", colors: ["#8E0E00", "#1F1C18"] }, + { name: "Light Orange", colors: ["#FFB75E", "#ED8F03"] }, + { name: "Green and Blue", colors: ["#c2e59c", "#64b3f4"] }, + { name: "Poncho", colors: ["#403A3E", "#BE5869"] }, + { name: "Back to the Future", colors: ["#C02425", "#F0CB35"] }, + { name: "Blush", colors: ["#B24592", "#F15F79"] }, + { name: "Inbox", colors: ["#457fca", "#5691c8"] }, + { name: "Purplin", colors: ["#6a3093", "#a044ff"] }, + { name: "Pale Wood", colors: ["#eacda3", "#d6ae7b"] }, + { name: "Haikus", colors: ["#fd746c", "#ff9068"] }, + { name: "Pizelex", colors: ["#114357", "#F29492"] }, + { name: "Joomla", colors: ["#1e3c72", "#2a5298"] }, + { name: "Christmas", colors: ["#2F7336", "#AA3A38"] }, + { name: "Minnesota Vikings", colors: ["#5614B0", "#DBD65C"] }, + { name: "Miami Dolphins", colors: ["#4DA0B0", "#D39D38"] }, + { name: "Forest", colors: ["#5A3F37", "#2C7744"] }, + { name: "Nighthawk", colors: ["#2980b9", "#2c3e50"] }, + { name: "Superman", colors: ["#0099F7", "#F11712"] }, + { name: "Suzy", colors: ["#834d9b", "#d04ed6"] }, + { name: "Dark Skies", colors: ["#4B79A1", "#283E51"] }, + { name: "Deep Space", colors: ["#000000", "#434343"] }, + { name: "Decent", colors: ["#4CA1AF", "#C4E0E5"] }, + { name: "Colors Of Sky", colors: ["#E0EAFC", "#CFDEF3"] }, + { name: "Purple White", colors: ["#BA5370", "#F4E2D8"] }, + { name: "Ali", colors: ["#ff4b1f", "#1fddff"] }, + { name: "Alihossein", colors: ["#f7ff00", "#db36a4"] }, + { name: "Shahabi", colors: ["#a80077", "#66ff00"] }, + { name: "Red Ocean", colors: ["#1D4350", "#A43931"] }, + { name: "Tranquil", colors: ["#EECDA3", "#EF629F"] }, + { name: "Transfile", colors: ["#16BFFD", "#CB3066"] }, + { name: "Sylvia", colors: ["#ff4b1f", "#ff9068"] }, + { name: "Sweet Morning", colors: ["#FF5F6D", "#FFC371"] }, + { name: "Politics", colors: ["#2196f3", "#f44336"] }, + { name: "Bright Vault", colors: ["#00d2ff", "#928DAB"] }, + { name: "Solid Vault", colors: ["#3a7bd5", "#3a6073"] }, + { name: "Sunset", colors: ["#0B486B", "#F56217"] }, + { name: "Grapefruit Sunset", colors: ["#e96443", "#904e95"] }, + { name: "Deep Sea Space", colors: ["#2C3E50", "#4CA1AF"] }, + { name: "Dusk", colors: ["#2C3E50", "#FD746C"] }, + { name: "Minimal Red", colors: ["#F00000", "#DC281E"] }, + { name: "Royal", colors: ["#141E30", "#243B55"] }, + { name: "Mauve", colors: ["#42275a", "#734b6d"] }, + { name: "Frost", colors: ["#000428", "#004e92"] }, + { name: "Lush", colors: ["#56ab2f", "#a8e063"] }, + { name: "Firewatch", colors: ["#cb2d3e", "#ef473a"] }, + { name: "Sherbert", colors: ["#f79d00", "#64f38c"] }, + { name: "Blood Red", colors: ["#f85032", "#e73827"] }, + { name: "Sun on the Horizon", colors: ["#fceabb", "#f8b500"] }, + { name: "IIIT Delhi", colors: ["#808080", "#3fada8"] }, + { name: "Jupiter", colors: ["#ffd89b", "#19547b"] }, + { name: "50 Shades of Grey", colors: ["#bdc3c7", "#2c3e50"] }, + { name: "Dania", colors: ["#BE93C5", "#7BC6CC"] }, + { name: "Limeade", colors: ["#A1FFCE", "#FAFFD1"] }, + { name: "Disco", colors: ["#4ECDC4", "#556270"] }, + { name: "Love Couple", colors: ["#3a6186", "#89253e"] }, + { name: "Azure Pop", colors: ["#ef32d9", "#89fffd"] }, + { name: "Nepal", colors: ["#de6161", "#2657eb"] }, + { name: "Cosmic Fusion", colors: ["#ff00cc", "#333399"] }, + { name: "Snapchat", colors: ["#fffc00", "#ffffff"] }, + { name: "Ed's Sunset Gradient", colors: ["#ff7e5f", "#feb47b"] }, + { name: "Brady Brady Fun Fun", colors: ["#00c3ff", "#ffff1c"] }, + { name: "Black Rosé", colors: ["#f4c4f3", "#fc67fa"] }, + { name: "80's Purple", colors: ["#41295a", "#2F0743"] }, + { name: "Radar", colors: ["#A770EF", "#CF8BF3", "#FDB99B"] }, + { name: "Ibiza Sunset", colors: ["#ee0979", "#ff6a00"] }, + { name: "Dawn", colors: ["#F3904F", "#3B4371"] }, + { name: "Mild", colors: ["#67B26F", "#4ca2cd"] }, + { name: "Vice City", colors: ["#3494E6", "#EC6EAD"] }, + { name: "Jaipur", colors: ["#DBE6F6", "#C5796D"] }, + { name: "Jodhpur", colors: ["#9CECFB", "#65C7F7", "#0052D4"] }, + { name: "Cocoaa Ice", colors: ["#c0c0aa", "#1cefff"] }, + { name: "EasyMed", colors: ["#DCE35B", "#45B649"] }, + { name: "Rose Colored Lenses", colors: ["#E8CBC0", "#636FA4"] }, + { name: "What lies Beyond", colors: ["#F0F2F0", "#000C40"] }, + { name: "Roseanna", colors: ["#FFAFBD", "#ffc3a0"] }, + { name: "Honey Dew", colors: ["#43C6AC", "#F8FFAE"] }, + { name: "Under the Lake", colors: ["#093028", "#237A57"] }, + { name: "The Blue Lagoon", colors: ["#43C6AC", "#191654"] }, + { + name: "Can You Feel The Love Tonight", + colors: ["#4568DC", "#B06AB3"], + }, + { name: "Very Blue", colors: ["#0575E6", "#021B79"] }, + { name: "Love and Liberty", colors: ["#200122", "#6f0000"] }, + { name: "Orca", colors: ["#44A08D", "#093637"] }, + { name: "Venice", colors: ["#6190E8", "#A7BFE8"] }, + { name: "Pacific Dream", colors: ["#34e89e", "#0f3443"] }, + { name: "Learning and Leading", colors: ["#F7971E", "#FFD200"] }, + { name: "Celestial", colors: ["#C33764", "#1D2671"] }, + { name: "Purplepine", colors: ["#20002c", "#cbb4d4"] }, + { name: "Sha la la", colors: ["#D66D75", "#E29587"] }, + { name: "Mini", colors: ["#30E8BF", "#FF8235"] }, + { name: "Maldives", colors: ["#B2FEFA", "#0ED2F7"] }, + { name: "Cinnamint", colors: ["#4AC29A", "#BDFFF3"] }, + { name: "Html", colors: ["#E44D26", "#F16529"] }, + { name: "Coal", colors: ["#EB5757", "#000000"] }, + { name: "Sunkist", colors: ["#F2994A", "#F2C94C"] }, + { name: "Blue Skies", colors: ["#56CCF2", "#2F80ED"] }, + { name: "Chitty Chitty Bang Bang", colors: ["#007991", "#78ffd6"] }, + { name: "Visions of Grandeur", colors: ["#000046", "#1CB5E0"] }, + { name: "Crystal Clear", colors: ["#159957", "#155799"] }, + { name: "Mello", colors: ["#c0392b", "#8e44ad"] }, + { name: "Compare Now", colors: ["#EF3B36", "#FFFFFF"] }, + { name: "Meridian", colors: ["#283c86", "#45a247"] }, + { name: "Relay", colors: ["#3A1C71", "#D76D77", "#FFAF7B"] }, + { name: "Alive", colors: ["#CB356B", "#BD3F32"] }, + { name: "Scooter", colors: ["#36D1DC", "#5B86E5"] }, + { name: "Terminal", colors: ["#000000", "#0f9b0f"] }, + { name: "Telegram", colors: ["#1c92d2", "#f2fcfe"] }, + { name: "Crimson Tide", colors: ["#642B73", "#C6426E"] }, + { name: "Socialive", colors: ["#06beb6", "#48b1bf"] }, + { name: "Subu", colors: ["#0cebeb", "#20e3b2", "#29ffc6"] }, + { name: "Broken Hearts", colors: ["#d9a7c7", "#fffcdc"] }, + { name: "Kimoby Is The New Blue", colors: ["#396afc", "#2948ff"] }, + { name: "Dull", colors: ["#C9D6FF", "#E2E2E2"] }, + { name: "Purpink", colors: ["#7F00FF", "#E100FF"] }, + { name: "Orange Coral", colors: ["#ff9966", "#ff5e62"] }, + { name: "Summer", colors: ["#22c1c3", "#fdbb2d"] }, + { name: "King Yna", colors: ["#1a2a6c", "#b21f1f", "#fdbb2d"] }, + { name: "Velvet Sun", colors: ["#e1eec3", "#f05053"] }, + { name: "Zinc", colors: ["#ADA996", "#F2F2F2", "#DBDBDB", "#EAEAEA"] }, + { + name: "Hydrogen", + colors: ["#667db6", "#0082c8", "#0082c8", "#667db6"], + }, + { name: "Argon", colors: ["#03001e", "#7303c0", "#ec38bc", "#fdeff9"] }, + { name: "Lithium", colors: ["#6D6027", "#D3CBB8"] }, + { name: "Digital Water", colors: ["#74ebd5", "#ACB6E5"] }, + { name: "Orange Fun", colors: ["#fc4a1a", "#f7b733"] }, + { name: "Rainbow Blue", colors: ["#00F260", "#0575E6"] }, + { name: "Pink Flavour", colors: ["#800080", "#ffc0cb"] }, + { name: "Sulphur", colors: ["#CAC531", "#F3F9A7"] }, + { name: "Selenium", colors: ["#3C3B3F", "#605C3C"] }, + { name: "Delicate", colors: ["#D3CCE3", "#E9E4F0"] }, + { name: "Ohhappiness", colors: ["#00b09b", "#96c93d"] }, + { name: "Lawrencium", colors: ["#0f0c29", "#302b63", "#24243e"] }, + { name: "Relaxing red", colors: ["#fffbd5", "#b20a2c"] }, + { name: "Taran Tado", colors: ["#23074d", "#cc5333"] }, + { name: "Bighead", colors: ["#c94b4b", "#4b134f"] }, + { name: "Sublime Vivid", colors: ["#FC466B", "#3F5EFB"] }, + { name: "Sublime Light", colors: ["#FC5C7D", "#6A82FB"] }, + { name: "Pun Yeta", colors: ["#108dc7", "#ef8e38"] }, + { name: "Quepal", colors: ["#11998e", "#38ef7d"] }, + { name: "Sand to Blue", colors: ["#3E5151", "#DECBA4"] }, + { + name: "Wedding Day Blues", + colors: ["#40E0D0", "#FF8C00", "#FF0080"], + }, + { name: "Shifter", colors: ["#bc4e9c", "#f80759"] }, + { name: "Red Sunset", colors: ["#355C7D", "#6C5B7B", "#C06C84"] }, + { name: "Moon Purple", colors: ["#4e54c8", "#8f94fb"] }, + { name: "Pure Lust", colors: ["#333333", "#dd1818"] }, + { name: "Slight Ocean View", colors: ["#a8c0ff", "#3f2b96"] }, + { name: "eXpresso", colors: ["#ad5389", "#3c1053"] }, + { name: "Shifty", colors: ["#636363", "#a2ab58"] }, + { name: "Vanusa", colors: ["#DA4453", "#89216B"] }, + { name: "Evening Night", colors: ["#005AA7", "#FFFDE4"] }, + { name: "Magic", colors: ["#59C173", "#a17fe0", "#5D26C1"] }, + { name: "Margo", colors: ["#FFEFBA", "#FFFFFF"] }, + { name: "Blue Raspberry", colors: ["#00B4DB", "#0083B0"] }, + { name: "Citrus Peel", colors: ["#FDC830", "#F37335"] }, + { name: "Sin City Red", colors: ["#ED213A", "#93291E"] }, + { name: "Rastafari", colors: ["#1E9600", "#FFF200", "#FF0000"] }, + { name: "Summer Dog", colors: ["#a8ff78", "#78ffd6"] }, + { name: "Wiretap", colors: ["#8A2387", "#E94057", "#F27121"] }, + { name: "Burning Orange", colors: ["#FF416C", "#FF4B2B"] }, + { name: "Ultra Voilet", colors: ["#654ea3", "#eaafc8"] }, + { name: "By Design", colors: ["#009FFF", "#ec2F4B"] }, + { name: "Kyoo Tah", colors: ["#544a7d", "#ffd452"] }, + { name: "Kye Meh", colors: ["#8360c3", "#2ebf91"] }, + { name: "Kyoo Pal", colors: ["#dd3e54", "#6be585"] }, + { name: "Metapolis", colors: ["#659999", "#f4791f"] }, + { name: "Flare", colors: ["#f12711", "#f5af19"] }, + { name: "Witching Hour", colors: ["#c31432", "#240b36"] }, + { name: "Azur Lane", colors: ["#7F7FD5", "#86A8E7", "#91EAE4"] }, + { name: "Neuromancer", colors: ["#f953c6", "#b91d73"] }, + { name: "Harvey", colors: ["#1f4037", "#99f2c8"] }, + { name: "Amin", colors: ["#8E2DE2", "#4A00E0"] }, + { name: "Memariani", colors: ["#aa4b6b", "#6b6b83", "#3b8d99"] }, + { name: "Yoda", colors: ["#FF0099", "#493240"] }, + { name: "Cool Sky", colors: ["#2980B9", "#6DD5FA", "#FFFFFF"] }, + { name: "Dark Ocean", colors: ["#373B44", "#4286f4"] }, + { name: "Evening Sunshine", colors: ["#b92b27", "#1565C0"] }, + { name: "JShine", colors: ["#12c2e9", "#c471ed", "#f64f59"] }, + { name: "Moonlit Asteroid", colors: ["#0F2027", "#203A43", "#2C5364"] }, + { name: "MegaTron", colors: ["#C6FFDD", "#FBD786", "#f7797d"] }, + { name: "Cool Blues", colors: ["#2193b0", "#6dd5ed"] }, + { name: "Piggy Pink", colors: ["#ee9ca7", "#ffdde1"] }, + { name: "Grade Grey", colors: ["#bdc3c7", "#2c3e50"] }, +]; diff --git a/console-ui/src/data/logos.ts b/console-ui/src/data/logos.ts new file mode 100644 index 0000000..fe3141e --- /dev/null +++ b/console-ui/src/data/logos.ts @@ -0,0 +1,52 @@ +export default [ + { + id: 1, + name: "apple-music", + logoUrl: "https://cdn.worldvectorlogo.com/logos/apple-music.svg", + }, + { + id: 2, + name: "microsoft", + logoUrl: "https://cdn.worldvectorlogo.com/logos/microsoft.svg", + }, + { + id: 3, + name: "azure", + logoUrl: "https://cdn.worldvectorlogo.com/logos/microsoft-azure-2.svg", + }, + { + id: 4, + name: "google", + logoUrl: "https://cdn.worldvectorlogo.com/logos/google-2015.svg", + }, + { + id: 5, + name: "mastercard", + logoUrl: "https://cdn.worldvectorlogo.com/logos/mastercard-2.svg", + }, + { + id: 6, + name: "facebook", + logoUrl: "https://cdn.worldvectorlogo.com/logos/facebook.svg", + }, + { + id: 7, + name: "spotify", + logoUrl: "https://cdn.worldvectorlogo.com/logos/spotify-1.svg", + }, + { + id: 8, + name: "visa", + logoUrl: "https://cdn.worldvectorlogo.com/logos/visa.svg", + }, + { + id: 9, + name: "salesforce", + logoUrl: "https://cdn.worldvectorlogo.com/logos/salesforce-2.svg", + }, + { + id: 10, + name: "uber", + logoUrl: "https://cdn.worldvectorlogo.com/logos/uber-2.svg", + }, +]; diff --git a/console-ui/src/data/members.ts b/console-ui/src/data/members.ts new file mode 100644 index 0000000..dc2ece3 --- /dev/null +++ b/console-ui/src/data/members.ts @@ -0,0 +1,170 @@ +export default [ + { + id: 1, + name: "John Doe", + position: "CEO", + avatar: "https://i.pravatar.cc/150?img=1", + description: "优秀的CEO", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 2, + name: "Zhong Li", + position: "CTO", + avatar: "https://i.pravatar.cc/150?img=2", + description: "无所不能的CTO", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 3, + name: "Wang Lei", + position: "COO", + avatar: "https://i.pravatar.cc/150?img=3", + description: "运营管理大师", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 4, + name: "Chen Jie", + position: "CFO", + avatar: "https://i.pravatar.cc/150?img=4", + description: "财务实力派", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 5, + name: "Li Hua", + position: "CMO", + avatar: "https://i.pravatar.cc/150?img=5", + description: "营销战略家", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 6, + name: "Zhang Xin", + position: "CTO", + avatar: "https://i.pravatar.cc/150?img=6", + description: "技术天才", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 7, + name: "Yang Lan", + position: "HRD", + avatar: "https://i.pravatar.cc/150?img=7", + description: "人力资源领导者", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, + { + id: 8, + name: "Xu Fei", + position: "CPO", + avatar: "https://i.pravatar.cc/150?img=8", + description: "产品创新专家", + social: [ + { + icon: "mdi-facebook", + link: "https://www.facebook.com/", + }, + { + icon: "mdi-twitter", + link: "https://twitter.com/", + }, + { + icon: "mdi-linkedin", + link: "https://www.linkedin.com/", + }, + ], + }, +]; diff --git a/console-ui/src/data/sites.json b/console-ui/src/data/sites.json new file mode 100644 index 0000000..0057481 --- /dev/null +++ b/console-ui/src/data/sites.json @@ -0,0 +1,2104 @@ +{ + "sites": [ + { + "site_id": "1001", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "IconFont", + "description": "国内最著名的图标搜索及管理平台,300万个图标下载,300万个图标下载,300万个图标下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/08/uisdc-nav-iconfont.png", + "href": "https://www.iconfont.cn/" + }, + { + "site_id": "1002", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "FreePik", + "description": "知名设计素材站!PSD、矢量图、图库应有尽有", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/06/nav-freepik.png", + "href": "https://www.freepik.com/?ref=uisdc.com" + }, + { + "site_id": "1003", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "每日灵感", + "description": "优设旗下灵感频道,每日都有新灵感", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png", + "href": "https://uiiiuiii.com/inspiration" + }, + { + "site_id": "1004", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "摄图网", + "description": "1000万+图片、插画、视频、模板,免费下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-4.png", + "href": "http://699pic.com/?from=54" + }, + { + "site_id": "1005", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "细节猎人", + "description": "推荐!每日必看热门产品设计灵感,优设超人气频道", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-hunter.png", + "href": "https://www.uisdc.com/hunter" + }, + { + "site_id": "1006", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "MasterGo设计神器", + "description": "推荐!海量免费资源,更专业的云端UI设计工具", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png", + "href": "https://mastergo.com/?utm_source=youshe&utm_medium=toufang&utm_campaign=rementuijian&utm_term=&utm_content=" + }, + { + "site_id": "1007", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "字由商用字体", + "description": "推荐!近1000款免费商用字体一键拥有,设计师必备", + "icon": "https://image.uisdc.com/wp-content/uploads/2021/10/hellofont.png", + "href": "https://www.hellofont.cn?from=UISDC:uisdc-w" + }, + { + "site_id": "1008", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "优设读报", + "description": "每日必读!设计新闻大事小事全知道", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/nav-news-03192.png", + "href": "https://www.uisdc.com/news" + }, + { + "site_id": "1009", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "包图网", + "description": "推荐!1000万套原创品质商用素材,效率神器", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-11.png", + "href": "https://ibaotu.com/guanggao/1-0-0-0-3-1.html?spm=uisdc" + }, + { + "site_id": "1010", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "Dribbble", + "description": "国际知名设计站点!资深设计师必备", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png", + "href": "https://dribbble.com/" + }, + { + "site_id": "1011", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "即时设计", + "description": "推荐!免费专业级UI设计工具,可云端协作的Sketch", + "icon": "https://image.uisdc.com/wp-content/uploads/2021/06/nav-js-design.png", + "href": "https://js.design/?source=uisdc&plan=rmtj" + }, + { + "site_id": "1012", + "category_id": "101", + "category_name": "topPicks", + "category_name_cn": "热门推荐", + "site_name": "花瓣网", + "description": "设计师寻找灵感的必备站点,启发设计灵感", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png", + "href": "https://huaban.com/" + }, + { + "site_id": "1013", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "WallHaven", + "description": "WallBase创办人失联后,前成员推出的网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-1.png", + "href": "https://wallhaven.cc/" + }, + { + "site_id": "1014", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "拍信海量创意图片", + "description": "推荐!超1亿张全球精选潮流图片,有版权全网可商用", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/09/paixin-ico-nav.png", + "href": "https://www.paixin.com/?uisdc" + }, + { + "site_id": "1015", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "Unsplash", + "description": "知名免费图库,免费下载高分辨率照片,可商用", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-unsplash-9.png", + "href": "https://unsplash.com/" + }, + { + "site_id": "1016", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "PNG素材库", + "description": "推荐!最知名的PNG优质素材库。透明的、感动的", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-png.png", + "href": "https://pngimg.com/" + }, + { + "site_id": "1017", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "全画作", + "description": "强烈推荐!几十万张超高分辨率艺术作品欣赏", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-qls.png", + "href": "https://www.allhistory.com/painting" + }, + { + "site_id": "1018", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "SplitShire", + "description": "免费可商用的图片库,更有视频素材资源", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-splitshire.png", + "href": "https://www.splitshire.com/" + }, + { + "site_id": "1019", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "Pexels", + "description": "推荐!提供高清尺寸且品质优良的免费照片网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-pexels-2022.png", + "href": "https://www.pexels.com/" + }, + { + "site_id": "1020", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "微软Bing图库", + "description": "推荐!帮你探索收集那些精美的图像,可按色彩检索", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-8.png", + "href": "https://cn.bing.com/images/trending" + }, + { + "site_id": "1021", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "Yestone创意图片库", + "description": "每天3万张上新,全部正版商用授权,品质高到挑花眼", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-2.png", + "href": "https://www.yestone.com/?ref=768164" + }, + { + "site_id": "1022", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "StockSnap", + "description": "推荐!专业的免费可商用照片图片素材资源库", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-stocksnap-2022.png", + "href": "https://stocksnap.io/" + }, + { + "site_id": "1023", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "Pixabay", + "description": "百万张免费高清图片,高质量可商用", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-12.png", + "href": "https://pixabay.com/" + }, + { + "site_id": "1024", + "category_id": "102", + "category_name": "hdGallery", + "category_name_cn": "高清图库", + "site_name": "500px", + "description": "致力于视觉摄影分享、发现的专业平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-11.png", + "href": "https://500px.com.cn/community/discover?t=fresh" + }, + { + "site_id": "1025", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "优优教程网", + "description": "超人气的优质中文教程网站,PS、AI、AE、C4D", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png", + "href": "https://uiiiuiii.com/" + }, + { + "site_id": "1026", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "PSDTuts+", + "description": "Photoshop教程,从初学者到高级进阶,应有尽有", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-1.png", + "href": "https://design.tutsplus.com/" + }, + { + "site_id": "1027", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "Adobe 设计周报", + "description": "Adobe官方站!大神们通过全家桶创作过程的经验总结", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-2.png", + "href": "https://create.adobe.com/" + }, + { + "site_id": "1028", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "PhotoshopVIP", + "description": "日本超人气设计站点,网站很多干货", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-3.png", + "href": "https://photoshopvip.net/" + }, + { + "site_id": "1029", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "Smashing Magazine", + "description": "国外最著名的设计博客,许多高大上的设计文章", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-4.png", + "href": "https://www.smashingmagazine.com/" + }, + { + "site_id": "1030", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "数字艺术在线", + "description": "教程都很棒!你更会爱上网站展现教程的回廊方式", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-5.png", + "href": "https://www.digitalartsonline.co.uk/tutorials/" + }, + { + "site_id": "1031", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "优设网", + "description": "与大师零距离接触,一线设计师、总监的干货分享地", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-7.png", + "href": "https://www.uisdc.com/" + }, + { + "site_id": "1032", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "Photoshop Lady", + "description": "提供各种详细的photoshop教程,优设联盟站点", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-6.png", + "href": "https://www.photoshoplady.com/" + }, + { + "site_id": "1033", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "PSD爱好者", + "description": "提供Photoshop教程、设计文章和资源下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-9.png", + "href": "http://psd.fanextra.com/" + }, + { + "site_id": "1034", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "站酷", + "description": "综合性设计分享网站,原创设计交流平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-10.png", + "href": "https://www.zcool.com.cn/" + }, + { + "site_id": "1035", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "Abduzeedo", + "description": "汇集大量视觉灵感和酷炫PS教程的设计博客", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-11.png", + "href": "https://abduzeedo.com/" + }, + { + "site_id": "1036", + "category_id": "103", + "category_name": "designTutorials", + "category_name_cn": "设计教程", + "site_name": "Coliss", + "description": "日本有名站点!大量网站制作相关的设计技巧和神器", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-12.png", + "href": "https://coliss.com/" + }, + { + "site_id": "1037", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Dribbble", + "description": "设计师必备站点,国内顶尖的设计师都在上面", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png", + "href": "https://dribbble.com/" + }, + { + "site_id": "1038", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Behance", + "description": "全球领先的创意设计类聚合平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-2.png", + "href": "https://www.behance.net/" + }, + { + "site_id": "1039", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "UI8", + "description": "聚集世界各地优秀设计师的界面源文件", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-3.png", + "href": "https://ui8.net/" + }, + { + "site_id": "1040", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Flat UI", + "description": "扁平化UI设计灵感,采集扁平化相关的App、网页等", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-4.png", + "href": "https://flatui.com/" + }, + { + "site_id": "1041", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "UI Movement", + "description": "展示世界最有才华设计师的界面动效设计作品", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-5.png", + "href": "https://uimovement.com/" + }, + { + "site_id": "1042", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "365psd", + "description": "兢兢业业每天更新着用户界面相关的PSD", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-6.png", + "href": "https://365psd.com/" + }, + { + "site_id": "1043", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "CollectUI", + "description": "UI设计必备!100多个分类,不用发愁没灵感了", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-7.png", + "href": "https://collectui.com/" + }, + { + "site_id": "1044", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "UI 设计", + "description": "超赞!为您精挑细选的界面设计频道", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu.png", + "href": "https://uiiiuiii.com/inspirations/ui" + }, + { + "site_id": "1045", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Pixeden", + "description": "赞!免费优质界面设计源文件及有网站模板", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-9.png", + "href": "https://www.pixeden.com/" + }, + { + "site_id": "1046", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Site Inspire", + "description": "致力于分享推荐优秀网页及交互设计案例", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-10.png", + "href": "https://www.siteinspire.com/" + }, + { + "site_id": "1047", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "Designmodo", + "description": "所有高质量UI工具包都在这里可以找到,部分免费下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-11.png", + "href": "https://designmodo.com/" + }, + { + "site_id": "1048", + "category_id": "104", + "category_name": "interfaceDesign", + "category_name_cn": "界面设计", + "site_name": "UI 设计文章精选", + "description": "推荐!前沿有料的UI设计文章在此集结", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-2022.png", + "href": "https://www.uisdc.com/category/uiicon" + }, + { + "site_id": "1049", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "Pinterest", + "description": "一个受世界瞩目的,全球最大的创意灵感图片分享网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-1.png", + "href": "https://www.pinterest.com/" + }, + { + "site_id": "1050", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "花瓣", + "description": "采集你喜欢的美好事物,发现新知,启发设计灵感", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png", + "href": "https://huaban.com/" + }, + { + "site_id": "1051", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "UiiiUiii 灵感频道", + "description": "推荐!超人气的灵感库,优优教程网旗下产品", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png", + "href": "https://uiiiuiii.com/inspiration" + }, + { + "site_id": "1052", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "Designspiration", + "description": "提供设计灵感、插画摄影、时尚以及艺术相关的一切", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/designspiration-nav-2020.png", + "href": "https://www.designspiration.com/" + }, + { + "site_id": "1053", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "Product Hunt", + "description": "每天发现有趣的创新产品,离硅谷最近的眼睛", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-5.png", + "href": "https://www.producthunt.com/" + }, + { + "site_id": "1054", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "幻觉", + "description": "展示最惊人的创作,涵盖艺术、设计、摄影和视频", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-6.png", + "href": "https://scene360.com/" + }, + { + "site_id": "1055", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "ArtStation", + "description": "强烈推荐!一个收录世界顶级插画作品的社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-12.png", + "href": "https://www.artstation.com/" + }, + { + "site_id": "1056", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "优设9图", + "description": "顶尖设计知识卡片!每日必看灵感频道", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-group.png", + "href": "https://www.uisdc.com/group" + }, + { + "site_id": "1057", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "BOOOOOOOM", + "description": "发人深省的创意图片,博客设计简约但内容丰富", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-7.png", + "href": "https://www.booooooom.com/" + }, + { + "site_id": "1058", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "灵感网络", + "description": "推荐!聚合来自世界各地的创意人才,每天汲取灵感", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-8.png", + "href": "https://theinspirationgrid.com/" + }, + { + "site_id": "1059", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "Lapa网页灵感图库", + "description": "设计网站前,推荐来这里找灵感,有贴心全屏预览图", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-9.png", + "href": "https://www.lapa.ninja/" + }, + { + "site_id": "1060", + "category_id": "105", + "category_name": "ideas", + "category_name_cn": "灵感创意", + "site_name": "迷你单页狂热者", + "description": "流行的网页趋势!不可不知的迷你站点大全", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-10.png", + "href": "https://www.onepagemania.com/" + }, + { + "site_id": "1061", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "神器推荐专栏", + "description": "优设网神器推荐专栏,全球设计工具全收录", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-1.png", + "href": "https://www.uisdc.com/category/hot-download/tools-download" + }, + { + "site_id": "1062", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "MasterGo设计神器", + "description": "推荐!海量免费资源,更专业的云端UI设计工具", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png", + "href": "https://mastergo.com?utm_source=youshe&utm_medium=wangzhidaohang&utm_campaign=shejigongju&utm_term=&utm_content=" + }, + { + "site_id": "1063", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "阿里云建站神器", + "description": "1034套PC+手机站网站模板!会打字就会建网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/04/nav-aliyun-202018.png", + "href": "https://ac.aliyun.com/application/webdesign/sumei?source=5176.11533457&userCode=itzns7ko" + }, + { + "site_id": "1064", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "PPT神器 iSlide", + "description": "一键优化!你和PPT高手之间就差这个插件了", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-3.png", + "href": "https://www.uisdc.com/ppt-artifact-islide" + }, + { + "site_id": "1065", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "京东JDR Design", + "description": "推荐!京东设计团队的设计神器都在这里了", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/jdr-design-nav.png", + "href": "https://jdrd.jd.com/" + }, + { + "site_id": "1066", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "Adobe全家桶", + "description": "官方试用版下载链接,PS AI AE全都有,你懂得", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-6.png", + "href": "https://uiiiuiii.com/software/5103.html" + }, + { + "site_id": "1067", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "建站之星 SiteStar", + "description": "国内著名建站品牌,PC+手机+小程序网站快速生成", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-7.png", + "href": "https://www.sitestar.cn/" + }, + { + "site_id": "1068", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "FocoClipping 在线抠图", + "description": "强大的在线抠图神器!3秒出图全自动超方便", + "icon": "https://image.uisdc.com/wp-content/uploads/2021/08/nav-fococlipping.png", + "href": "https://www.uisdc.com/fococlipping" + }, + { + "site_id": "1069", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "H5制作神器", + "description": "推荐!专业级H5制作神器,在线设计,无需编程", + "icon": "https://image.uisdc.com/wp-content/uploads/2019/11/nav-1107-epub.png", + "href": "https://www.epub360.com/?utm_source=uisdc&utm_medium=ad&utm_campaign=hao" + }, + { + "site_id": "1070", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "设计师神器", + "description": "推荐!优设主编整理的设计师神器栏目", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-2.png", + "href": "https://www.uisdc.com/category/tools-download" + }, + { + "site_id": "1071", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "PS拉框助手", + "description": "一款人气PS插件!可快速生成各类图表及UI控件", + "icon": "https://image.uisdc.com/wp-content/uploads/2019/10/pslkzs.png", + "href": "https://www.pslkzs.com/" + }, + { + "site_id": "1072", + "category_id": "106", + "category_name": "designTools", + "category_name_cn": "设计工具", + "site_name": "Vector Magic", + "description": "1秒钟在线位图转矢量!好用的转矢量神器", + "icon": "https://image.uisdc.com/wp-content/uploads/2019/12/nav-vectormagic.png", + "href": "https://vectormagic.com/" + }, + { + "site_id": "1073", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "AI绘画专题", + "description": "推荐!为您精选AI绘画有关的神器和介绍", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-ai.png", + "href": "https://www.uisdc.com/zt/ai-draw" + }, + { + "site_id": "1074", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "据意查句", + "description": "清华出品!AI 神器让你的文案立马变高级", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantquotes.png", + "href": "https://wantquotes.net/" + }, + { + "site_id": "1075", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Img.Upscaler", + "description": "一键变清晰!能将PNG/JPG图像分辨率升级2倍或4倍", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-imgupscaler.png", + "href": "https://imgupscaler.com/" + }, + { + "site_id": "1076", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "EXPERTE", + "description": "免费在线抠图工具,去除图像背景边缘清晰", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-experte.png", + "href": "https://www.experte.com/background-remover" + }, + { + "site_id": "1077", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "ExtractBg", + "description": "智能识别图像主体并一键去除背景,无下载限制", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-extractbg.png", + "href": "https://extractbg.com/" + }, + { + "site_id": "1078", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "反向词典", + "description": "人工智能同义词搜索工具,专治词语匮乏综合征", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantwords.png", + "href": "https://wantwords.net/" + }, + { + "site_id": "1079", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Get写作", + "description": "全网热点追踪!一站式智能写作服务平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-getgetai.png", + "href": "https://getgetai.com/" + }, + { + "site_id": "1080", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Magic Eraser", + "description": "一键抹去图片中不需要的元素,且毫无修图痕迹", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-magiceraser.png", + "href": "https://www.magiceraser.io/" + }, + { + "site_id": "1081", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Huemint", + "description": "一键生成多种和谐配色方案!配色效果可实时预览", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-huemint.png", + "href": "https://www.uisdc.com/huemint" + }, + { + "site_id": "1082", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Relight", + "description": "打光修图神器!呈现多姿多彩立体光影效果", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-relight.png", + "href": "https://www.uisdc.com/relight" + }, + { + "site_id": "1083", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "Palette.fm", + "description": "黑白图像转彩色!10秒内提供20种不同的上色效果", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-palettefm.png", + "href": "https://www.uisdc.com/palette-fm" + }, + { + "site_id": "1084", + "category_id": "107", + "category_name": "ai", + "category_name_cn": "AI人工智能", + "site_name": "NewProfilePic", + "description": "免费的风格化头像生成器!让头像秒变美式插画风", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/nav-NewProfilePic.png", + "href": "https://www.uisdc.com/newprofilepic" + }, + { + "site_id": "1085", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "稿定设计", + "description": "提供海量免费素材,多场景商业视觉在线设计平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/12/sdcnav-gdsj-12.png", + "href": "https://www.gaoding.com/utms/f10839263a60c1c447c75fcbe10183c2" + }, + { + "site_id": "1086", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "纹理王", + "description": "免费的高分辨率顶尖纹理,可以商用", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-1.png", + "href": "https://www.textureking.com/category/all-textures/" + }, + { + "site_id": "1087", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "freebiesbug", + "description": "最新的免费设计资源", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-2.png", + "href": "https://freebiesbug.com/" + }, + { + "site_id": "1088", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "LogoPond", + "description": "高端logo集萃,设计前必须来池子里泡一泡", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-3.png", + "href": "https://logopond.com/" + }, + { + "site_id": "1089", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "阿里图标库", + "description": "国内最著名的图标搜索及管理平台,300万个图标下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-1.png", + "href": "https://www.iconfont.cn/" + }, + { + "site_id": "1090", + "category_id": "108", + "category_name": "resources", + "category_name_cn": "素材资源", + "site_name": "矢量Logo下载", + "description": "超赞!知名Logo矢量资源下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-5.png", + "href": "https://worldvectorlogo.com/" + }, + { + "site_id": "1091", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "免费商用字体", + "description": "超全!免费可商用中文+英文字体,含应用场景", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-1.png", + "href": "https://uiiiuiii.com/tool/typeface" + }, + { + "site_id": "1092", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "DaFont", + "description": "国际知名站点!提供大量的免费英文字体下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-28.png", + "href": "https://www.dafont.com/" + }, + { + "site_id": "1093", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字体家", + "description": "万款字体免费下载!专业提供正版授权字体下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-font-ztj.png", + "href": "https://www.zitijia.com/" + }, + { + "site_id": "1094", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字由", + "description": "设计师必备字体利器,国内外上千款精选字体", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-4.png", + "href": "https://www.hellofont.cn/" + }, + { + "site_id": "1095", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字体宇宙", + "description": "超过6万免费字体下载,网站体验不错", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-85.png", + "href": "https://www.fontspace.com/" + }, + { + "site_id": "1096", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "Font Fabric", + "description": "免费高品质字体打包下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-6.png", + "href": "https://www.fontfabric.com/" + }, + { + "site_id": "1097", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "求字体", + "description": "找字体神器,并提供中文和英文字体库下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-7.png", + "href": "https://www.qiuziti.com/" + }, + { + "site_id": "1098", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字体天下", + "description": "推荐!超过3万个中英文字体免费下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2019/02/2019-nav-fontcn.png", + "href": "https://www.fonts.net.cn/" + }, + { + "site_id": "1099", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "云字库", + "description": "最适合中小型设计团队的字体商用解决方案", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-3.png", + "href": "https://www.yestone.com/fonts/?ref=768164" + }, + { + "site_id": "1100", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字体传奇", + "description": "字体品牌设计师交流网,字体相关的教程、讲座等", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-10.png", + "href": "http://www.ziticq.com/" + }, + { + "site_id": "1101", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "Lost Type", + "description": "推荐!字体都非常漂亮,展示方式悦目清新", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-11.png", + "href": "http://www.losttype.com/browse/" + }, + { + "site_id": "1102", + "category_id": "109", + "category_name": "fontDesign", + "category_name_cn": "字体设计", + "site_name": "字体松鼠", + "description": "100%免费下载可商用!专为设计师精心挑选", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-12.png", + "href": "https://www.fontsquirrel.com/" + }, + { + "site_id": "1103", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "Awwwards", + "description": "精挑细选世界各地的最佳网站!并对其打分颁奖", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-1.png", + "href": "https://www.awwwards.com/" + }, + { + "site_id": "1104", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "日本 4db", + "description": "推荐!搜集日本各行各业、各地区的优秀网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-3.png", + "href": "http://4db.cc/" + }, + { + "site_id": "1105", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "网页模版巨人", + "description": "著名的网页模版库,借鉴和学习网页趋势的宝地", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-1.png", + "href": "https://www.templatemonster.com/cn/" + }, + { + "site_id": "1106", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "酷站剪报", + "description": "强烈推荐!用心收集日本酷站,右侧二级栏目非常棒", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-8.png", + "href": "https://www.webdesignclip.com/" + }, + { + "site_id": "1107", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "迷你网站模版分享", + "description": "推荐!提供海量单页模版展示和素材资源的网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-2.png", + "href": "https://onepagelove.com/" + }, + { + "site_id": "1108", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "梦幻模板", + "description": "超过7000个梦幻般的网站模板及Flash模板下载", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-5.png", + "href": "http://www.dreamtemplate.com/" + }, + { + "site_id": "1109", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "优质登录页模版网", + "description": "推荐!整合了各个行业的网站登录页面模版资源", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/07/nav-web-2022.png", + "href": "https://www.landingfolio.com/" + }, + { + "site_id": "1110", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "享誉全球的 WIX", + "description": "超赞!该站全球排名378!可以帮你免费定制网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-7.png", + "href": "https://www.wix.com/" + }, + { + "site_id": "1111", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "网页设计画廊", + "description": "精选了富有创意的网页设计作品", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/07/nav-io3000-2022.png", + "href": "https://io3000.com/" + }, + { + "site_id": "1112", + "category_id": "110", + "category_name": "template", + "category_name_cn": "酷站模版", + "site_name": "日本酷站索引", + "description": "近6000个!av大合集也没这么全,酷站集合", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-12.png", + "href": "http://bm.straightline.jp/" + }, + { + "site_id": "1113", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "The FWA", + "description": "强烈推荐!超高水准的互动网站设计案例", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-fwa.png", + "href": "https://thefwa.com/" + }, + { + "site_id": "1114", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "81 web", + "description": "推荐!日本优秀出色的站点大集合", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-9.png", + "href": "https://81-web.com/" + }, + { + "site_id": "1115", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "Adobe Color", + "description": "网页设计师配色的最佳之选", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-1.png", + "href": "https://color.adobe.com/zh/" + }, + { + "site_id": "1116", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "COLOURlovers", + "description": "交流颜色、色彩趋势和配色方案的超人气社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-2.png", + "href": "https://www.colourlovers.com/" + }, + { + "site_id": "1117", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "Coolors", + "description": "实用!成千上万的配色方案", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-3.png", + "href": "https://coolors.co/browser/latest/1" + }, + { + "site_id": "1118", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "漂亮的渐变颜色", + "description": "今年流行的渐变!点击屏幕两侧按钮可选更多色彩", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-4.png", + "href": "https://uigradients.com/" + }, + { + "site_id": "1119", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "CssWinner网页色彩分类", + "description": "CSS画廊,可根据右侧颜色块展现最流行的网页", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-5.png", + "href": "https://www.csswinner.com/colorsearch/blue" + }, + { + "site_id": "1120", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "色彩猎人", + "description": "每天收集并策划发布美丽的配色方案", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-6.png", + "href": "https://colorhunt.co/" + }, + { + "site_id": "1121", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "中国色彩大辞典", + "description": "中国/日本传统色彩命名,点击色彩可直接吸取色值", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-7.png", + "href": "https://color.uisdc.com/" + }, + { + "site_id": "1122", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "配色导航", + "description": "推荐!流行配色方案,可一键复制喜欢的颜色", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-8.png", + "href": "https://color.uisdc.com/pick.html" + }, + { + "site_id": "1123", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "DopelyColors", + "description": "一款实用的获取漂亮渐变方案的工具", + "icon": "https://image.uisdc.com/wp-content/uploads/2021/08/nav-colors-dopely.png", + "href": "https://colors.dopely.top/" + }, + { + "site_id": "1124", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "MaterialUI", + "description": "推荐!帮助设计师们快速选到自己喜爱的配色方案", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-10.png", + "href": "https://www.materialui.co/" + }, + { + "site_id": "1125", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "ColorDrop", + "description": "让寻找配色方案成为信手拈来的事情", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-11.png", + "href": "https://colordrop.io/" + }, + { + "site_id": "1126", + "category_id": "111", + "category_name": "colourScheme", + "category_name_cn": "配色方案", + "site_name": "Fashion Trendsetter", + "description": "帮你关注每年最流行的颜色搭配", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-12.png", + "href": "https://www.fashiontrendsetter.com/" + }, + { + "site_id": "1127", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "B站", + "description": "国内知名视频弹幕网站,有最及时的动漫新番", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-8.png", + "href": "https://www.bilibili.com/" + }, + { + "site_id": "1128", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "A站", + "description": "AcFun作为弹幕视频网站,国内二次元文化的开创者", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-6.png", + "href": "https://www.acfun.cn/" + }, + { + "site_id": "1129", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "半次元", + "description": "ACG爱好者社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bcy.png", + "href": "https://bcy.net/" + }, + { + "site_id": "1130", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "腾讯动漫", + "description": "中国最大最权威的正版动漫网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2019/01/sdcnav-15-32.png", + "href": "https://ac.qq.com/" + }, + { + "site_id": "1131", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "动漫之家", + "description": "国内最全最专业的在线漫画", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-dmzj.png", + "href": "https://www.dmzj.com/" + }, + { + "site_id": "1132", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "萌娘百科", + "description": "万物皆可萌的百科全书", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-meng.png", + "href": "https://zh.moegirl.org/Mainpage" + }, + { + "site_id": "1133", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "有妖气", + "description": "中国唯一且最大的纯原创漫画网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-yyq.png", + "href": "https://www.u17.com/" + }, + { + "site_id": "1134", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "不可能的世界", + "description": "中国最大的二次元小说平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bkn.png", + "href": "https://www.8kana.com/" + }, + { + "site_id": "1135", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "斗鱼", + "description": "知名弹幕式直播平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-douyu.png", + "href": "https://www.douyu.com/" + }, + { + "site_id": "1136", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "虎牙", + "description": "弹幕式互动直播平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-huya.png", + "href": "https://www.huya.com/" + }, + { + "site_id": "1137", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "Steam", + "description": "全球综合性数字游戏社交平台,请勿沉迷", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-steam.png", + "href": "https://store.steampowered.com/" + }, + { + "site_id": "1138", + "category_id": "112", + "category_name": "anime", + "category_name_cn": "二次元", + "site_name": "P站", + "description": "需爬梯!全球知名的插画作品分享站", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-pixiv.png", + "href": "https://www.pixiv.net/" + }, + { + "site_id": "1139", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "BURST", + "description": "知名Shopify旗下摄影图库!每周更新优质照片素材", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-12-burst.png", + "href": "https://burst.shopify.com/" + }, + { + "site_id": "1140", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "POCO摄影图片社区", + "description": "领先的时尚摄影平台,分享作品和技巧首选", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/poco-nav-2020.png", + "href": "https://www.poco.cn/" + }, + { + "site_id": "1141", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "新浪图片", + "description": "有温度的视觉,摄影师成长平台,影像记录中国", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-3.png", + "href": "http://photo.sina.com.cn/" + }, + { + "site_id": "1142", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "蜂鸟网", + "description": "摄影爱好者分享摄影技巧和作品的中国影像门户", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-4.png", + "href": "https://www.fengniao.com/" + }, + { + "site_id": "1143", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "中国国家地理网", + "description": "最专业的深度旅游体验平台,最具特色的互动社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-5.png", + "href": "http://www.dili360.com/" + }, + { + "site_id": "1144", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "时尚网", + "description": "美图看不完!高端时尚白领生活专属领地", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-6.png", + "href": "http://www.trends.com.cn/" + }, + { + "site_id": "1145", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "图虫网", + "description": "图虫网,中国最专业的web2.0摄影社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-10.png", + "href": "https://tuchong.com/" + }, + { + "site_id": "1146", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "Style-Arena", + "description": "日本街拍帅哥美女一览无余!东京街头时尚网", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-8.png", + "href": "https://www.style-arena.jp/ch/" + }, + { + "site_id": "1147", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "Chiphell", + "description": "专业的发烧友社区,里面的摄影专区也不错", + "icon": "https://image.uisdc.com/wp-content/uploads/2021/01/sdcnav-chiphell.png", + "href": "https://www.chiphell.com/portal.php?mod=list&catid=3" + }, + { + "site_id": "1148", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "网易图片", + "description": "网易新闻中心图片频道,24小时热图实时推送", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-7.png", + "href": "http://news.163.com/photo" + }, + { + "site_id": "1149", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "Photography Served", + "description": "全球顶尖创意平台Behance旗下的摄影服务栏目", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-11.png", + "href": "https://www.behance.net/galleries/Photography" + }, + { + "site_id": "1150", + "category_id": "113", + "category_name": "photo", + "category_name_cn": "摄影美图", + "site_name": "无忌视界", + "description": "国内外优秀摄影师的线上展览平台,开阔眼界", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-12.png", + "href": "https://vision.xitek.com/sight/" + }, + { + "site_id": "1151", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "腾讯CDC", + "description": "腾讯用户研究与体验设计中心,腾讯的核心部门之一", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-11-1-1.png", + "href": "https://cdc.tencent.com/" + }, + { + "site_id": "1152", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "虎嗅网", + "description": "一个有视角的、个性化商业资讯与交流平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-2-1.png", + "href": "https://www.huxiu.com/" + }, + { + "site_id": "1153", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "36氪", + "description": "互联网领先新商业媒体,让一部分人先看到未来", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-3-1.png", + "href": "https://36kr.com/" + }, + { + "site_id": "1154", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "W3C官网", + "description": "这是互联网的基础,推荐及时了解前端最新资讯", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-w3c-1.png", + "href": "https://www.w3.org/" + }, + { + "site_id": "1155", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "极客公园", + "description": "报道互联网热门趋势、热点产品的深度分析", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-5-1.png", + "href": "http://www.geekpark.net/" + }, + { + "site_id": "1156", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "爱范儿", + "description": "发现创新价值的科技媒体,全景关注移动互联网", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-6-1.png", + "href": "https://www.ifanr.com/" + }, + { + "site_id": "1157", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "优设读报", + "description": "极具影响力的设计师新闻频道,行业资讯一站知晓", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-7-1.png", + "href": "https://www.uisdc.com/news" + }, + { + "site_id": "1158", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "cnBeta中文IT资讯站", + "description": "提供最新最快的IT业界资讯", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-8-1.png", + "href": "https://www.cnbeta.com/" + }, + { + "site_id": "1159", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "雷锋网", + "description": "专注于移动互联网创业及创新的人气科技博客", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-9-1.png", + "href": "https://www.leiphone.com/" + }, + { + "site_id": "1160", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "网易科技", + "description": "有态度!以独特视角呈现科技圈内大事小事", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-10-1.png", + "href": "https://tech.163.com/" + }, + { + "site_id": "1161", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "牛华网", + "description": "华军软件园旗下网站,第一时间提供最具价值IT资讯", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-11-1.png", + "href": "http://www.newhua.com/" + }, + { + "site_id": "1162", + "category_id": "114", + "category_name": "insight", + "category_name_cn": "行业视野", + "site_name": "DoNews", + "description": "中国互联网从业人士交流最权威的平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-12.png", + "href": "https://www.donews.com/" + }, + { + "site_id": "1163", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "剪映", + "description": "强悍的手机短视频制作神器!由抖音官方推出", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ulikecam.png", + "href": "https://lv.ulikecam.com/" + }, + { + "site_id": "1164", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "万兴喵影", + "description": "好用易上手的国产剪辑神器,功能强大", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-wondershare.png", + "href": "https://miao.wondershare.cn/" + }, + { + "site_id": "1165", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "蝉妈妈", + "description": "推荐!为短视频内容创作团队提供竞品分析和爆款研究", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-chanmama.png", + "href": "https://www.chanmama.com/" + }, + { + "site_id": "1166", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "西瓜视频", + "description": "字节跳动旗下视频平台!给你新鲜好看", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ixigua.png", + "href": "https://www.ixigua.com/" + }, + { + "site_id": "1167", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "小红书", + "description": "标记生活,一起分享和发现世界的精彩", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-xiaohongshu.png", + "href": "https://www.xiaohongshu.com/" + }, + { + "site_id": "1168", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "Videezy", + "description": "推荐!提供大量免费高画质HD、4K影片素材", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-videezy.png", + "href": "https://www.videezy.com/" + }, + { + "site_id": "1169", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "Jamendo Music", + "description": "质量很高的免费音乐素材下载平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-jamendo.png", + "href": "https://www.jamendo.com/start" + }, + { + "site_id": "1170", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "Bensound", + "description": "独特有质感的免费背景音乐素材站点", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-bensound.png", + "href": "https://www.bensound.com/" + }, + { + "site_id": "1171", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "TooBigData", + "description": "短视频网红排行,KOL一网打尽", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-toobigdata.png", + "href": "https://toobigdata.com/" + }, + { + "site_id": "1172", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "PremiumBeat", + "description": "创意人士的短视频配乐佳选,有可商用音乐库", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-premiumbeat.png", + "href": "https://www.premiumbeat.com/zh/" + }, + { + "site_id": "1173", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "抖音", + "description": "音乐创意短视频社交软件,记录美好生活", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-douyin.png", + "href": "https://www.douyin.com/" + }, + { + "site_id": "1174", + "category_id": "115", + "category_name": "viedo", + "category_name_cn": "短视频", + "site_name": "快手", + "description": "国民短视频社区,记录世界记录你", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-kuaishou.png", + "href": "https://www.kuaishou.com/" + }, + { + "site_id": "1175", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "优设大课堂", + "description": "零基础课程,设计师涨薪就业职场直达", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-1.png", + "href": "https://xue.uisdc.com/?c=train" + }, + { + "site_id": "1176", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "推荐!态爷手绘提高课", + "description": "央视合作画师,绝无仅有的手绘课程", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + "href": "https://xue.uisdc.com/detail?id=5f365ff7dbd5ea3cf97cee73" + }, + { + "site_id": "1177", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "优设平面设计实战营", + "description": "高薪第1步!大家都在学的平面设计必修课", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-pm-9.png", + "href": "https://uiiiuiii.com/other/1212116139.html" + }, + { + "site_id": "1178", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "零基础手绘就业班", + "description": "超人气课程!设计师必备基础课,从入门到专业", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + "href": "https://xue.uisdc.com/detail?id=5d133b69d8071825ebce60c5&c=train-2" + }, + { + "site_id": "1179", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "优设自学好课", + "description": "每周更新!好课风向标,学什么看这里", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-5.png", + "href": "https://pro.uisdc.com/" + }, + { + "site_id": "1180", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "青爵版式设计全能班", + "description": "爆款课程!站酷600W超人气青爵直播授课", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/dkt-uisdc-200209.png", + "href": "https://xue.uisdc.com/detail?id=5dcc1b4cddb4671468955397" + }, + { + "site_id": "1181", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "零基础UI设计就业班", + "description": "优设官方培训课程,从基础到专业特训班", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-9.png", + "href": "https://xue.uisdc.com/detail?id=5cb6ff4c0f29d0571d4fb7e4&c=train-7" + }, + { + "site_id": "1182", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "零基础C4D特训营", + "description": "升职加薪筹码,让晋升之路畅通无阻", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-8.png", + "href": "https://xue.uisdc.com/detail?id=5d133ad1d8071825ebce60c1&c=train-6" + }, + { + "site_id": "1183", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "设计师就业衔接班", + "description": "60天从PS、AI、AE入门到设计入行!把握就业薪风向", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-xj-92.png", + "href": "https://uiiiuiii.com/other/1212116455.html" + }, + { + "site_id": "1184", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "优设手绘就业衔接班", + "description": "6000人都选择的手绘课,助力升职加薪", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + "href": "https://uiiiuiii.com/other/1212113189.html" + }, + { + "site_id": "1185", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "动效设计特训营", + "description": "火热报名!优设官方开展的动效设计视觉培训课程", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-10.png", + "href": "https://xue.uisdc.com/detail?id=5cc55404bdc6da1b2b9c932e&c=train-8" + }, + { + "site_id": "1186", + "category_id": "116", + "category_name": "designTraining", + "category_name_cn": "设计培训", + "site_name": "小光的手绘课堂", + "description": "超人气课程!名师授课,商业手绘必学课程", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-12.png", + "href": "https://xue.uisdc.com/detail?id=5cb700d30f29d0571d4fb7ea&c=train-5" + }, + { + "site_id": "1187", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "w3school在线教程", + "description": "必备!全球最大的中文Web技术教程", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-4-1.png", + "href": "https://www.w3school.com.cn/" + }, + { + "site_id": "1188", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "凹凸实验室", + "description": "推荐!沉淀与分享前端开发、页面制作技巧", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-4.png", + "href": "https://aotu.io/" + }, + { + "site_id": "1189", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "代码笔", + "description": "超赞!面向前端设计人员的圣地", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-2.png", + "href": "https://codepen.io/" + }, + { + "site_id": "1190", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "w3ctech", + "description": "推荐!中国最大的前端技术社区", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/2018-w3ctech-0906.png", + "href": "https://www.w3ctech.com/" + }, + { + "site_id": "1191", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "4分钟网页", + "description": "经典教学案例!教你4分钟变戏法式制作一个网页", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-10.png", + "href": "https://hao.uisdc.com/cssmagic/" + }, + { + "site_id": "1192", + "category_id": "117", + "category_name": "frontend", + "category_name_cn": "前端开发", + "site_name": "Bootstrap中文网", + "description": "简洁、直观、强悍的响应式前端开发框架", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-b-12.png", + "href": "https://www.bootcss.com/" + }, + { + "site_id": "1193", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "Houzz", + "description": "全球最著名的装修和室内设计平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-1.png", + "href": "https://www.houzz.com" + }, + { + "site_id": "1194", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "AD", + "description": "AD在室内设计领域具有不可估量的影响力", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-5.png", + "href": "https://www.architecturaldigest.com/" + }, + { + "site_id": "1195", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "躺平设计家", + "description": "国内一流的室内设计平台", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-3.png", + "href": "https://www.shejijia.com/" + }, + { + "site_id": "1196", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "美国家园频道", + "description": "致力于家庭装修、园艺、手工艺和家庭改造方案", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-2.png", + "href": "https://www.hgtv.com/" + }, + { + "site_id": "1197", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "ArchDaily", + "description": "世界最受欢迎的建筑网站", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-6.png", + "href": "https://www.archdaily.com" + }, + { + "site_id": "1198", + "category_id": "118", + "category_name": "InteriorDesign", + "category_name_cn": "室内设计", + "site_name": "设计牛奶", + "description": "一本致力于现代设计的在线灵感杂志", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-4.png", + "href": "https://design-milk.com/" + }, + { + "site_id": "1199", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "优设", + "description": "这是我们优设的官方品牌微博,强烈推荐", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/nav-yes-0209.png", + "href": "https://weibo.com/uisdc2012" + }, + { + "site_id": "1200", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "优设基础训练营", + "description": "每日推荐优质Ps Ai Ae教程,优优网官博", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-4.png", + "href": "https://weibo.com/uisdcjichuying" + }, + { + "site_id": "1201", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "优优教程网", + "description": "优设旗下网站,优优教程网官方微博", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png", + "href": "https://weibo.com/uiiiuiii" + }, + { + "site_id": "1202", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "设计师的百宝箱", + "description": "精挑细选受设计师欢迎的网站,都是奇珍异宝", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/04/sdcnav-design-box.png", + "href": "https://weibo.com/edddesign" + }, + { + "site_id": "1203", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "你丫才美工", + "description": "严格意义来讲,打水印和打码一样,都是下流的凑性", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-1.png", + "href": "https://weibo.com/honghaier555" + }, + { + "site_id": "1204", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "意匠id", + "description": "最精致的微博拥有最好的粉丝,分享美好,分享生活", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-8.png", + "href": "https://weibo.com/mdabao" + }, + { + "site_id": "1205", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "优秀网页设计", + "description": "设计干货微博!每日更新及时,推荐关注", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/nav-uisdc-0209.png", + "href": "https://weibo.com/uidesign" + }, + { + "site_id": "1206", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "优设大课堂", + "description": "跟对老师学知识,优设大课堂官方微博", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/nav-dkt-0209.png", + "href": "https://weibo.com/u/6021844857" + }, + { + "site_id": "1207", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "平面版式设计", + "description": "知名设计美学博主,前沿的平面版式设计灵感", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-4.png", + "href": "https://weibo.com/u/5317715201" + }, + { + "site_id": "1208", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "手绘插画设计", + "description": "知名设计美学博主", + "icon": "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + "href": "https://weibo.com/u/3123287587" + }, + { + "site_id": "1209", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "Photoshop大师", + "description": "微博知名设计美学博主", + "icon": "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-ps-2022.png", + "href": "https://weibo.com/psdashi" + }, + { + "site_id": "1210", + "category_id": "119", + "category_name": "designMedia", + "category_name_cn": "设计媒体", + "site_name": "招聘设计师", + "description": "可以帮你找工作的微博,准备好简历@她即可", + "icon": "https://image.uisdc.com/wp-content/uploads/2020/02/nav-job-0209.png", + "href": "https://weibo.com/desginjob" + } + ] +} diff --git a/console-ui/src/data/sites.ts b/console-ui/src/data/sites.ts new file mode 100644 index 0000000..5fbe1ec --- /dev/null +++ b/console-ui/src/data/sites.ts @@ -0,0 +1,2103 @@ +export const sites = [ + { + site_id: "1001", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "IconFont", + description: + "国内最著名的图标搜索及管理平台,300万个图标下载,300万个图标下载,300万个图标下载", + icon: "https://image.uisdc.com/wp-content/uploads/2022/08/uisdc-nav-iconfont.png", + href: "https://www.iconfont.cn/", + }, + { + site_id: "1002", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "FreePik", + description: "知名设计素材站!PSD、矢量图、图库应有尽有", + icon: "https://image.uisdc.com/wp-content/uploads/2020/06/nav-freepik.png", + href: "https://www.freepik.com/?ref=uisdc.com", + }, + { + site_id: "1003", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "每日灵感", + description: "优设旗下灵感频道,每日都有新灵感", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png", + href: "https://uiiiuiii.com/inspiration", + }, + { + site_id: "1004", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "摄图网", + description: "1000万+图片、插画、视频、模板,免费下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-4.png", + href: "http://699pic.com/?from=54", + }, + { + site_id: "1005", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "细节猎人", + description: "推荐!每日必看热门产品设计灵感,优设超人气频道", + icon: "https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-hunter.png", + href: "https://www.uisdc.com/hunter", + }, + { + site_id: "1006", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "MasterGo设计神器", + description: "推荐!海量免费资源,更专业的云端UI设计工具", + icon: "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png", + href: "https://mastergo.com/?utm_source=youshe&utm_medium=toufang&utm_campaign=rementuijian&utm_term=&utm_content=", + }, + { + site_id: "1007", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "字由商用字体", + description: "推荐!近1000款免费商用字体一键拥有,设计师必备", + icon: "https://image.uisdc.com/wp-content/uploads/2021/10/hellofont.png", + href: "https://www.hellofont.cn?from=UISDC:uisdc-w", + }, + { + site_id: "1008", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "优设读报", + description: "每日必读!设计新闻大事小事全知道", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/nav-news-03192.png", + href: "https://www.uisdc.com/news", + }, + { + site_id: "1009", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "包图网", + description: "推荐!1000万套原创品质商用素材,效率神器", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-11.png", + href: "https://ibaotu.com/guanggao/1-0-0-0-3-1.html?spm=uisdc", + }, + { + site_id: "1010", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "Dribbble", + description: "国际知名设计站点!资深设计师必备", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png", + href: "https://dribbble.com/", + }, + { + site_id: "1011", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "即时设计", + description: "推荐!免费专业级UI设计工具,可云端协作的Sketch", + icon: "https://image.uisdc.com/wp-content/uploads/2021/06/nav-js-design.png", + href: "https://js.design/?source=uisdc&plan=rmtj", + }, + { + site_id: "1012", + category_id: "101", + category_name: "topPicks", + category_name_cn: "热门推荐", + site_name: "花瓣网", + description: "设计师寻找灵感的必备站点,启发设计灵感", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png", + href: "https://huaban.com/", + }, + { + site_id: "1013", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "WallHaven", + description: "WallBase创办人失联后,前成员推出的网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-1.png", + href: "https://wallhaven.cc/", + }, + { + site_id: "1014", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "拍信海量创意图片", + description: "推荐!超1亿张全球精选潮流图片,有版权全网可商用", + icon: "https://image.uisdc.com/wp-content/uploads/2020/09/paixin-ico-nav.png", + href: "https://www.paixin.com/?uisdc", + }, + { + site_id: "1015", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "Unsplash", + description: "知名免费图库,免费下载高分辨率照片,可商用", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-unsplash-9.png", + href: "https://unsplash.com/", + }, + { + site_id: "1016", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "PNG素材库", + description: "推荐!最知名的PNG优质素材库。透明的、感动的", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-png.png", + href: "https://pngimg.com/", + }, + { + site_id: "1017", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "全画作", + description: "强烈推荐!几十万张超高分辨率艺术作品欣赏", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-qls.png", + href: "https://www.allhistory.com/painting", + }, + { + site_id: "1018", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "SplitShire", + description: "免费可商用的图片库,更有视频素材资源", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-splitshire.png", + href: "https://www.splitshire.com/", + }, + { + site_id: "1019", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "Pexels", + description: "推荐!提供高清尺寸且品质优良的免费照片网站", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-pexels-2022.png", + href: "https://www.pexels.com/", + }, + { + site_id: "1020", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "微软Bing图库", + description: "推荐!帮你探索收集那些精美的图像,可按色彩检索", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-8.png", + href: "https://cn.bing.com/images/trending", + }, + { + site_id: "1021", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "Yestone创意图片库", + description: "每天3万张上新,全部正版商用授权,品质高到挑花眼", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-2.png", + href: "https://www.yestone.com/?ref=768164", + }, + { + site_id: "1022", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "StockSnap", + description: "推荐!专业的免费可商用照片图片素材资源库", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-stocksnap-2022.png", + href: "https://stocksnap.io/", + }, + { + site_id: "1023", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "Pixabay", + description: "百万张免费高清图片,高质量可商用", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-12.png", + href: "https://pixabay.com/", + }, + { + site_id: "1024", + category_id: "102", + category_name: "hdGallery", + category_name_cn: "高清图库", + site_name: "500px", + description: "致力于视觉摄影分享、发现的专业平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-11.png", + href: "https://500px.com.cn/community/discover?t=fresh", + }, + { + site_id: "1025", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "优优教程网", + description: "超人气的优质中文教程网站,PS、AI、AE、C4D", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png", + href: "https://uiiiuiii.com/", + }, + { + site_id: "1026", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "PSDTuts+", + description: "Photoshop教程,从初学者到高级进阶,应有尽有", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-1.png", + href: "https://design.tutsplus.com/", + }, + { + site_id: "1027", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "Adobe 设计周报", + description: "Adobe官方站!大神们通过全家桶创作过程的经验总结", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-2.png", + href: "https://create.adobe.com/", + }, + { + site_id: "1028", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "PhotoshopVIP", + description: "日本超人气设计站点,网站很多干货", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-3.png", + href: "https://photoshopvip.net/", + }, + { + site_id: "1029", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "Smashing Magazine", + description: "国外最著名的设计博客,许多高大上的设计文章", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-4.png", + href: "https://www.smashingmagazine.com/", + }, + { + site_id: "1030", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "数字艺术在线", + description: "教程都很棒!你更会爱上网站展现教程的回廊方式", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-5.png", + href: "https://www.digitalartsonline.co.uk/tutorials/", + }, + { + site_id: "1031", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "优设网", + description: "与大师零距离接触,一线设计师、总监的干货分享地", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-7.png", + href: "https://www.uisdc.com/", + }, + { + site_id: "1032", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "Photoshop Lady", + description: "提供各种详细的photoshop教程,优设联盟站点", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-6.png", + href: "https://www.photoshoplady.com/", + }, + { + site_id: "1033", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "PSD爱好者", + description: "提供Photoshop教程、设计文章和资源下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-9.png", + href: "http://psd.fanextra.com/", + }, + { + site_id: "1034", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "站酷", + description: "综合性设计分享网站,原创设计交流平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-10.png", + href: "https://www.zcool.com.cn/", + }, + { + site_id: "1035", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "Abduzeedo", + description: "汇集大量视觉灵感和酷炫PS教程的设计博客", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-11.png", + href: "https://abduzeedo.com/", + }, + { + site_id: "1036", + category_id: "103", + category_name: "designTutorials", + category_name_cn: "设计教程", + site_name: "Coliss", + description: "日本有名站点!大量网站制作相关的设计技巧和神器", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-12.png", + href: "https://coliss.com/", + }, + { + site_id: "1037", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Dribbble", + description: "设计师必备站点,国内顶尖的设计师都在上面", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png", + href: "https://dribbble.com/", + }, + { + site_id: "1038", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Behance", + description: "全球领先的创意设计类聚合平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-2.png", + href: "https://www.behance.net/", + }, + { + site_id: "1039", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "UI8", + description: "聚集世界各地优秀设计师的界面源文件", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-3.png", + href: "https://ui8.net/", + }, + { + site_id: "1040", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Flat UI", + description: "扁平化UI设计灵感,采集扁平化相关的App、网页等", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-4.png", + href: "https://flatui.com/", + }, + { + site_id: "1041", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "UI Movement", + description: "展示世界最有才华设计师的界面动效设计作品", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-5.png", + href: "https://uimovement.com/", + }, + { + site_id: "1042", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "365psd", + description: "兢兢业业每天更新着用户界面相关的PSD", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-6.png", + href: "https://365psd.com/", + }, + { + site_id: "1043", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "CollectUI", + description: "UI设计必备!100多个分类,不用发愁没灵感了", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-7.png", + href: "https://collectui.com/", + }, + { + site_id: "1044", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "UI 设计", + description: "超赞!为您精挑细选的界面设计频道", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu.png", + href: "https://uiiiuiii.com/inspirations/ui", + }, + { + site_id: "1045", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Pixeden", + description: "赞!免费优质界面设计源文件及有网站模板", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-9.png", + href: "https://www.pixeden.com/", + }, + { + site_id: "1046", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Site Inspire", + description: "致力于分享推荐优秀网页及交互设计案例", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-10.png", + href: "https://www.siteinspire.com/", + }, + { + site_id: "1047", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "Designmodo", + description: "所有高质量UI工具包都在这里可以找到,部分免费下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-11.png", + href: "https://designmodo.com/", + }, + { + site_id: "1048", + category_id: "104", + category_name: "interfaceDesign", + category_name_cn: "界面设计", + site_name: "UI 设计文章精选", + description: "推荐!前沿有料的UI设计文章在此集结", + icon: "https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-2022.png", + href: "https://www.uisdc.com/category/uiicon", + }, + { + site_id: "1049", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "Pinterest", + description: "一个受世界瞩目的,全球最大的创意灵感图片分享网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-1.png", + href: "https://www.pinterest.com/", + }, + { + site_id: "1050", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "花瓣", + description: "采集你喜欢的美好事物,发现新知,启发设计灵感", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png", + href: "https://huaban.com/", + }, + { + site_id: "1051", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "UiiiUiii 灵感频道", + description: "推荐!超人气的灵感库,优优教程网旗下产品", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png", + href: "https://uiiiuiii.com/inspiration", + }, + { + site_id: "1052", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "Designspiration", + description: "提供设计灵感、插画摄影、时尚以及艺术相关的一切", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/designspiration-nav-2020.png", + href: "https://www.designspiration.com/", + }, + { + site_id: "1053", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "Product Hunt", + description: "每天发现有趣的创新产品,离硅谷最近的眼睛", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-5.png", + href: "https://www.producthunt.com/", + }, + { + site_id: "1054", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "幻觉", + description: "展示最惊人的创作,涵盖艺术、设计、摄影和视频", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-6.png", + href: "https://scene360.com/", + }, + { + site_id: "1055", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "ArtStation", + description: "强烈推荐!一个收录世界顶级插画作品的社区", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-12.png", + href: "https://www.artstation.com/", + }, + { + site_id: "1056", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "优设9图", + description: "顶尖设计知识卡片!每日必看灵感频道", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-group.png", + href: "https://www.uisdc.com/group", + }, + { + site_id: "1057", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "BOOOOOOOM", + description: "发人深省的创意图片,博客设计简约但内容丰富", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-7.png", + href: "https://www.booooooom.com/", + }, + { + site_id: "1058", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "灵感网络", + description: "推荐!聚合来自世界各地的创意人才,每天汲取灵感", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-8.png", + href: "https://theinspirationgrid.com/", + }, + { + site_id: "1059", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "Lapa网页灵感图库", + description: "设计网站前,推荐来这里找灵感,有贴心全屏预览图", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-9.png", + href: "https://www.lapa.ninja/", + }, + { + site_id: "1060", + category_id: "105", + category_name: "ideas", + category_name_cn: "灵感创意", + site_name: "迷你单页狂热者", + description: "流行的网页趋势!不可不知的迷你站点大全", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-10.png", + href: "https://www.onepagemania.com/", + }, + { + site_id: "1061", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "神器推荐专栏", + description: "优设网神器推荐专栏,全球设计工具全收录", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-1.png", + href: "https://www.uisdc.com/category/hot-download/tools-download", + }, + { + site_id: "1062", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "MasterGo设计神器", + description: "推荐!海量免费资源,更专业的云端UI设计工具", + icon: "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png", + href: "https://mastergo.com?utm_source=youshe&utm_medium=wangzhidaohang&utm_campaign=shejigongju&utm_term=&utm_content=", + }, + { + site_id: "1063", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "阿里云建站神器", + description: "1034套PC+手机站网站模板!会打字就会建网站", + icon: "https://image.uisdc.com/wp-content/uploads/2020/04/nav-aliyun-202018.png", + href: "https://ac.aliyun.com/application/webdesign/sumei?source=5176.11533457&userCode=itzns7ko", + }, + { + site_id: "1064", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "PPT神器 iSlide", + description: "一键优化!你和PPT高手之间就差这个插件了", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-3.png", + href: "https://www.uisdc.com/ppt-artifact-islide", + }, + { + site_id: "1065", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "京东JDR Design", + description: "推荐!京东设计团队的设计神器都在这里了", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/jdr-design-nav.png", + href: "https://jdrd.jd.com/", + }, + { + site_id: "1066", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "Adobe全家桶", + description: "官方试用版下载链接,PS AI AE全都有,你懂得", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-6.png", + href: "https://uiiiuiii.com/software/5103.html", + }, + { + site_id: "1067", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "建站之星 SiteStar", + description: "国内著名建站品牌,PC+手机+小程序网站快速生成", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-7.png", + href: "https://www.sitestar.cn/", + }, + { + site_id: "1068", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "FocoClipping 在线抠图", + description: "强大的在线抠图神器!3秒出图全自动超方便", + icon: "https://image.uisdc.com/wp-content/uploads/2021/08/nav-fococlipping.png", + href: "https://www.uisdc.com/fococlipping", + }, + { + site_id: "1069", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "H5制作神器", + description: "推荐!专业级H5制作神器,在线设计,无需编程", + icon: "https://image.uisdc.com/wp-content/uploads/2019/11/nav-1107-epub.png", + href: "https://www.epub360.com/?utm_source=uisdc&utm_medium=ad&utm_campaign=hao", + }, + { + site_id: "1070", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "设计师神器", + description: "推荐!优设主编整理的设计师神器栏目", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-2.png", + href: "https://www.uisdc.com/category/tools-download", + }, + { + site_id: "1071", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "PS拉框助手", + description: "一款人气PS插件!可快速生成各类图表及UI控件", + icon: "https://image.uisdc.com/wp-content/uploads/2019/10/pslkzs.png", + href: "https://www.pslkzs.com/", + }, + { + site_id: "1072", + category_id: "106", + category_name: "designTools", + category_name_cn: "设计工具", + site_name: "Vector Magic", + description: "1秒钟在线位图转矢量!好用的转矢量神器", + icon: "https://image.uisdc.com/wp-content/uploads/2019/12/nav-vectormagic.png", + href: "https://vectormagic.com/", + }, + { + site_id: "1073", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "AI绘画专题", + description: "推荐!为您精选AI绘画有关的神器和介绍", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-ai.png", + href: "https://www.uisdc.com/zt/ai-draw", + }, + { + site_id: "1074", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "据意查句", + description: "清华出品!AI 神器让你的文案立马变高级", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantquotes.png", + href: "https://wantquotes.net/", + }, + { + site_id: "1075", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Img.Upscaler", + description: "一键变清晰!能将PNG/JPG图像分辨率升级2倍或4倍", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-imgupscaler.png", + href: "https://imgupscaler.com/", + }, + { + site_id: "1076", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "EXPERTE", + description: "免费在线抠图工具,去除图像背景边缘清晰", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-experte.png", + href: "https://www.experte.com/background-remover", + }, + { + site_id: "1077", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "ExtractBg", + description: "智能识别图像主体并一键去除背景,无下载限制", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-extractbg.png", + href: "https://extractbg.com/", + }, + { + site_id: "1078", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "反向词典", + description: "人工智能同义词搜索工具,专治词语匮乏综合征", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantwords.png", + href: "https://wantwords.net/", + }, + { + site_id: "1079", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Get写作", + description: "全网热点追踪!一站式智能写作服务平台", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-getgetai.png", + href: "https://getgetai.com/", + }, + { + site_id: "1080", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Magic Eraser", + description: "一键抹去图片中不需要的元素,且毫无修图痕迹", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-magiceraser.png", + href: "https://www.magiceraser.io/", + }, + { + site_id: "1081", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Huemint", + description: "一键生成多种和谐配色方案!配色效果可实时预览", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-huemint.png", + href: "https://www.uisdc.com/huemint", + }, + { + site_id: "1082", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Relight", + description: "打光修图神器!呈现多姿多彩立体光影效果", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-relight.png", + href: "https://www.uisdc.com/relight", + }, + { + site_id: "1083", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "Palette.fm", + description: "黑白图像转彩色!10秒内提供20种不同的上色效果", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-palettefm.png", + href: "https://www.uisdc.com/palette-fm", + }, + { + site_id: "1084", + category_id: "107", + category_name: "ai", + category_name_cn: "AI人工智能", + site_name: "NewProfilePic", + description: "免费的风格化头像生成器!让头像秒变美式插画风", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/nav-NewProfilePic.png", + href: "https://www.uisdc.com/newprofilepic", + }, + { + site_id: "1085", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "稿定设计", + description: "提供海量免费素材,多场景商业视觉在线设计平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/12/sdcnav-gdsj-12.png", + href: "https://www.gaoding.com/utms/f10839263a60c1c447c75fcbe10183c2", + }, + { + site_id: "1086", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "纹理王", + description: "免费的高分辨率顶尖纹理,可以商用", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-1.png", + href: "https://www.textureking.com/category/all-textures/", + }, + { + site_id: "1087", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "freebiesbug", + description: "最新的免费设计资源", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-2.png", + href: "https://freebiesbug.com/", + }, + { + site_id: "1088", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "LogoPond", + description: "高端logo集萃,设计前必须来池子里泡一泡", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-3.png", + href: "https://logopond.com/", + }, + { + site_id: "1089", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "阿里图标库", + description: "国内最著名的图标搜索及管理平台,300万个图标下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-1.png", + href: "https://www.iconfont.cn/", + }, + { + site_id: "1090", + category_id: "108", + category_name: "resources", + category_name_cn: "素材资源", + site_name: "矢量Logo下载", + description: "超赞!知名Logo矢量资源下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-5.png", + href: "https://worldvectorlogo.com/", + }, + { + site_id: "1091", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "免费商用字体", + description: "超全!免费可商用中文+英文字体,含应用场景", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-1.png", + href: "https://uiiiuiii.com/tool/typeface", + }, + { + site_id: "1092", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "DaFont", + description: "国际知名站点!提供大量的免费英文字体下载", + icon: "https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-28.png", + href: "https://www.dafont.com/", + }, + { + site_id: "1093", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字体家", + description: "万款字体免费下载!专业提供正版授权字体下载", + icon: "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-font-ztj.png", + href: "https://www.zitijia.com/", + }, + { + site_id: "1094", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字由", + description: "设计师必备字体利器,国内外上千款精选字体", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-4.png", + href: "https://www.hellofont.cn/", + }, + { + site_id: "1095", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字体宇宙", + description: "超过6万免费字体下载,网站体验不错", + icon: "https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-85.png", + href: "https://www.fontspace.com/", + }, + { + site_id: "1096", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "Font Fabric", + description: "免费高品质字体打包下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-6.png", + href: "https://www.fontfabric.com/", + }, + { + site_id: "1097", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "求字体", + description: "找字体神器,并提供中文和英文字体库下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-7.png", + href: "https://www.qiuziti.com/", + }, + { + site_id: "1098", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字体天下", + description: "推荐!超过3万个中英文字体免费下载", + icon: "https://image.uisdc.com/wp-content/uploads/2019/02/2019-nav-fontcn.png", + href: "https://www.fonts.net.cn/", + }, + { + site_id: "1099", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "云字库", + description: "最适合中小型设计团队的字体商用解决方案", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-3.png", + href: "https://www.yestone.com/fonts/?ref=768164", + }, + { + site_id: "1100", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字体传奇", + description: "字体品牌设计师交流网,字体相关的教程、讲座等", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-10.png", + href: "http://www.ziticq.com/", + }, + { + site_id: "1101", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "Lost Type", + description: "推荐!字体都非常漂亮,展示方式悦目清新", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-11.png", + href: "http://www.losttype.com/browse/", + }, + { + site_id: "1102", + category_id: "109", + category_name: "fontDesign", + category_name_cn: "字体设计", + site_name: "字体松鼠", + description: "100%免费下载可商用!专为设计师精心挑选", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-12.png", + href: "https://www.fontsquirrel.com/", + }, + { + site_id: "1103", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "Awwwards", + description: "精挑细选世界各地的最佳网站!并对其打分颁奖", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-1.png", + href: "https://www.awwwards.com/", + }, + { + site_id: "1104", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "日本 4db", + description: "推荐!搜集日本各行各业、各地区的优秀网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-3.png", + href: "http://4db.cc/", + }, + { + site_id: "1105", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "网页模版巨人", + description: "著名的网页模版库,借鉴和学习网页趋势的宝地", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-1.png", + href: "https://www.templatemonster.com/cn/", + }, + { + site_id: "1106", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "酷站剪报", + description: "强烈推荐!用心收集日本酷站,右侧二级栏目非常棒", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-8.png", + href: "https://www.webdesignclip.com/", + }, + { + site_id: "1107", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "迷你网站模版分享", + description: "推荐!提供海量单页模版展示和素材资源的网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-2.png", + href: "https://onepagelove.com/", + }, + { + site_id: "1108", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "梦幻模板", + description: "超过7000个梦幻般的网站模板及Flash模板下载", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-5.png", + href: "http://www.dreamtemplate.com/", + }, + { + site_id: "1109", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "优质登录页模版网", + description: "推荐!整合了各个行业的网站登录页面模版资源", + icon: "https://image.uisdc.com/wp-content/uploads/2022/07/nav-web-2022.png", + href: "https://www.landingfolio.com/", + }, + { + site_id: "1110", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "享誉全球的 WIX", + description: "超赞!该站全球排名378!可以帮你免费定制网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-7.png", + href: "https://www.wix.com/", + }, + { + site_id: "1111", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "网页设计画廊", + description: "精选了富有创意的网页设计作品", + icon: "https://image.uisdc.com/wp-content/uploads/2022/07/nav-io3000-2022.png", + href: "https://io3000.com/", + }, + { + site_id: "1112", + category_id: "110", + category_name: "template", + category_name_cn: "酷站模版", + site_name: "日本酷站索引", + description: "近6000个!av大合集也没这么全,酷站集合", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-12.png", + href: "http://bm.straightline.jp/", + }, + { + site_id: "1113", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "The FWA", + description: "强烈推荐!超高水准的互动网站设计案例", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-fwa.png", + href: "https://thefwa.com/", + }, + { + site_id: "1114", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "81 web", + description: "推荐!日本优秀出色的站点大集合", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-9.png", + href: "https://81-web.com/", + }, + { + site_id: "1115", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "Adobe Color", + description: "网页设计师配色的最佳之选", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-1.png", + href: "https://color.adobe.com/zh/", + }, + { + site_id: "1116", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "COLOURlovers", + description: "交流颜色、色彩趋势和配色方案的超人气社区", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-2.png", + href: "https://www.colourlovers.com/", + }, + { + site_id: "1117", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "Coolors", + description: "实用!成千上万的配色方案", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-3.png", + href: "https://coolors.co/browser/latest/1", + }, + { + site_id: "1118", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "漂亮的渐变颜色", + description: "今年流行的渐变!点击屏幕两侧按钮可选更多色彩", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-4.png", + href: "https://uigradients.com/", + }, + { + site_id: "1119", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "CssWinner网页色彩分类", + description: "CSS画廊,可根据右侧颜色块展现最流行的网页", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-5.png", + href: "https://www.csswinner.com/colorsearch/blue", + }, + { + site_id: "1120", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "色彩猎人", + description: "每天收集并策划发布美丽的配色方案", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-6.png", + href: "https://colorhunt.co/", + }, + { + site_id: "1121", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "中国色彩大辞典", + description: "中国/日本传统色彩命名,点击色彩可直接吸取色值", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-7.png", + href: "https://color.uisdc.com/", + }, + { + site_id: "1122", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "配色导航", + description: "推荐!流行配色方案,可一键复制喜欢的颜色", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-8.png", + href: "https://color.uisdc.com/pick.html", + }, + { + site_id: "1123", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "DopelyColors", + description: "一款实用的获取漂亮渐变方案的工具", + icon: "https://image.uisdc.com/wp-content/uploads/2021/08/nav-colors-dopely.png", + href: "https://colors.dopely.top/", + }, + { + site_id: "1124", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "MaterialUI", + description: "推荐!帮助设计师们快速选到自己喜爱的配色方案", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-10.png", + href: "https://www.materialui.co/", + }, + { + site_id: "1125", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "ColorDrop", + description: "让寻找配色方案成为信手拈来的事情", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-11.png", + href: "https://colordrop.io/", + }, + { + site_id: "1126", + category_id: "111", + category_name: "colourScheme", + category_name_cn: "配色方案", + site_name: "Fashion Trendsetter", + description: "帮你关注每年最流行的颜色搭配", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-12.png", + href: "https://www.fashiontrendsetter.com/", + }, + { + site_id: "1127", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "B站", + description: "国内知名视频弹幕网站,有最及时的动漫新番", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-8.png", + href: "https://www.bilibili.com/", + }, + { + site_id: "1128", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "A站", + description: "AcFun作为弹幕视频网站,国内二次元文化的开创者", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-6.png", + href: "https://www.acfun.cn/", + }, + { + site_id: "1129", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "半次元", + description: "ACG爱好者社区", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bcy.png", + href: "https://bcy.net/", + }, + { + site_id: "1130", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "腾讯动漫", + description: "中国最大最权威的正版动漫网站", + icon: "https://image.uisdc.com/wp-content/uploads/2019/01/sdcnav-15-32.png", + href: "https://ac.qq.com/", + }, + { + site_id: "1131", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "动漫之家", + description: "国内最全最专业的在线漫画", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-dmzj.png", + href: "https://www.dmzj.com/", + }, + { + site_id: "1132", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "萌娘百科", + description: "万物皆可萌的百科全书", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-meng.png", + href: "https://zh.moegirl.org/Mainpage", + }, + { + site_id: "1133", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "有妖气", + description: "中国唯一且最大的纯原创漫画网站", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-yyq.png", + href: "https://www.u17.com/", + }, + { + site_id: "1134", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "不可能的世界", + description: "中国最大的二次元小说平台", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bkn.png", + href: "https://www.8kana.com/", + }, + { + site_id: "1135", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "斗鱼", + description: "知名弹幕式直播平台", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-douyu.png", + href: "https://www.douyu.com/", + }, + { + site_id: "1136", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "虎牙", + description: "弹幕式互动直播平台", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-huya.png", + href: "https://www.huya.com/", + }, + { + site_id: "1137", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "Steam", + description: "全球综合性数字游戏社交平台,请勿沉迷", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-steam.png", + href: "https://store.steampowered.com/", + }, + { + site_id: "1138", + category_id: "112", + category_name: "anime", + category_name_cn: "二次元", + site_name: "P站", + description: "需爬梯!全球知名的插画作品分享站", + icon: "https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-pixiv.png", + href: "https://www.pixiv.net/", + }, + { + site_id: "1139", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "BURST", + description: "知名Shopify旗下摄影图库!每周更新优质照片素材", + icon: "https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-12-burst.png", + href: "https://burst.shopify.com/", + }, + { + site_id: "1140", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "POCO摄影图片社区", + description: "领先的时尚摄影平台,分享作品和技巧首选", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/poco-nav-2020.png", + href: "https://www.poco.cn/", + }, + { + site_id: "1141", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "新浪图片", + description: "有温度的视觉,摄影师成长平台,影像记录中国", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-3.png", + href: "http://photo.sina.com.cn/", + }, + { + site_id: "1142", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "蜂鸟网", + description: "摄影爱好者分享摄影技巧和作品的中国影像门户", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-4.png", + href: "https://www.fengniao.com/", + }, + { + site_id: "1143", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "中国国家地理网", + description: "最专业的深度旅游体验平台,最具特色的互动社区", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-5.png", + href: "http://www.dili360.com/", + }, + { + site_id: "1144", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "时尚网", + description: "美图看不完!高端时尚白领生活专属领地", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-6.png", + href: "http://www.trends.com.cn/", + }, + { + site_id: "1145", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "图虫网", + description: "图虫网,中国最专业的web2.0摄影社区", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-10.png", + href: "https://tuchong.com/", + }, + { + site_id: "1146", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "Style-Arena", + description: "日本街拍帅哥美女一览无余!东京街头时尚网", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-8.png", + href: "https://www.style-arena.jp/ch/", + }, + { + site_id: "1147", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "Chiphell", + description: "专业的发烧友社区,里面的摄影专区也不错", + icon: "https://image.uisdc.com/wp-content/uploads/2021/01/sdcnav-chiphell.png", + href: "https://www.chiphell.com/portal.php?mod=list&catid=3", + }, + { + site_id: "1148", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "网易图片", + description: "网易新闻中心图片频道,24小时热图实时推送", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-7.png", + href: "http://news.163.com/photo", + }, + { + site_id: "1149", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "Photography Served", + description: "全球顶尖创意平台Behance旗下的摄影服务栏目", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-11.png", + href: "https://www.behance.net/galleries/Photography", + }, + { + site_id: "1150", + category_id: "113", + category_name: "photo", + category_name_cn: "摄影美图", + site_name: "无忌视界", + description: "国内外优秀摄影师的线上展览平台,开阔眼界", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-12.png", + href: "https://vision.xitek.com/sight/", + }, + { + site_id: "1151", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "腾讯CDC", + description: "腾讯用户研究与体验设计中心,腾讯的核心部门之一", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-11-1-1.png", + href: "https://cdc.tencent.com/", + }, + { + site_id: "1152", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "虎嗅网", + description: "一个有视角的、个性化商业资讯与交流平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-2-1.png", + href: "https://www.huxiu.com/", + }, + { + site_id: "1153", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "36氪", + description: "互联网领先新商业媒体,让一部分人先看到未来", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-3-1.png", + href: "https://36kr.com/", + }, + { + site_id: "1154", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "W3C官网", + description: "这是互联网的基础,推荐及时了解前端最新资讯", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-w3c-1.png", + href: "https://www.w3.org/", + }, + { + site_id: "1155", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "极客公园", + description: "报道互联网热门趋势、热点产品的深度分析", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-5-1.png", + href: "http://www.geekpark.net/", + }, + { + site_id: "1156", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "爱范儿", + description: "发现创新价值的科技媒体,全景关注移动互联网", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-6-1.png", + href: "https://www.ifanr.com/", + }, + { + site_id: "1157", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "优设读报", + description: "极具影响力的设计师新闻频道,行业资讯一站知晓", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-7-1.png", + href: "https://www.uisdc.com/news", + }, + { + site_id: "1158", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "cnBeta中文IT资讯站", + description: "提供最新最快的IT业界资讯", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-8-1.png", + href: "https://www.cnbeta.com/", + }, + { + site_id: "1159", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "雷锋网", + description: "专注于移动互联网创业及创新的人气科技博客", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-9-1.png", + href: "https://www.leiphone.com/", + }, + { + site_id: "1160", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "网易科技", + description: "有态度!以独特视角呈现科技圈内大事小事", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-10-1.png", + href: "https://tech.163.com/", + }, + { + site_id: "1161", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "牛华网", + description: "华军软件园旗下网站,第一时间提供最具价值IT资讯", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-11-1.png", + href: "http://www.newhua.com/", + }, + { + site_id: "1162", + category_id: "114", + category_name: "insight", + category_name_cn: "行业视野", + site_name: "DoNews", + description: "中国互联网从业人士交流最权威的平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-12.png", + href: "https://www.donews.com/", + }, + { + site_id: "1163", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "剪映", + description: "强悍的手机短视频制作神器!由抖音官方推出", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ulikecam.png", + href: "https://lv.ulikecam.com/", + }, + { + site_id: "1164", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "万兴喵影", + description: "好用易上手的国产剪辑神器,功能强大", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-wondershare.png", + href: "https://miao.wondershare.cn/", + }, + { + site_id: "1165", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "蝉妈妈", + description: "推荐!为短视频内容创作团队提供竞品分析和爆款研究", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-chanmama.png", + href: "https://www.chanmama.com/", + }, + { + site_id: "1166", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "西瓜视频", + description: "字节跳动旗下视频平台!给你新鲜好看", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ixigua.png", + href: "https://www.ixigua.com/", + }, + { + site_id: "1167", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "小红书", + description: "标记生活,一起分享和发现世界的精彩", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-xiaohongshu.png", + href: "https://www.xiaohongshu.com/", + }, + { + site_id: "1168", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "Videezy", + description: "推荐!提供大量免费高画质HD、4K影片素材", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-videezy.png", + href: "https://www.videezy.com/", + }, + { + site_id: "1169", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "Jamendo Music", + description: "质量很高的免费音乐素材下载平台", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-jamendo.png", + href: "https://www.jamendo.com/start", + }, + { + site_id: "1170", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "Bensound", + description: "独特有质感的免费背景音乐素材站点", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-bensound.png", + href: "https://www.bensound.com/", + }, + { + site_id: "1171", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "TooBigData", + description: "短视频网红排行,KOL一网打尽", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-toobigdata.png", + href: "https://toobigdata.com/", + }, + { + site_id: "1172", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "PremiumBeat", + description: "创意人士的短视频配乐佳选,有可商用音乐库", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-premiumbeat.png", + href: "https://www.premiumbeat.com/zh/", + }, + { + site_id: "1173", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "抖音", + description: "音乐创意短视频社交软件,记录美好生活", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-douyin.png", + href: "https://www.douyin.com/", + }, + { + site_id: "1174", + category_id: "115", + category_name: "viedo", + category_name_cn: "短视频", + site_name: "快手", + description: "国民短视频社区,记录世界记录你", + icon: "https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-kuaishou.png", + href: "https://www.kuaishou.com/", + }, + { + site_id: "1175", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "优设大课堂", + description: "零基础课程,设计师涨薪就业职场直达", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-1.png", + href: "https://xue.uisdc.com/?c=train", + }, + { + site_id: "1176", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "推荐!态爷手绘提高课", + description: "央视合作画师,绝无仅有的手绘课程", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + href: "https://xue.uisdc.com/detail?id=5f365ff7dbd5ea3cf97cee73", + }, + { + site_id: "1177", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "优设平面设计实战营", + description: "高薪第1步!大家都在学的平面设计必修课", + icon: "https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-pm-9.png", + href: "https://uiiiuiii.com/other/1212116139.html", + }, + { + site_id: "1178", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "零基础手绘就业班", + description: "超人气课程!设计师必备基础课,从入门到专业", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + href: "https://xue.uisdc.com/detail?id=5d133b69d8071825ebce60c5&c=train-2", + }, + { + site_id: "1179", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "优设自学好课", + description: "每周更新!好课风向标,学什么看这里", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-5.png", + href: "https://pro.uisdc.com/", + }, + { + site_id: "1180", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "青爵版式设计全能班", + description: "爆款课程!站酷600W超人气青爵直播授课", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/dkt-uisdc-200209.png", + href: "https://xue.uisdc.com/detail?id=5dcc1b4cddb4671468955397", + }, + { + site_id: "1181", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "零基础UI设计就业班", + description: "优设官方培训课程,从基础到专业特训班", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-9.png", + href: "https://xue.uisdc.com/detail?id=5cb6ff4c0f29d0571d4fb7e4&c=train-7", + }, + { + site_id: "1182", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "零基础C4D特训营", + description: "升职加薪筹码,让晋升之路畅通无阻", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-8.png", + href: "https://xue.uisdc.com/detail?id=5d133ad1d8071825ebce60c1&c=train-6", + }, + { + site_id: "1183", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "设计师就业衔接班", + description: "60天从PS、AI、AE入门到设计入行!把握就业薪风向", + icon: "https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-xj-92.png", + href: "https://uiiiuiii.com/other/1212116455.html", + }, + { + site_id: "1184", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "优设手绘就业衔接班", + description: "6000人都选择的手绘课,助力升职加薪", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + href: "https://uiiiuiii.com/other/1212113189.html", + }, + { + site_id: "1185", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "动效设计特训营", + description: "火热报名!优设官方开展的动效设计视觉培训课程", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-10.png", + href: "https://xue.uisdc.com/detail?id=5cc55404bdc6da1b2b9c932e&c=train-8", + }, + { + site_id: "1186", + category_id: "116", + category_name: "designTraining", + category_name_cn: "设计培训", + site_name: "小光的手绘课堂", + description: "超人气课程!名师授课,商业手绘必学课程", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-12.png", + href: "https://xue.uisdc.com/detail?id=5cb700d30f29d0571d4fb7ea&c=train-5", + }, + { + site_id: "1187", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "w3school在线教程", + description: "必备!全球最大的中文Web技术教程", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-4-1.png", + href: "https://www.w3school.com.cn/", + }, + { + site_id: "1188", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "凹凸实验室", + description: "推荐!沉淀与分享前端开发、页面制作技巧", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-4.png", + href: "https://aotu.io/", + }, + { + site_id: "1189", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "代码笔", + description: "超赞!面向前端设计人员的圣地", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-2.png", + href: "https://codepen.io/", + }, + { + site_id: "1190", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "w3ctech", + description: "推荐!中国最大的前端技术社区", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/2018-w3ctech-0906.png", + href: "https://www.w3ctech.com/", + }, + { + site_id: "1191", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "4分钟网页", + description: "经典教学案例!教你4分钟变戏法式制作一个网页", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-10.png", + href: "https://hao.uisdc.com/cssmagic/", + }, + { + site_id: "1192", + category_id: "117", + category_name: "frontend", + category_name_cn: "前端开发", + site_name: "Bootstrap中文网", + description: "简洁、直观、强悍的响应式前端开发框架", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-b-12.png", + href: "https://www.bootcss.com/", + }, + { + site_id: "1193", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "Houzz", + description: "全球最著名的装修和室内设计平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-1.png", + href: "https://www.houzz.com", + }, + { + site_id: "1194", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "AD", + description: "AD在室内设计领域具有不可估量的影响力", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-5.png", + href: "https://www.architecturaldigest.com/", + }, + { + site_id: "1195", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "躺平设计家", + description: "国内一流的室内设计平台", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-3.png", + href: "https://www.shejijia.com/", + }, + { + site_id: "1196", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "美国家园频道", + description: "致力于家庭装修、园艺、手工艺和家庭改造方案", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-2.png", + href: "https://www.hgtv.com/", + }, + { + site_id: "1197", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "ArchDaily", + description: "世界最受欢迎的建筑网站", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-6.png", + href: "https://www.archdaily.com", + }, + { + site_id: "1198", + category_id: "118", + category_name: "InteriorDesign", + category_name_cn: "室内设计", + site_name: "设计牛奶", + description: "一本致力于现代设计的在线灵感杂志", + icon: "https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-4.png", + href: "https://design-milk.com/", + }, + { + site_id: "1199", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "优设", + description: "这是我们优设的官方品牌微博,强烈推荐", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/nav-yes-0209.png", + href: "https://weibo.com/uisdc2012", + }, + { + site_id: "1200", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "优设基础训练营", + description: "每日推荐优质Ps Ai Ae教程,优优网官博", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-4.png", + href: "https://weibo.com/uisdcjichuying", + }, + { + site_id: "1201", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "优优教程网", + description: "优设旗下网站,优优教程网官方微博", + icon: "https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png", + href: "https://weibo.com/uiiiuiii", + }, + { + site_id: "1202", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "设计师的百宝箱", + description: "精挑细选受设计师欢迎的网站,都是奇珍异宝", + icon: "https://image.uisdc.com/wp-content/uploads/2022/04/sdcnav-design-box.png", + href: "https://weibo.com/edddesign", + }, + { + site_id: "1203", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "你丫才美工", + description: "严格意义来讲,打水印和打码一样,都是下流的凑性", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-1.png", + href: "https://weibo.com/honghaier555", + }, + { + site_id: "1204", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "意匠id", + description: "最精致的微博拥有最好的粉丝,分享美好,分享生活", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-8.png", + href: "https://weibo.com/mdabao", + }, + { + site_id: "1205", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "优秀网页设计", + description: "设计干货微博!每日更新及时,推荐关注", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/nav-uisdc-0209.png", + href: "https://weibo.com/uidesign", + }, + { + site_id: "1206", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "优设大课堂", + description: "跟对老师学知识,优设大课堂官方微博", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/nav-dkt-0209.png", + href: "https://weibo.com/u/6021844857", + }, + { + site_id: "1207", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "平面版式设计", + description: "知名设计美学博主,前沿的平面版式设计灵感", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-4.png", + href: "https://weibo.com/u/5317715201", + }, + { + site_id: "1208", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "手绘插画设计", + description: "知名设计美学博主", + icon: "https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png", + href: "https://weibo.com/u/3123287587", + }, + { + site_id: "1209", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "Photoshop大师", + description: "微博知名设计美学博主", + icon: "https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-ps-2022.png", + href: "https://weibo.com/psdashi", + }, + { + site_id: "1210", + category_id: "119", + category_name: "designMedia", + category_name_cn: "设计媒体", + site_name: "招聘设计师", + description: "可以帮你找工作的微博,准备好简历@她即可", + icon: "https://image.uisdc.com/wp-content/uploads/2020/02/nav-job-0209.png", + href: "https://weibo.com/desginjob", + }, +]; diff --git a/console-ui/src/data/users.ts b/console-ui/src/data/users.ts new file mode 100644 index 0000000..5e4a284 --- /dev/null +++ b/console-ui/src/data/users.ts @@ -0,0 +1,1346 @@ +export default [ + { + id: 1, + email: "scecely0@pcworld.com", + name: "cbarthelme0", + verified: false, + gender: "Female", + ip_address: "137.48.232.71", + created: "2022-11-27", + lastSignIn: "2022-09-11", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/namisteconsectetur.png?size=100x100&set=set1", + }, + { + id: 2, + email: "rbartholin1@privacy.gov.au", + name: "rbunch1", + verified: false, + gender: "Female", + ip_address: "230.72.173.11", + created: "2022-04-11", + lastSignIn: "2022-11-20", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/dolorumquisquamsapiente.png?size=100x100&set=set1", + }, + { + id: 3, + email: "dcowern2@usatoday.com", + name: "acoyish2", + verified: false, + gender: "Male", + ip_address: "36.25.36.222", + created: "2022-07-03", + lastSignIn: "2022-12-12", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/etmaximeenim.png?size=100x100&set=set1", + }, + { + id: 4, + email: "asnazel3@vkontakte.ru", + name: "nfarryn3", + verified: true, + gender: "Male", + ip_address: "205.207.248.184", + created: "2023-02-02", + lastSignIn: "2022-07-04", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/doloremquenamtemporibus.png?size=100x100&set=set1", + }, + { + id: 5, + email: "oolochan4@tamu.edu", + name: "esevior4", + verified: false, + gender: "Female", + ip_address: "211.224.159.201", + created: "2022-10-27", + lastSignIn: "2023-01-13", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/earumexplicaboconsequatur.png?size=100x100&set=set1", + }, + { + id: 6, + email: "jjerams5@google.ca", + name: "dspurling5", + verified: false, + gender: "Female", + ip_address: "83.99.84.140", + created: "2022-09-06", + lastSignIn: "2022-06-12", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/quiavoluptatemaxime.png?size=100x100&set=set1", + }, + { + id: 7, + email: "cchawner6@newsvine.com", + name: "rbeynon6", + verified: false, + gender: "Male", + ip_address: "255.169.8.147", + created: "2023-02-20", + lastSignIn: "2022-03-02", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/nullarerumea.png?size=100x100&set=set1", + }, + { + id: 8, + email: "nocarran7@soup.io", + name: "slandsberg7", + verified: false, + gender: "Female", + ip_address: "99.235.41.59", + created: "2022-04-24", + lastSignIn: "2022-11-03", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/explicabonequedolor.png?size=100x100&set=set1", + }, + { + id: 9, + email: "sbasnall8@google.cn", + name: "arobilart8", + verified: true, + gender: "Female", + ip_address: "166.161.173.237", + created: "2022-12-29", + lastSignIn: "2022-09-01", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/distinctiolaborumsed.png?size=100x100&set=set1", + }, + { + id: 10, + email: "ofishleigh9@yellowpages.com", + name: "swein9", + verified: false, + gender: "Female", + ip_address: "47.30.251.45", + created: "2023-01-28", + lastSignIn: "2023-02-01", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/velitvoluptatemdolore.png?size=100x100&set=set1", + }, + { + id: 11, + email: "wdomegana@hexun.com", + name: "gsneppa", + verified: false, + gender: "Male", + ip_address: "42.92.44.182", + created: "2022-11-04", + lastSignIn: "2022-08-16", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/etinaut.png?size=100x100&set=set1", + }, + { + id: 12, + email: "bmarrinerb@oakley.com", + name: "kbarrb", + verified: true, + gender: "Male", + ip_address: "249.59.107.236", + created: "2022-09-16", + lastSignIn: "2022-03-30", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/maximeomnisratione.png?size=100x100&set=set1", + }, + { + id: 13, + email: "kmullisc@ow.ly", + name: "jmaddiec", + verified: true, + gender: "Female", + ip_address: "134.162.225.35", + created: "2023-01-14", + lastSignIn: "2022-09-13", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/eumcorruptiunde.png?size=100x100&set=set1", + }, + { + id: 14, + email: "cbirminghamd@thetimes.co.uk", + name: "hdincked", + verified: true, + gender: "Female", + ip_address: "126.133.131.23", + created: "2022-11-10", + lastSignIn: "2022-12-25", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/nostrumquasiut.png?size=100x100&set=set1", + }, + { + id: 15, + email: "gmownee@skype.com", + name: "epilee", + verified: true, + gender: "Female", + ip_address: "205.209.252.83", + created: "2022-12-18", + lastSignIn: "2022-09-28", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/voluptaseumesse.png?size=100x100&set=set1", + }, + { + id: 16, + email: "cduttf@ucla.edu", + name: "lgetclifff", + verified: true, + gender: "Male", + ip_address: "192.66.125.35", + created: "2022-06-17", + lastSignIn: "2022-06-11", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/accusamusvoluptasvoluptatem.png?size=100x100&set=set1", + }, + { + id: 17, + email: "krutgersg@cdc.gov", + name: "amcclearyg", + verified: true, + gender: "Male", + ip_address: "160.13.143.28", + created: "2022-08-26", + lastSignIn: "2022-06-22", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/aliquamtemporaqui.png?size=100x100&set=set1", + }, + { + id: 18, + email: "sbickersh@google.fr", + name: "jginnaneh", + verified: true, + gender: "Female", + ip_address: "91.176.118.40", + created: "2022-11-20", + lastSignIn: "2022-05-08", + disabled: false, + role: "USER", + avatar: "https://robohash.org/magnamautofficiis.png?size=100x100&set=set1", + }, + { + id: 19, + email: "rkendlei@patch.com", + name: "kcleevelyi", + verified: true, + gender: "Female", + ip_address: "148.239.148.209", + created: "2022-11-08", + lastSignIn: "2022-09-15", + disabled: false, + role: "USER", + avatar: "https://robohash.org/quiaquomagni.png?size=100x100&set=set1", + }, + { + id: 20, + email: "sdabbotdoylej@pinterest.com", + name: "broscampj", + verified: true, + gender: "Female", + ip_address: "215.250.203.180", + created: "2022-12-31", + lastSignIn: "2022-09-08", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/laboriosamdebitistemporibus.png?size=100x100&set=set1", + }, + { + id: 21, + email: "djerischk@ibm.com", + name: "dboldenk", + verified: false, + gender: "Female", + ip_address: "110.154.137.74", + created: "2022-05-07", + lastSignIn: "2022-11-06", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/accusantiumvoluptatibusarchitecto.png?size=100x100&set=set1", + }, + { + id: 22, + email: "pdunsl@ustream.tv", + name: "emethvenl", + verified: true, + gender: "Female", + ip_address: "250.8.9.196", + created: "2022-07-16", + lastSignIn: "2022-05-19", + disabled: true, + role: "USER", + avatar: "https://robohash.org/inofficiiset.png?size=100x100&set=set1", + }, + { + id: 23, + email: "hgreensmithm@cmu.edu", + name: "hgilchrestm", + verified: false, + gender: "Male", + ip_address: "85.242.53.22", + created: "2023-02-17", + lastSignIn: "2022-11-25", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/utquitenetur.png?size=100x100&set=set1", + }, + { + id: 24, + email: "tbachnicn@springer.com", + name: "dgavenn", + verified: true, + gender: "Female", + ip_address: "120.133.225.16", + created: "2022-07-14", + lastSignIn: "2022-04-18", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/estveniamodio.png?size=100x100&set=set1", + }, + { + id: 25, + email: "cvaudreyo@sbwire.com", + name: "cbuschero", + verified: false, + gender: "Female", + ip_address: "117.63.28.166", + created: "2022-05-04", + lastSignIn: "2022-09-15", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/utdoloremoptio.png?size=100x100&set=set1", + }, + { + id: 26, + email: "rkylep@livejournal.com", + name: "ehebburnp", + verified: true, + gender: "Female", + ip_address: "90.53.42.253", + created: "2022-07-20", + lastSignIn: "2022-05-23", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/nonoptiodoloremque.png?size=100x100&set=set1", + }, + { + id: 27, + email: "apadgintonq@imgur.com", + name: "imartonq", + verified: true, + gender: "Male", + ip_address: "227.79.187.169", + created: "2022-10-11", + lastSignIn: "2022-06-27", + disabled: true, + role: "USER", + avatar: + "https://robohash.org/eumreprehenderitsunt.png?size=100x100&set=set1", + }, + { + id: 28, + email: "icorser@acquirethisname.com", + name: "pgristr", + verified: false, + gender: "Polygender", + ip_address: "49.218.39.29", + created: "2022-06-12", + lastSignIn: "2023-02-08", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/quiitaquevoluptatibus.png?size=100x100&set=set1", + }, + { + id: 29, + email: "dtrewhelas@bandcamp.com", + name: "cshottons", + verified: true, + gender: "Female", + ip_address: "186.120.80.119", + created: "2022-12-29", + lastSignIn: "2022-03-15", + disabled: true, + role: "USER", + avatar: + "https://robohash.org/doloresquamcorporis.png?size=100x100&set=set1", + }, + { + id: 30, + email: "tstoppet@dedecms.com", + name: "avuittet", + verified: false, + gender: "Agender", + ip_address: "192.138.191.252", + created: "2022-07-03", + lastSignIn: "2023-01-31", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/ducimuseumrerum.png?size=100x100&set=set1", + }, + { + id: 31, + email: "mpawelczyku@vinaora.com", + name: "tprallu", + verified: true, + gender: "Genderqueer", + ip_address: "199.46.221.234", + created: "2022-05-16", + lastSignIn: "2022-12-28", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/estsiteum.png?size=100x100&set=set1", + }, + { + id: 32, + email: "bsowrahv@nps.gov", + name: "dloadsmanv", + verified: false, + gender: "Male", + ip_address: "139.24.95.246", + created: "2022-05-21", + lastSignIn: "2023-01-17", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/nihilsimiliquesit.png?size=100x100&set=set1", + }, + { + id: 33, + email: "pbarlassw@shareasale.com", + name: "pgovanw", + verified: true, + gender: "Female", + ip_address: "72.63.197.90", + created: "2022-06-08", + lastSignIn: "2022-08-08", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/molestiaesuscipitquasi.png?size=100x100&set=set1", + }, + { + id: 34, + email: "nperigeauxx@amazon.de", + name: "moshielx", + verified: true, + gender: "Male", + ip_address: "191.7.191.236", + created: "2022-06-05", + lastSignIn: "2022-03-20", + disabled: true, + role: "USER", + avatar: "https://robohash.org/impeditnondebitis.png?size=100x100&set=set1", + }, + { + id: 35, + email: "jclatworthyy@qq.com", + name: "ecassey", + verified: true, + gender: "Female", + ip_address: "255.252.78.245", + created: "2022-12-20", + lastSignIn: "2022-04-15", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/dictaenimducimus.png?size=100x100&set=set1", + }, + { + id: 36, + email: "mwheelhousez@shareasale.com", + name: "fjulianz", + verified: false, + gender: "Male", + ip_address: "84.109.162.17", + created: "2022-09-15", + lastSignIn: "2022-08-12", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/nostrumsitsimilique.png?size=100x100&set=set1", + }, + { + id: 37, + email: "pnadin10@alibaba.com", + name: "amacpharlain10", + verified: false, + gender: "Female", + ip_address: "62.26.111.53", + created: "2022-09-18", + lastSignIn: "2022-03-28", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/etmaximeprovident.png?size=100x100&set=set1", + }, + { + id: 38, + email: "fcleveland11@nature.com", + name: "lhoundsom11", + verified: true, + gender: "Female", + ip_address: "63.231.194.248", + created: "2022-11-07", + lastSignIn: "2022-11-03", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/etquaedeserunt.png?size=100x100&set=set1", + }, + { + id: 39, + email: "shayworth12@goodreads.com", + name: "ghonnan12", + verified: true, + gender: "Female", + ip_address: "17.60.39.68", + created: "2022-04-21", + lastSignIn: "2022-12-10", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/nesciuntvelvelit.png?size=100x100&set=set1", + }, + { + id: 40, + email: "lyakushkin13@cargocollective.com", + name: "ccorson13", + verified: false, + gender: "Female", + ip_address: "103.53.80.139", + created: "2022-09-22", + lastSignIn: "2022-04-23", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/commodiassumendaeum.png?size=100x100&set=set1", + }, + { + id: 41, + email: "gpurkis14@dedecms.com", + name: "apickworth14", + verified: false, + gender: "Male", + ip_address: "8.225.24.206", + created: "2022-08-21", + lastSignIn: "2022-05-27", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/liberodolorempraesentium.png?size=100x100&set=set1", + }, + { + id: 42, + email: "dleneham15@webmd.com", + name: "rsandom15", + verified: false, + gender: "Male", + ip_address: "231.102.32.162", + created: "2022-08-31", + lastSignIn: "2022-10-24", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/doloremdoloresaliquid.png?size=100x100&set=set1", + }, + { + id: 43, + email: "pdanick16@icio.us", + name: "yestick16", + verified: false, + gender: "Genderfluid", + ip_address: "1.206.117.100", + created: "2022-02-28", + lastSignIn: "2022-10-11", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/quibusdamvelitaut.png?size=100x100&set=set1", + }, + { + id: 44, + email: "carchibold17@devhub.com", + name: "tanglin17", + verified: true, + gender: "Male", + ip_address: "34.66.211.198", + created: "2022-12-15", + lastSignIn: "2022-10-01", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/possimusnamodio.png?size=100x100&set=set1", + }, + { + id: 45, + email: "arosenkranc18@51.la", + name: "ntetther18", + verified: true, + gender: "Male", + ip_address: "14.50.152.180", + created: "2023-01-10", + lastSignIn: "2022-12-12", + disabled: false, + role: "USER", + avatar: "https://robohash.org/etsintquae.png?size=100x100&set=set1", + }, + { + id: 46, + email: "adibiasi19@aol.com", + name: "sgaines19", + verified: true, + gender: "Male", + ip_address: "209.151.119.236", + created: "2022-11-13", + lastSignIn: "2022-07-16", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/possimusmolestiaealiquid.png?size=100x100&set=set1", + }, + { + id: 47, + email: "dskellern1a@comcast.net", + name: "dbohlens1a", + verified: false, + gender: "Male", + ip_address: "17.147.66.246", + created: "2022-11-07", + lastSignIn: "2022-05-26", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/aperiameiuset.png?size=100x100&set=set1", + }, + { + id: 48, + email: "vmadders1b@ihg.com", + name: "tivashkov1b", + verified: true, + gender: "Male", + ip_address: "232.23.1.90", + created: "2022-10-12", + lastSignIn: "2023-01-13", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/consequaturducimusipsa.png?size=100x100&set=set1", + }, + { + id: 49, + email: "pgodin1c@lycos.com", + name: "claise1c", + verified: false, + gender: "Genderfluid", + ip_address: "2.72.95.164", + created: "2023-01-05", + lastSignIn: "2022-03-24", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/velitconsecteturcorrupti.png?size=100x100&set=set1", + }, + { + id: 50, + email: "ukarlmann1d@amazon.co.uk", + name: "ameaker1d", + verified: false, + gender: "Male", + ip_address: "235.117.10.195", + created: "2022-11-20", + lastSignIn: "2022-04-27", + disabled: false, + role: "ADMIN", + avatar: + "https://robohash.org/quireprehenderitquasi.png?size=100x100&set=set1", + }, + { + id: 51, + email: "kklosa1e@marriott.com", + name: "cbleibaum1e", + verified: false, + gender: "Female", + ip_address: "248.163.131.242", + created: "2022-08-03", + lastSignIn: "2022-05-15", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/quaeesseest.png?size=100x100&set=set1", + }, + { + id: 52, + email: "teadmeades1f@bravesites.com", + name: "maddington1f", + verified: true, + gender: "Male", + ip_address: "131.3.21.66", + created: "2022-03-26", + lastSignIn: "2022-11-25", + disabled: false, + role: "ADMIN", + avatar: + "https://robohash.org/autempariaturvoluptates.png?size=100x100&set=set1", + }, + { + id: 53, + email: "ncawston1g@angelfire.com", + name: "erhyme1g", + verified: false, + gender: "Female", + ip_address: "99.171.35.134", + created: "2022-07-14", + lastSignIn: "2022-07-17", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/eosvoluptatemtempore.png?size=100x100&set=set1", + }, + { + id: 54, + email: "sperks1h@google.com.au", + name: "rcominetti1h", + verified: false, + gender: "Male", + ip_address: "211.168.142.176", + created: "2022-09-30", + lastSignIn: "2022-05-02", + disabled: true, + role: "USER", + avatar: + "https://robohash.org/officiisdeseruntaut.png?size=100x100&set=set1", + }, + { + id: 55, + email: "ncapsey1i@studiopress.com", + name: "kavraam1i", + verified: false, + gender: "Male", + ip_address: "120.255.133.245", + created: "2022-05-04", + lastSignIn: "2022-11-05", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/quaeinrem.png?size=100x100&set=set1", + }, + { + id: 56, + email: "aceeley1j@symantec.com", + name: "kpittford1j", + verified: true, + gender: "Genderfluid", + ip_address: "128.66.145.5", + created: "2023-02-20", + lastSignIn: "2022-04-10", + disabled: false, + role: "USER", + avatar: "https://robohash.org/dolorquodpariatur.png?size=100x100&set=set1", + }, + { + id: 57, + email: "jpoytheras1k@eepurl.com", + name: "sreggiani1k", + verified: true, + gender: "Female", + ip_address: "16.97.119.159", + created: "2022-10-29", + lastSignIn: "2022-10-08", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/estaccusantiumvoluptatem.png?size=100x100&set=set1", + }, + { + id: 58, + email: "ldurkin1l@list-manage.com", + name: "cdixson1l", + verified: true, + gender: "Female", + ip_address: "80.101.169.149", + created: "2022-02-23", + lastSignIn: "2022-07-28", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/quietnostrum.png?size=100x100&set=set1", + }, + { + id: 59, + email: "fsaunper1m@myspace.com", + name: "gkrimmer1m", + verified: true, + gender: "Female", + ip_address: "41.40.98.175", + created: "2022-09-02", + lastSignIn: "2023-01-27", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/voluptatemliberovel.png?size=100x100&set=set1", + }, + { + id: 60, + email: "amahaffey1n@cyberchimps.com", + name: "mrowntree1n", + verified: true, + gender: "Female", + ip_address: "9.206.7.65", + created: "2022-07-20", + lastSignIn: "2022-09-11", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/nonvoluptatemaut.png?size=100x100&set=set1", + }, + { + id: 61, + email: "agorch1o@cyberchimps.com", + name: "bmullenger1o", + verified: true, + gender: "Female", + ip_address: "192.161.219.153", + created: "2022-12-14", + lastSignIn: "2022-08-08", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/commodiarchitectoqui.png?size=100x100&set=set1", + }, + { + id: 62, + email: "rgannicott1p@a8.net", + name: "werangey1p", + verified: true, + gender: "Genderfluid", + ip_address: "21.243.71.115", + created: "2022-06-02", + lastSignIn: "2022-03-11", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/amagnivero.png?size=100x100&set=set1", + }, + { + id: 63, + email: "alyokhin1q@zdnet.com", + name: "bliffe1q", + verified: true, + gender: "Male", + ip_address: "26.140.142.57", + created: "2022-10-10", + lastSignIn: "2022-10-22", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/mollitiaidblanditiis.png?size=100x100&set=set1", + }, + { + id: 64, + email: "lcarruthers1r@desdev.cn", + name: "mmuzzollo1r", + verified: true, + gender: "Male", + ip_address: "235.146.115.32", + created: "2022-12-16", + lastSignIn: "2022-09-09", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/aspernaturetqui.png?size=100x100&set=set1", + }, + { + id: 65, + email: "djeune1s@msu.edu", + name: "vgash1s", + verified: true, + gender: "Male", + ip_address: "84.8.247.249", + created: "2022-11-28", + lastSignIn: "2023-02-22", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/consequaturliberomagni.png?size=100x100&set=set1", + }, + { + id: 66, + email: "crobichon1t@washingtonpost.com", + name: "wbonner1t", + verified: false, + gender: "Female", + ip_address: "231.164.180.11", + created: "2022-09-20", + lastSignIn: "2022-06-04", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/autaccusantiumquas.png?size=100x100&set=set1", + }, + { + id: 67, + email: "mcouch1u@who.int", + name: "tllywarch1u", + verified: true, + gender: "Female", + ip_address: "100.62.230.155", + created: "2023-01-28", + lastSignIn: "2022-08-29", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/quisevenietvoluptatem.png?size=100x100&set=set1", + }, + { + id: 68, + email: "agauford1v@discuz.net", + name: "aritson1v", + verified: false, + gender: "Male", + ip_address: "101.5.129.73", + created: "2022-05-28", + lastSignIn: "2022-05-21", + disabled: false, + role: "EDITOR", + avatar: + "https://robohash.org/praesentiumodioiusto.png?size=100x100&set=set1", + }, + { + id: 69, + email: "vabramowitch1w@paypal.com", + name: "cwyldbore1w", + verified: true, + gender: "Female", + ip_address: "66.44.226.120", + created: "2022-07-03", + lastSignIn: "2022-08-29", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/etculpaest.png?size=100x100&set=set1", + }, + { + id: 70, + email: "hgladdish1x@upenn.edu", + name: "rimpey1x", + verified: false, + gender: "Non-binary", + ip_address: "77.91.81.44", + created: "2022-03-17", + lastSignIn: "2023-02-22", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/etducimusquisquam.png?size=100x100&set=set1", + }, + { + id: 71, + email: "swatford1y@a8.net", + name: "ctissier1y", + verified: false, + gender: "Genderfluid", + ip_address: "95.231.68.250", + created: "2022-07-04", + lastSignIn: "2022-12-17", + disabled: false, + role: "USER", + avatar: "https://robohash.org/fuganihilaut.png?size=100x100&set=set1", + }, + { + id: 72, + email: "tlillgard1z@patch.com", + name: "lduckers1z", + verified: true, + gender: "Male", + ip_address: "33.186.253.53", + created: "2022-11-21", + lastSignIn: "2022-06-30", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/fugitdelenitirepellat.png?size=100x100&set=set1", + }, + { + id: 73, + email: "lmidden20@nasa.gov", + name: "joates20", + verified: true, + gender: "Non-binary", + ip_address: "175.205.61.144", + created: "2022-05-28", + lastSignIn: "2022-05-21", + disabled: true, + role: "USER", + avatar: "https://robohash.org/omnisearumet.png?size=100x100&set=set1", + }, + { + id: 74, + email: "rsawood21@berkeley.edu", + name: "pivett21", + verified: false, + gender: "Male", + ip_address: "99.113.242.118", + created: "2022-10-05", + lastSignIn: "2022-09-17", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/inciduntsitvoluptatem.png?size=100x100&set=set1", + }, + { + id: 75, + email: "vbarwell22@slate.com", + name: "pcroizier22", + verified: false, + gender: "Female", + ip_address: "207.1.5.240", + created: "2022-04-06", + lastSignIn: "2022-09-20", + disabled: false, + role: "USER", + avatar: + "https://robohash.org/optioexcepturiiusto.png?size=100x100&set=set1", + }, + { + id: 76, + email: "kstandering23@opensource.org", + name: "ddraijer23", + verified: true, + gender: "Male", + ip_address: "31.236.69.232", + created: "2022-03-15", + lastSignIn: "2022-05-05", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/molestiaenisiitaque.png?size=100x100&set=set1", + }, + { + id: 77, + email: "alugton24@discovery.com", + name: "csawrey24", + verified: true, + gender: "Genderfluid", + ip_address: "217.73.197.60", + created: "2022-09-15", + lastSignIn: "2022-09-06", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/impediteumaut.png?size=100x100&set=set1", + }, + { + id: 78, + email: "mgeroldi25@squarespace.com", + name: "pskerman25", + verified: true, + gender: "Female", + ip_address: "26.7.90.72", + created: "2022-06-14", + lastSignIn: "2022-10-13", + disabled: false, + role: "USER", + avatar: "https://robohash.org/ipsumutpossimus.png?size=100x100&set=set1", + }, + { + id: 79, + email: "zjanes26@hugedomains.com", + name: "igeale26", + verified: true, + gender: "Female", + ip_address: "213.124.246.5", + created: "2022-04-27", + lastSignIn: "2022-03-07", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/sapientetemporaofficia.png?size=100x100&set=set1", + }, + { + id: 80, + email: "rloudiane27@google.com.au", + name: "dwillas27", + verified: false, + gender: "Male", + ip_address: "78.98.62.58", + created: "2022-03-01", + lastSignIn: "2022-06-14", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/adconsequaturnam.png?size=100x100&set=set1", + }, + { + id: 81, + email: "dwenger28@marriott.com", + name: "mleguay28", + verified: true, + gender: "Female", + ip_address: "40.226.242.72", + created: "2023-02-22", + lastSignIn: "2022-08-12", + disabled: true, + role: "USER", + avatar: "https://robohash.org/praesentiumquiin.png?size=100x100&set=set1", + }, + { + id: 82, + email: "dmactrustie29@google.ru", + name: "rlytlle29", + verified: false, + gender: "Male", + ip_address: "96.9.161.105", + created: "2022-06-25", + lastSignIn: "2022-07-13", + disabled: true, + role: "EDITOR", + avatar: + "https://robohash.org/inaliasvoluptatibus.png?size=100x100&set=set1", + }, + { + id: 83, + email: "wpinwill2a@homestead.com", + name: "smcgeown2a", + verified: true, + gender: "Male", + ip_address: "25.92.222.218", + created: "2022-06-23", + lastSignIn: "2022-04-01", + disabled: false, + role: "ADMIN", + avatar: + "https://robohash.org/officiisdebitisaliquam.png?size=100x100&set=set1", + }, + { + id: 84, + email: "aponceford2b@comcast.net", + name: "tbestman2b", + verified: true, + gender: "Male", + ip_address: "91.151.138.119", + created: "2022-08-29", + lastSignIn: "2022-02-26", + disabled: true, + role: "EDITOR", + avatar: "https://robohash.org/ettemporibusdicta.png?size=100x100&set=set1", + }, + { + id: 85, + email: "jgraalmans2c@360.cn", + name: "cdennehy2c", + verified: true, + gender: "Male", + ip_address: "11.237.190.161", + created: "2023-02-02", + lastSignIn: "2022-11-03", + disabled: true, + role: "USER", + avatar: + "https://robohash.org/quirecusandaelabore.png?size=100x100&set=set1", + }, + { + id: 86, + email: "mstearns2d@goo.gl", + name: "dhinkes2d", + verified: false, + gender: "Female", + ip_address: "56.0.190.188", + created: "2023-01-04", + lastSignIn: "2022-08-22", + disabled: false, + role: "EDITOR", + avatar: "https://robohash.org/esseavoluptas.png?size=100x100&set=set1", + }, + { + id: 87, + email: "ukevern2e@earthlink.net", + name: "usproule2e", + verified: false, + gender: "Male", + ip_address: "225.14.228.187", + created: "2022-08-18", + lastSignIn: "2022-10-07", + disabled: true, + role: "USER", + avatar: + "https://robohash.org/molestiaeanimiaspernatur.png?size=100x100&set=set1", + }, + { + id: 88, + email: "ccuttle2f@rediff.com", + name: "mturnell2f", + verified: true, + gender: "Female", + ip_address: "165.130.0.6", + created: "2023-01-14", + lastSignIn: "2022-09-28", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/idvoluptasneque.png?size=100x100&set=set1", + }, + { + id: 89, + email: "dhallan2g@smh.com.au", + name: "cblower2g", + verified: false, + gender: "Female", + ip_address: "18.77.9.169", + created: "2022-10-03", + lastSignIn: "2022-08-07", + disabled: true, + role: "USER", + avatar: "https://robohash.org/quoillonisi.png?size=100x100&set=set1", + }, + { + id: 90, + email: "sbeynke2h@go.com", + name: "scarrabot2h", + verified: false, + gender: "Female", + ip_address: "68.65.225.72", + created: "2022-07-23", + lastSignIn: "2022-07-09", + disabled: true, + role: "ADMIN", + avatar: + "https://robohash.org/moditemporibustotam.png?size=100x100&set=set1", + }, + { + id: 91, + email: "vdalgliesh2i@paypal.com", + name: "nhurrion2i", + verified: false, + gender: "Male", + ip_address: "84.1.62.243", + created: "2022-12-09", + lastSignIn: "2022-08-09", + disabled: true, + role: "USER", + avatar: "https://robohash.org/remdolorprovident.png?size=100x100&set=set1", + }, + { + id: 92, + email: "gdaintree2j@live.com", + name: "nkench2j", + verified: false, + gender: "Genderqueer", + ip_address: "36.89.115.121", + created: "2023-01-31", + lastSignIn: "2022-12-02", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/nonsolutadeleniti.png?size=100x100&set=set1", + }, + { + id: 93, + email: "tnovakovic2k@goo.ne.jp", + name: "karmer2k", + verified: false, + gender: "Male", + ip_address: "246.128.66.133", + created: "2022-05-30", + lastSignIn: "2022-07-29", + disabled: true, + role: "USER", + avatar: "https://robohash.org/debitiseiussunt.png?size=100x100&set=set1", + }, + { + id: 94, + email: "wbaumber2l@trellian.com", + name: "csibary2l", + verified: false, + gender: "Genderfluid", + ip_address: "110.87.240.117", + created: "2022-08-18", + lastSignIn: "2022-10-18", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/doloremquefugiatid.png?size=100x100&set=set1", + }, + { + id: 95, + email: "ebaiss2m@foxnews.com", + name: "mmalletratt2m", + verified: false, + gender: "Female", + ip_address: "54.214.11.227", + created: "2022-11-20", + lastSignIn: "2023-01-28", + disabled: false, + role: "ADMIN", + avatar: + "https://robohash.org/consecteturautquidem.png?size=100x100&set=set1", + }, + { + id: 96, + email: "ggabbatt2n@scribd.com", + name: "lbess2n", + verified: true, + gender: "Female", + ip_address: "123.249.253.45", + created: "2022-07-29", + lastSignIn: "2022-09-25", + disabled: true, + role: "USER", + avatar: "https://robohash.org/commodidoloreiusto.png?size=100x100&set=set1", + }, + { + id: 97, + email: "dvakhrushev2o@vistaprint.com", + name: "cmanifould2o", + verified: true, + gender: "Male", + ip_address: "134.212.66.33", + created: "2022-11-22", + lastSignIn: "2022-06-01", + disabled: false, + role: "ADMIN", + avatar: + "https://robohash.org/temporibusfugavoluptatibus.png?size=100x100&set=set1", + }, + { + id: 98, + email: "gbenedetti2p@qq.com", + name: "lbigglestone2p", + verified: true, + gender: "Non-binary", + ip_address: "0.16.179.252", + created: "2022-06-25", + lastSignIn: "2022-03-25", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/inducimusillo.png?size=100x100&set=set1", + }, + { + id: 99, + email: "gcady2q@meetup.com", + name: "sattwoull2q", + verified: false, + gender: "Male", + ip_address: "225.39.161.61", + created: "2022-12-16", + lastSignIn: "2022-08-21", + disabled: false, + role: "ADMIN", + avatar: "https://robohash.org/errorofficiisnemo.png?size=100x100&set=set1", + }, + { + id: 100, + email: "mcare2r@bloglovin.com", + name: "fhuddleston2r", + verified: true, + gender: "Female", + ip_address: "209.199.239.157", + created: "2022-08-03", + lastSignIn: "2022-07-27", + disabled: true, + role: "ADMIN", + avatar: "https://robohash.org/veniamdolorat.png?size=100x100&set=set1", + }, +]; diff --git a/console-ui/src/layouts/AuthLayout.vue b/console-ui/src/layouts/AuthLayout.vue new file mode 100644 index 0000000..fcbe028 --- /dev/null +++ b/console-ui/src/layouts/AuthLayout.vue @@ -0,0 +1,32 @@ + + + diff --git a/console-ui/src/layouts/DefaultLayout.vue b/console-ui/src/layouts/DefaultLayout.vue new file mode 100644 index 0000000..2b8838e --- /dev/null +++ b/console-ui/src/layouts/DefaultLayout.vue @@ -0,0 +1,5 @@ + diff --git a/console-ui/src/layouts/LandingLayout.vue b/console-ui/src/layouts/LandingLayout.vue new file mode 100644 index 0000000..c468867 --- /dev/null +++ b/console-ui/src/layouts/LandingLayout.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/console-ui/src/layouts/UILayout.vue b/console-ui/src/layouts/UILayout.vue new file mode 100644 index 0000000..db8f420 --- /dev/null +++ b/console-ui/src/layouts/UILayout.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/console-ui/src/locales/en.ts b/console-ui/src/locales/en.ts new file mode 100644 index 0000000..9c494a6 --- /dev/null +++ b/console-ui/src/locales/en.ts @@ -0,0 +1,223 @@ +export default { + common: { + add: "Add", + cancel: "Cancel", + save: "Save", + delete: "Delete", + title: "Title", + description: "Description", + faq: "FAQ", + contact: "Contact Us", + tos: "Terms of Service", + policy: "Privacy Policy", + }, + login: { + title: "Sign In", + email: "Email", + password: "Password", + button: "Sign In", + orsign: "Or sign in with", + forgot: "Forgot password?", + noaccount: "Don't have an account?", + create: "Create one here", + error: "The email / password combination is invalid", + }, + register: { + title: "Create Account", + username: "Username", + email: "Email", + password: "Password", + button: "Create Account", + orsign: "Or sign up with", + agree: "By signing up, you agree to the", + account: "Already have an account?", + signin: "Sign In", + }, + menu: { + search: 'Search (press "ctrl + /" to focus)', + dashboard: "Dashboard", + logout: "Logout", + profile: "Profile", + blank: "Blank Page", + pages: "Pages", + others: "Others", + email: "Email", + chat: "Chat", + todo: "To Do", + nitori: "Nitori", + unsplash: "Unsplash", + booking: "Booking", + ikea: "IKEA", + + board: "Task Board", + users: "Users", + usersList: "List", + usersEdit: "Edit", + ecommerce: "Ecommerce", + ecommerceList: "Products", + ecommerceProductDetails: "Product Details", + ecommerceOrders: "Orders", + ecommerceCart: "Cart", + auth: "Auth Pages", + authLogin: "Signin / Login", + authRegister: "Signup / Register", + authVerify: "Verify Email", + authForgot: "Forgot Password", + authReset: "Reset Password", + errorPages: "Error Pages", + errorNotFound: "Not Found / 404", + errorUnexpected: "Unexpected / 500", + utilityPages: "Utility Pages", + utilityMaintenance: "Maintenance", + utilitySoon: "Coming Soon", + utilityHelp: "FAQs / Help", + levels: "Menu Levels", + disabled: "Menu Disabled", + docs: "Documentation", + feedback: "Feedback", + support: "Support", + landingPage: "Dark Demo", + heroPage: "Hero Page", + featurePage: "Feature Page", + pricingPage: "Pricing Page", + cardPage: "Card Page", + teamPage: "Team Page", + testimonialPage: "Testimonial Page", + statsPage: "Stats Page", + logosPage: "Logos Page", + callToActionPage: "Call To Action Page", + newsletterPage: "Newsletter Page", + faqPage: "FAQ Page", + toolbarPage: "Toolbar Page", + footerPage: "Footer Page", + childBinding: "Child Binding", + dataTable: "Data Table", + colors: "Colors", + gradient: "Gradient", + card: "Card", + grids: "Grid", + scrollbar: "Perfect Scrollbar", + waterFall: "Masonry layout", + masonry: "Vue-Masonry-Wall ", + virtualList: "Virtual List ", + virtualScroller: "Virtual Scroller ", + charts: "Charts ", + echartLine: "Echart Line ", + echartBar: "Echart Bar ", + echartPie: "Echart Pie ", + echartScatter: "Echart Scatter ", + echartOthers: "Echart Others ", + apexChart: "ApexChart ", + data: { + usersDataPage: "Users Data", + photosDataPage: "Photos Data", + collectionsDataPage: "Collections Data", + topicsDataPage: "Topics Data", + topicPhotosDataPage: "Topic Photos Data", + }, + chatbot_v1: "Chatbot v1", + chatbot_v2: "Chatbot v2", + }, + + dashboard: { + activity: "Activity", + weeklySales: "Weekly Sales", + sales: "Sales", + recentOrders: "Recent Orders", + sources: "Traffic Sources", + lastweek: "vs last week", + orders: "Orders", + customers: "Customers", + tickets: "Support Tickets", + viewReport: "View Report", + }, + + // toolbox + toolbox: { + apikey: { + title: "API Key", + }, + chatAssistant: { + title: "Chat Assistant", + }, + translationAssistant: { + title: "Translation Assistant", + targetLanguage: "Target Language", + translate: "Translate", + speech: "Speech", + read: "Read", + }, + codeAssistant: { + title: "Code Assistant", + }, + playGround: { + title: "Playground", + }, + }, + + // Vuetify components translations + $vuetify: { + badge: "Badge", + close: "Close", + dataIterator: { + noResultsText: "No matching records found", + loadingText: "Loading items...", + }, + dataTable: { + itemsPerPageText: "Rows per page:", + ariaLabel: { + sortDescending: "Sorted descending.", + sortAscending: "Sorted ascending.", + sortNone: "Not sorted.", + activateNone: "Activate to remove sorting.", + activateDescending: "Activate to sort descending.", + activateAscending: "Activate to sort ascending.", + }, + sortBy: "Sort by", + }, + dataFooter: { + itemsPerPageText: "Items per page:", + itemsPerPageAll: "All", + nextPage: "Next page", + prevPage: "Previous page", + firstPage: "First page", + lastPage: "Last page", + pageText: "{0}-{1} of {2}", + }, + datePicker: { + itemsSelected: "{0} selected", + nextMonthAriaLabel: "Next month", + nextYearAriaLabel: "Next year", + prevMonthAriaLabel: "Previous month", + prevYearAriaLabel: "Previous year", + }, + noDataText: "No data available", + carousel: { + prev: "Previous visual", + next: "Next visual", + ariaLabel: { + delimiter: "Carousel slide {0} of {1}", + }, + }, + calendar: { + moreEvents: "{0} more", + }, + fileInput: { + counter: "{0} files", + counterSize: "{0} files ({1} in total)", + }, + timePicker: { + am: "AM", + pm: "PM", + }, + pagination: { + ariaLabel: { + wrapper: "Pagination Navigation", + next: "Next page", + previous: "Previous page", + page: "Goto Page {0}", + currentPage: "Current Page, Page {0}", + }, + }, + }, +}; diff --git a/console-ui/src/locales/ja.ts b/console-ui/src/locales/ja.ts new file mode 100644 index 0000000..bbce78b --- /dev/null +++ b/console-ui/src/locales/ja.ts @@ -0,0 +1,219 @@ +export default { + common: { + add: "追加", + cancel: "キャンセル", + description: "説明", + delete: "削除", + title: "タイトル", + save: "保存", + faq: "よくある質問", + contact: "お問い合わせ", + tos: "利用規約", + policy: "個人情報保護方針", + }, + login: { + title: "サインイン", + email: "Eメール", + password: "パスワード", + button: "サインイン", + orsign: "またはでサインイン", + forgot: "パスワードをお忘れですか?", + noaccount: "アカウントをお持ちではありませんか?", + create: "ここで作成します", + error: "メールとパスワードの組み合わせが無効です", + }, + register: { + title: "アカウントを作成する", + username: "フルネーム", + email: "Eメール", + password: "パスワード", + button: "アカウントを作成する", + orsign: "またはでサインアップ", + agree: "サインアップすると、", + account: "すでにアカウントをお持ちですか?", + signin: "サインイン", + }, + menu: { + search: "検索(フォーカスするには「ctrl + /」を押します)", + dashboard: "ダッシュボード", + logout: "ログアウト", + profile: "プロフィール", + blank: "空白ページ", + pages: "ページ", + others: "その他", + email: "Eメール", + chat: "チャット", + todo: "やること", + nitori: "Nitori", + booking: "Booking", + ikea: "IKEA", + unsplash: "Unsplash", + board: "タスクボード", + users: "ユーザー", + usersList: "リスト", + usersEdit: "編集", + ecommerce: "eコマース", + ecommerceList: "製品", + ecommerceProductDetails: "製品詳細", + ecommerceOrders: "注文", + ecommerceCart: "カート", + auth: "認証ページ", + authLogin: "サインイン/ログイン", + authRegister: "サインアップ/登録", + authVerify: "Eメールを確認します", + authForgot: "パスワードをお忘れですか", + authReset: "パスワードを再設定する", + errorPages: "エラーページ", + errorNotFound: "見つかりません/ 404", + errorUnexpected: "予期しない/ 500", + utilityPages: "ユーティリティページ", + utilityMaintenance: "メンテナンス", + utilitySoon: "近日公開", + utilityHelp: "よくある質問/ヘルプ", + levels: "メニューレベル", + disabled: "メニュー無効", + docs: "ドキュメンテーション", + feedback: "フィードバック", + support: "サポート", + landingPage: "ダークモード", + pricingPage: "価格ページ", + heroPage: "Hero", + featurePage: "Feature", + cardPage: "カードページ", + teamPage: "チームページ", + testimonialPage: "テストモニアルページ", + statsPage: "スターズページ", + logosPage: "ロゴスページ", + callToActionPage: "アクションページ", + newsletterPage: "ニュースレターページ", + faqPage: "FAQページ", + toolbarPage: "ツールバーページ", + footerPage: "フッターページ", + dataTablePage: "データテーブルページ", + colors: "カラー", + gradient: "Gradient", + card: "カード", + grids: "グリッドレイアウト", + scrollbar: "スクロールバー", + waterFall: "おしゃれスクロール", + masonry: "おしゃれスクロール2 ", + virtualList: "バーチャルリスト ", + virtualScroller: "バーチャルスクロールバー ", + charts: "チャート ", + echartLine: "Echart Line ", + echartBar: "Echart Bar ", + echartPie: "Echart Pie ", + echartScatter: "Echart Scatter ", + echartOthers: "Echart Others ", + apexChart: "ApexChart ", + data: { + usersDataPage: "ユーザーデータ", + photosDataPage: "写真データ", + collectionsDataPage: "コレクションデータ", + topicsDataPage: "トピックデータ", + topicPhotosDataPage: "トピック写真データ", + }, + chatbot_v1: "Chatbot v1", + chatbot_v2: "Chatbot v2", + }, + dashboard: { + activity: "アクティビティ", + weeklySales: "週間売上", + sales: "売上", + recentOrders: "最近の注文", + sources: "トラフィックソース", + lastweek: "前週比", + orders: "注文", + customers: "顧客", + tickets: "サポートチケット", + viewReport: "レポートを見る", + }, + // toolbox + toolbox: { + apikey: { + title: "API Key", + }, + chatAssistant: { + title: "チャットアシスタント", + }, + translationAssistant: { + title: "翻訳アシスタント", + targetLanguage: "翻訳先の言語", + translate: "翻訳", + speech: "音声", + read: "読む", + }, + codeAssistant: { + title: "コードアシスタント", + }, + playGround: { + title: "プレイグラウンド", + }, + }, + + // コンポーネント + $vuetify: { + badge: "バッジ", + close: "閉じる", + dataIterator: { + noResultsText: "一致するレコードが見つかりません", + loadingText: "アイテムを読み込んでいます...", + }, + dataTable: { + itemsPerPageText: "ページあたりの行数:", + ariaLabel: { + sortDescending: "降順で並べ替え。", + sortAscending: "昇順で並べ替え。", + sortNone: "ソートされていません。", + activateNone: "ソートを解除アクティブ", + activateDescending: "降順でソートアクティブ", + activateAscending: "昇順でソートアクティブ", + }, + sortBy: "ソート方法", + }, + dataFooter: { + itemsPerPageText: "ページあたりのアイテム数:", + itemsPerPageAll: "すべて", + nextPage: "次のページ", + prevPage: "前のページ", + firstPage: "最初のページ", + lastPage: "最後のページ", + pageText: "{2}中の{0}-{1}", + }, + datePicker: { + itemsSelected: "{0}個選択されました", + nextMonthAriaLabel: "次の月", + nextYearAriaLabel: "来年", + prevMonthAriaLabel: "前月", + prevYearAriaLabel: "前年", + }, + noDataText: "データがありません", + carousel: { + prev: "前のビジュアル", + next: "次のビジュアル", + ariaLabel: { + delimiter: "カルーセルスライド {0}/{1}", + }, + }, + calendar: { + moreEvents: "さらに{0}件", + }, + fileInput: { + counter: "{0}ファイル", + counterSize: "{1}中、{0}ファイル", + }, + timePicker: { + am: "AM", + pm: "PM", + }, + pagination: { + ariaLabel: { + wrapper: "ページネーションナビゲーション", + next: "次のページ", + previous: "前のページ", + page: "{0}ページに移動する", + currentPage: "現在のページ、{0}ページ目", + }, + }, + }, +}; diff --git a/console-ui/src/locales/zhHans.ts b/console-ui/src/locales/zhHans.ts new file mode 100644 index 0000000..549dcc8 --- /dev/null +++ b/console-ui/src/locales/zhHans.ts @@ -0,0 +1,218 @@ +export default { + common: { + add: "新增", + cancel: "取消", + description: "描述", + delete: "删除", + title: "标题", + save: "保存", + faq: "常见问题", + contact: "联系我们", + tos: "服务条款", + policy: "隐私政策", + }, + login: { + title: "登录", + email: "电子邮件", + password: "密码", + button: "登录", + orsign: "或使用", + forgot: "忘记密码?", + noaccount: "还没有帐号?", + create: "在此处创建一个", + error: "电子邮件/密码组合无效", + }, + register: { + title: "创建帐号", + username: "全名", + email: "电子邮件", + password: "密码", + button: "创建帐号", + orsign: "或注册", + agree: "签署即表示您同意", + account: "已经有帐号了?", + signin: "登录", + }, + menu: { + search: "搜索(按“ Ctrl + /”进行聚焦)", + dashboard: "仪表板", + logout: "登出", + profile: "个人资料", + blank: "空白页", + pages: "页面", + others: "其他", + email: "电子邮件", + chat: "聊天室", + todo: "去做", + nitori: "Nitori", + booking: "Booking", + unsplash: "Unsplash", + ikea: "宜家", + board: "任务板", + users: "用户数", + usersList: "清单", + usersEdit: "编辑", + ecommerce: "电子商务", + ecommerceList: "产品展示", + ecommerceProductDetails: "产品详情", + ecommerceOrders: "订单", + ecommerceCart: "购物车", + auth: "验证页面", + authLogin: "登录/登录", + authRegister: "注册/注册", + authVerify: "验证邮件", + authForgot: "忘记密码", + authReset: "重设密码", + errorPages: "错误页面", + errorNotFound: "找不到/ 404", + errorUnexpected: "意想不到的/ 500", + utilityPages: "实用页面", + utilityMaintenance: "保养", + utilitySoon: "快来了", + utilityHelp: "常见问题/帮助", + levels: "菜单级别", + disabled: "菜单已禁用", + docs: "文献资料", + feedback: "反馈", + support: "支持", + landingPage: "暗夜界面", + pricingPage: "定价页面", + heroPage: "引导页面", + featurePage: "功能页面", + cardPage: "卡片页面", + teamPage: "团队页面", + testimonialPage: "推荐页面", + statsPage: "数据统计页面", + logosPage: "Logo页面", + callToActionPage: "行动页面", + newsletterPage: "通讯页面", + faqPage: "FAQ 页面", + toolbarPage: "工具栏页面", + footerPage: "页脚页面", + dataTable: "复杂数据表", + colors: "色彩", + gradient: "渐变色", + card: "卡片", + grids: "网格", + scrollbar: "滚动条美化", + waterFall: "瀑布流布局", + masonry: "瀑布流布局2", + virtualList: "虚拟列表 ", + virtualScroller: "虚拟滚动 ", + charts: "图表 ", + echartLine: "Echart Line ", + echartBar: "Echart Bar ", + echartPie: "Echart Pie ", + echartScatter: "Echart Scatter ", + echartOthers: "Echart Others ", + apexChart: "ApexChart ", + data: { + usersDataPage: "用户数据", + photosDataPage: "照片数据", + collectionsDataPage: "集合数据", + topicsDataPage: "主题数据", + topicPhotosDataPage: "主题照片数据", + }, + chatbot_v1: "Chatbot v1", + chatbot_v2: "Chatbot v2", + }, + dashboard: { + activity: "活动", + weeklySales: "每周销售", + sales: "营业额", + recentOrders: "最近的订单", + sources: "流量来源", + lastweek: "与上周", + orders: "订单", + customers: "顾客", + tickets: "支持票", + viewReport: "查看报告", + }, + // toolbox + toolbox: { + apikey: { + title: "API Key", + }, + chatAssistant: { + title: "聊天助手", + }, + translationAssistant: { + title: "翻译助手", + targetLanguage: "目标语言", + translate: "翻译", + speech: "语音", + read: "朗读", + }, + codeAssistant: { + title: "代码助手", + }, + playGround: { + title: "PlayGround", + }, + }, + // Vuetify 组件内部翻译 + $vuetify: { + badge: "徽章", + close: "关", + dataIterator: { + noResultsText: "未找到匹配的记录", + loadingText: "正在载入项目...", + }, + dataTable: { + itemsPerPageText: "每页行数:", + ariaLabel: { + sortDescending: "降序排列。", + sortAscending: "升序排列。", + sortNone: "未排序。", + activateNone: "激活以删除排序。", + activateDescending: "激活以降序排列。", + activateAscending: "激活以升序排序。", + }, + sortBy: "排序方式", + }, + dataFooter: { + itemsPerPageText: "每页项目:", + itemsPerPageAll: "所有", + nextPage: "下一页", + prevPage: "上一页", + firstPage: "第一页", + lastPage: "最后一页", + pageText: "{2}中的{0}-{1}", + }, + datePicker: { + itemsSelected: "已选择{0}", + nextMonthAriaLabel: "下个月", + nextYearAriaLabel: "明年", + prevMonthAriaLabel: "前一个月", + prevYearAriaLabel: "前一年", + }, + noDataText: "无可用数据", + carousel: { + prev: "以前的视觉", + next: "下一个视觉", + ariaLabel: { + delimiter: "{1}的轮播幻灯片{0}", + }, + }, + calendar: { + moreEvents: "还有{0}个", + }, + fileInput: { + counter: "{0}个文件", + counterSize: "{0}个文件(共{1}个)", + }, + timePicker: { + am: "AM", + pm: "PM", + }, + pagination: { + ariaLabel: { + wrapper: "分页导航", + next: "下一页", + previous: "上一页", + page: "转到页面{0}", + currentPage: "当前页,第{0}页", + }, + }, + }, +}; diff --git a/console-ui/src/main.js b/console-ui/src/main.js deleted file mode 100644 index f253456..0000000 --- a/console-ui/src/main.js +++ /dev/null @@ -1,12 +0,0 @@ -import Vue from 'vue' -import App from './App.vue' -import router from './router' -import store from './store' - -Vue.config.productionTip = false - -new Vue({ - router, - store, - render: h => h(App) -}).$mount('#app') diff --git a/console-ui/src/main.ts b/console-ui/src/main.ts new file mode 100644 index 0000000..ea85903 --- /dev/null +++ b/console-ui/src/main.ts @@ -0,0 +1,39 @@ +/** + * main.js + * + */ + +// Components +import App from "./App.vue"; + +// Composables +import { createApp } from "vue"; +import vuetify from "./plugins/vuetify"; +import { VueMasonryPlugin } from "vue-masonry"; +import MasonryWall from "@yeger/vue-masonry-wall"; +import VueVirtualScroller from "vue-virtual-scroller"; +import "vue-virtual-scroller/dist/vue-virtual-scroller.css"; +import VueApexCharts from "vue3-apexcharts"; +import piniaPersist from "pinia-plugin-persist"; +import PerfectScrollbar from "vue3-perfect-scrollbar"; +import "@/styles/main.scss"; +import router from "./router"; +import i18n from "./plugins/i18n"; +import "vue3-lottie/dist/style.css"; +import Vue3Lottie from "vue3-lottie"; + +const pinia = createPinia(); +pinia.use(piniaPersist); +const app = createApp(App); + +app.use(router); +app.use(PerfectScrollbar); +app.use(VueMasonryPlugin); +app.use(MasonryWall); +app.use(VueVirtualScroller); +app.use(VueApexCharts); +app.use(pinia); +app.use(i18n); +app.use(Vue3Lottie, { name: "LottieAnimation" }); +app.use(vuetify); +app.mount("#app"); diff --git a/console-ui/src/plugins/echarts.ts b/console-ui/src/plugins/echarts.ts new file mode 100644 index 0000000..6cc47d9 --- /dev/null +++ b/console-ui/src/plugins/echarts.ts @@ -0,0 +1,156 @@ +import { Ref } from "vue"; +import type { EChartsOption } from "echarts"; +import { SVGRenderer, CanvasRenderer } from "echarts/renderers"; +import * as echarts from "echarts/core"; +import { + BarChart, + LineChart, + PieChart, + MapChart, + PictorialBarChart, + RadarChart, + ScatterChart, +} from "echarts/charts"; + +import { + TitleComponent, + TooltipComponent, + GridComponent, + PolarComponent, + AriaComponent, + ParallelComponent, + LegendComponent, + RadarComponent, + ToolboxComponent, + DataZoomComponent, + VisualMapComponent, + TimelineComponent, + CalendarComponent, + GraphicComponent, +} from "echarts/components"; + +echarts.use([ + LegendComponent, + TitleComponent, + TooltipComponent, + GridComponent, + PolarComponent, + AriaComponent, + ParallelComponent, + BarChart, + LineChart, + PieChart, + MapChart, + RadarChart, + PictorialBarChart, + RadarComponent, + ToolboxComponent, + DataZoomComponent, + VisualMapComponent, + TimelineComponent, + CalendarComponent, + GraphicComponent, + ScatterChart, +]); + +export default echarts; + +export enum RenderType { + SVGRenderer = "SVGRenderer", + CanvasRenderer = "CanvasRenderer", +} + +export enum ThemeType { + Light = "light", + Dark = "dark", + Default = "default", +} + +export function useChart( + elRef: Ref, + autoChartSize = false, + animation: boolean = false, + render: RenderType = RenderType.SVGRenderer, + theme: ThemeType = ThemeType.Default +) { + // 渲染模式 + echarts.use(render === RenderType.SVGRenderer ? SVGRenderer : CanvasRenderer); + // echart实例 + let chartInstance: echarts.ECharts | null = null; + + // 初始化echart + const initCharts = () => { + const el = unref(elRef); + if (!el || !unref(el)) { + return; + } + chartInstance = echarts.init(el, theme); + }; + + // 更新/设置配置 + const setOption = (option: EChartsOption) => { + nextTick(() => { + if (!chartInstance) { + initCharts(); + if (!chartInstance) return; + } + + chartInstance.setOption(option); + hideLoading(); + }); + }; + + // 获取echart实例 + function getInstance(): echarts.ECharts | null { + if (!chartInstance) { + initCharts(); + } + return chartInstance; + } + + // 更新大小 + function resize() { + chartInstance?.resize(); + } + + // 监听元素大小 + function watchEl() { + // 给元素添加过渡 + if (animation) { + elRef.value.style.transition = "width 1s, height 1s"; + } + const resizeObserver = new ResizeObserver((entries) => resize()); + resizeObserver.observe(elRef.value); + } + + // 显示加载状态 + function showLoading() { + if (!chartInstance) { + initCharts(); + } + chartInstance?.showLoading(); + } + // 显示加载状态 + function hideLoading() { + if (!chartInstance) { + initCharts(); + } + chartInstance?.hideLoading(); + } + + onMounted(() => { + window.addEventListener("resize", resize); + if (autoChartSize) watchEl(); + }); + + onUnmounted(() => { + window.removeEventListener("resize", resize); + }); + + return { + setOption, + getInstance, + showLoading, + hideLoading, + }; +} diff --git a/console-ui/src/plugins/i18n.ts b/console-ui/src/plugins/i18n.ts new file mode 100644 index 0000000..6c3ae1e --- /dev/null +++ b/console-ui/src/plugins/i18n.ts @@ -0,0 +1,12 @@ +import { createI18n } from "vue-i18n"; +import locales from "@/configs/locales"; +const messages: any = locales.messages; + +const i18n = createI18n({ + legacy: false, + locale: "en", // 设置默认语言 + fallbackLocale: "en", // 设置回退语言 + messages, +}); + +export default i18n; diff --git a/console-ui/src/plugins/vuetify.ts b/console-ui/src/plugins/vuetify.ts new file mode 100644 index 0000000..38b1620 --- /dev/null +++ b/console-ui/src/plugins/vuetify.ts @@ -0,0 +1,96 @@ +/** + * plugins/vuetify.js + * + * Framework documentation: https://vuetifyjs.com` + */ + +// Styles +import "@mdi/font/css/materialdesignicons.css"; +import "vuetify/styles"; +// Composables +import { createVuetify } from "vuetify"; +import type { ThemeDefinition } from "vuetify"; +import * as components from "vuetify/components"; +import * as directives from "vuetify/directives"; +import { createVueI18nAdapter } from "vuetify/locale/adapters/vue-i18n"; +import { useI18n } from "vue-i18n"; +import i18n from "@/plugins/i18n"; +import * as labs from "vuetify/labs/components"; + +// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides + +const Lighttheme: ThemeDefinition = { + dark: false, + variables: { + "high-emphasis-opacity": 1, + }, + colors: { + background: "#f2f5f8", + surface: "#ffffff", + primary: "#344767", + secondary: "#334155", + accent: "#705CF6", + error: "#ef476f", + info: "#2196F3", + success: "#06d6a0", + "on-success": "#ffffff", + warning: "#ffd166", + }, +}; + +const Darktheme: ThemeDefinition = { + dark: true, + colors: { + background: "#111b27", + surface: "#1E293B", + primary: "#705CF6", + secondary: "#598EF3", + accent: "#705CF6", + error: "#FF5252", + info: "#2196F3", + success: "#4CAF50", + warning: "#FFC107", + }, +}; + +export default createVuetify({ + components: { + ...components, + ...labs, + }, + directives, + theme: { + themes: { + light: Lighttheme, + dark: Darktheme, + }, + }, + defaults: { + VBtn: { + rounded: "md", + fontWeight: "400", + letterSpacing: "0", + }, + VCard: {}, + VSheet: { + elevation: 1, + }, + VTable: { + elevation: 1, + }, + + VDataTable: { + fixedHeader: true, + noDataText: "Results not found", + }, + VTextField: { + variant: "solo", + }, + VSelect: { + variant: "solo", + }, + }, + locale: { + adapter: createVueI18nAdapter({ i18n, useI18n }), + }, +}); diff --git a/console-ui/src/router/ai.routes.ts b/console-ui/src/router/ai.routes.ts new file mode 100644 index 0000000..938c2df --- /dev/null +++ b/console-ui/src/router/ai.routes.ts @@ -0,0 +1,23 @@ +// users Data Page +export default [ + { + path: "/ai/chatbot_v1", + component: () => import("@/views/chatgpt/ChatBotV1.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "AI", + title: "ChatBotV1", + }, + }, + { + path: "/ai/chatbot_v2", + component: () => import("@/views/chatgpt/ChatBotV2.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "AI", + title: "ChatBotV2", + }, + }, +]; diff --git a/console-ui/src/router/apps.routes.ts b/console-ui/src/router/apps.routes.ts new file mode 100644 index 0000000..583dcc0 --- /dev/null +++ b/console-ui/src/router/apps.routes.ts @@ -0,0 +1,113 @@ +import unsplashRoutes from "@/views/app/unsplash/UnsplashRoutes"; +import todoRoutes from "@/views/app/todo/todoRoutes"; +import emailRoutes from "@/views/app/email/emailRoutes"; +import chatRoutes from "@/views/app/chat/chatRoutes"; + +export default [ + { + path: "/apps/board", + name: "app-board", + component: () => + import( + /* webpackChunkName: "utility-board" */ "@/views/utility/BoardPage.vue" + ), + meta: { + requiresAuth: true, + title: "Board", + layout: "ui", + category: "APP", + }, + }, + { + path: "/apps/email", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Email", + }, + component: () => + import( + /* webpackChunkName: "app-email" */ "@/views/app/email/EmailApp.vue" + ), + children: [...emailRoutes], + }, + { + path: "/apps/chat", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Chat", + }, + component: () => + import(/* webpackChunkName: "app-chat" */ "@/views/app/chat/ChatApp.vue"), + children: [...chatRoutes], + }, + { + path: "/apps/todo", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Todo", + }, + component: () => + import(/* webpackChunkName: "app-todo" */ "@/views/app/todo/TodoApp.vue"), + children: [...todoRoutes], + }, + { + path: "/apps/nitori", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Nitori", + }, + component: () => + import( + /* webpackChunkName: "app-nitori" */ "@/views/app/nitori/NitoriApp.vue" + ), + children: [], + }, + { + path: "/apps/booking", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Booking", + }, + component: () => + import( + /* webpackChunkName: "app-booking" */ "@/views/app/booking/BookingApp.vue" + ), + children: [], + }, + { + path: "/apps/ikea", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Ikea", + }, + component: () => + import(/* webpackChunkName: "app-ikea" */ "@/views/app/ikea/IkeaApp.vue"), + children: [], + }, + { + path: "/apps/unsplash", + meta: { + requiresAuth: true, + layout: "ui", + category: "APP", + title: "Photos", + }, + component: () => + import( + /* webpackChunkName: "app-unsplash" */ "@/views/app/unsplash/UnsplashApp.vue" + ), + children: [...unsplashRoutes], + }, +]; diff --git a/console-ui/src/router/auth.routes.ts b/console-ui/src/router/auth.routes.ts new file mode 100644 index 0000000..30e6877 --- /dev/null +++ b/console-ui/src/router/auth.routes.ts @@ -0,0 +1,63 @@ +export default [ + { + path: "/auth/signin", + name: "auth-signin", + component: () => + import( + /* webpackChunkName: "auth-signin" */ "@/views/auth/SigninPage.vue" + ), + meta: { + layout: "auth", + title: "SignIn", + }, + }, + { + path: "/auth/signup", + name: "auth-signup", + component: () => + import( + /* webpackChunkName: "auth-signup" */ "@/views/auth/SignupPage.vue" + ), + meta: { + layout: "auth", + title: "SignUp", + }, + }, + { + path: "/auth/verify-email", + name: "verify-email", + component: () => + import( + /* webpackChunkName: "verify-email" */ "@/views/auth/VerifyEmailPage.vue" + ), + meta: { + requiresAuth: true, + layout: "auth", + title: "VerifyEmail", + }, + }, + { + path: "/auth/forgot-password", + name: "auth-forgot", + component: () => + import( + /* webpackChunkName: "auth-forgot" */ "@/views/auth/ForgotPage.vue" + ), + meta: { + requiresAuth: true, + layout: "auth", + title: "ForgotPage", + }, + }, + { + path: "/auth/reset-password", + name: "auth-reset", + component: () => + import(/* webpackChunkName: "auth-reset" */ "@/views/auth/ResetPage.vue"), + meta: { + requiresAuth: true, + layout: "auth", + title: "ResetPage", + }, + }, +]; diff --git a/console-ui/src/router/charts.routes.ts b/console-ui/src/router/charts.routes.ts new file mode 100644 index 0000000..5fb62b0 --- /dev/null +++ b/console-ui/src/router/charts.routes.ts @@ -0,0 +1,86 @@ +export default [ + { + path: "/chart/echart-line", + name: "chart-echart-line", + component: () => + import( + /* webpackChunkName: "chart-echart-line" */ "@/views/chart/EchartLine.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "Echart Line", + }, + }, + { + path: "/chart/echart-bar", + name: "chart-echart-bar", + component: () => + import( + /* webpackChunkName: "chart-echart-bar" */ "@/views/chart/EchartBar.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "Echart Bar", + }, + }, + { + path: "/chart/echart-pie", + name: "chart-echart-pie", + component: () => + import( + /* webpackChunkName: "chart-echart-pie" */ "@/views/chart/EchartPie.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "Echart Pie", + }, + }, + { + path: "/chart/echart-scatter", + name: "chart-echart-scatter", + component: () => + import( + /* webpackChunkName: "chart-echart-scatter" */ "@/views/chart/EchartScatter.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "Echart Scatter", + }, + }, + { + path: "/chart/echart-others", + name: "chart-echart-others", + component: () => + import( + /* webpackChunkName: "chart-echart-others" */ "@/views/chart/EchartOthers.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "Echart Others", + }, + }, + { + path: "/chart/apexchart", + name: "chart-apexchart", + component: () => + import( + /* webpackChunkName: "chart-apexchart" */ "@/views/chart/ApexCharts.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "Chart", + title: "ApexChart", + }, + }, +]; diff --git a/console-ui/src/router/data.routes.ts b/console-ui/src/router/data.routes.ts new file mode 100644 index 0000000..3012fba --- /dev/null +++ b/console-ui/src/router/data.routes.ts @@ -0,0 +1,57 @@ +// users Data Page +export default [ + { + path: "/data/users-data", + component: () => import("@/views/datatable/UsersDataPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "Data", + title: "UsersDataTable", + }, + }, + // photos Data Page + { + path: "/data/photos-data", + component: () => import("@/views/datatable/PhotosDataPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "Data", + title: "PhotosDataTable", + }, + }, + // collections Data Page + { + path: "/data/collections-data", + component: () => import("@/views/datatable/CollectionsDataPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "Data", + title: "CollectionsDataTable", + }, + }, + // topics Data Page + { + path: "/data/topics-data", + component: () => import("@/views/datatable/TopicsDataPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "Data", + title: "TopicsDataTable", + }, + }, + // topic Photos Data Page + { + path: "/data/topic-photos-data", + component: () => import("@/views/datatable/TopicPhotosDataPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "Data", + title: "TopicPhotosDataTable", + }, + }, +]; diff --git a/console-ui/src/router/index.js b/console-ui/src/router/index.js deleted file mode 100644 index a395a1f..0000000 --- a/console-ui/src/router/index.js +++ /dev/null @@ -1,29 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' -import HomeView from '../views/HomeView.vue' - -Vue.use(VueRouter) - -const routes = [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue') - } -] - -const router = new VueRouter({ - mode: 'history', - base: process.env.BASE_URL, - routes -}) - -export default router diff --git a/console-ui/src/router/index.ts b/console-ui/src/router/index.ts new file mode 100644 index 0000000..21e3917 --- /dev/null +++ b/console-ui/src/router/index.ts @@ -0,0 +1,63 @@ +import { createRouter, createWebHistory } from "vue-router"; +import UserRoutes from "./user.routes"; +import AuthRoutes from "./auth.routes"; +import UIRoutes from "./ui.routes"; +import LandingRoutes from "./landing.routes"; +import UtilityRoutes from "./utility.routes"; +import PagesRoutes from "./pages.routes"; +import ChartsRoutes from "./charts.routes"; +import AppsRoutes from "./apps.routes"; +import DataRoutes from "./data.routes"; +import AiRoutes from "./ai.routes"; + +export const routes = [ + { + path: "/", + redirect: "/dashboard", + meta: {}, + } as any, + { + path: "/dashboard", + meta: { + requiresAuth: true, + layout: "landing", + }, + component: () => import("@/views/pages/DashBoard.vue"), + }, + { + path: "/:pathMatch(.*)*", + name: "error", + component: () => + import(/* webpackChunkName: "error" */ "@/views/errors/NotFoundPage.vue"), + }, + ...UserRoutes, + ...LandingRoutes, + ...AuthRoutes, + ...PagesRoutes, + ...UtilityRoutes, + ...UIRoutes, + ...ChartsRoutes, + ...AppsRoutes, + ...DataRoutes, + ...AiRoutes, +]; + +// 动态路由,基于用户权限动态去加载 +export const dynamicRoutes = []; + +const router = createRouter({ + history: createWebHistory(), + // hash模式:createWebHashHistory,history模式:createWebHistory + // process.env.NODE_ENV === "production" + + routes: routes, + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition; + } else { + return { top: 0 }; + } + }, +}); + +export default router; diff --git a/console-ui/src/router/landing.routes.ts b/console-ui/src/router/landing.routes.ts new file mode 100644 index 0000000..abaa33e --- /dev/null +++ b/console-ui/src/router/landing.routes.ts @@ -0,0 +1,170 @@ +export default [ + { + path: "/landing", + name: "landing-home", + component: () => + import( + /* webpackChunkName: "landing-home" */ "@/views/landing/HomePage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/hero", + name: "landing-hero", + component: () => + import( + /* webpackChunkName: "landing-hero" */ "@/views/landing/hero/HeroPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/feature", + name: "landing-feature", + component: () => + import( + /* webpackChunkName: "landing-feature" */ "@/views/landing/feature/Feature.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/pricing", + name: "landing-pricing", + component: () => + import( + /* webpackChunkName: "landing-pricing" */ "@/views/landing/pricing/PricingPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/card", + name: "landing-card", + component: () => + import( + /* webpackChunkName: "landing-card" */ "@/views/landing/card/CardPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/team", + name: "landing-team", + component: () => + import( + /* webpackChunkName: "landing-team" */ "@/views/landing/team/TeamPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/testimonial", + name: "landing-testimonial", + component: () => + import( + /* webpackChunkName: "landing-testimonial" */ "@/views/landing/testimonial/TestimonialPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/stats", + name: "landing-stats", + component: () => + import( + /* webpackChunkName: "landing-stats" */ "@/views/landing/stats/Stats.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/logos", + name: "landing-logos", + component: () => + import( + /* webpackChunkName: "landing-logos" */ "@/views/landing/logos/LogosPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/calltoaction", + name: "landing-calltoaction", + component: () => + import( + /* webpackChunkName: "landing-calltoaction" */ "@/views/landing/action/ActionPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/newsletter", + name: "landing-newsletter", + component: () => + import( + /* webpackChunkName: "landing-newsletter" */ "@/views/landing/newsletter/NewsletterPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/faq", + name: "landing-faq", + component: () => + import( + /* webpackChunkName: "landing-faq" */ "@/views/landing/faq/FQAPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/toolbar", + name: "landing-toolbar", + component: () => + import( + /* webpackChunkName: "landing-toolbar" */ "@/views/landing/toolbar/ToolbarPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, + { + path: "/landing/footer", + name: "landing-footer", + component: () => + import( + /* webpackChunkName: "landing-footer" */ "@/views/landing/footer/FooterPage.vue" + ), + meta: { + requiresAuth: true, + layout: "landing", + }, + }, +]; diff --git a/console-ui/src/router/pages.routes.ts b/console-ui/src/router/pages.routes.ts new file mode 100644 index 0000000..4786507 --- /dev/null +++ b/console-ui/src/router/pages.routes.ts @@ -0,0 +1,18 @@ +export default [ + { + path: "/pages/page1", + component: () => import("@/views/pages/DesignNav.vue"), + }, + { + path: "/pages/form", + component: () => import("@/views/pages/Form.vue"), + }, + { + path: "/wireFrames/threeColumn", + component: () => import("@/views/wireFrames/ThreeColumn.vue"), + }, + { + path: "/wireFrames/pageAnchorJump", + component: () => import("@/views/wireFrames/PageAnchorJump.vue"), + }, +]; diff --git a/console-ui/src/router/ui.routes.ts b/console-ui/src/router/ui.routes.ts new file mode 100644 index 0000000..0205e4d --- /dev/null +++ b/console-ui/src/router/ui.routes.ts @@ -0,0 +1,149 @@ +export default [ + // data table + { + path: "/ui/data-table", + name: "ui-data-table", + component: () => + import( + /* webpackChunkName: "ui-data-table" */ "@/views/ui/DataTablePage.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "DataTable", + }, + }, + { + path: "/ui/colors", + name: "ui-colors", + component: () => + import(/* webpackChunkName: "ui-colors" */ "@/views/ui/ColorsPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "Colors", + }, + }, + { + path: "/ui/gradient", + name: "ui-gradient", + component: () => + import( + /* webpackChunkName: "ui-gradient" */ "@/views/ui/GradientPage.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "Gradients", + }, + }, + { + path: "/ui/card", + name: "ui-card", + component: () => + import(/* webpackChunkName: "ui-card" */ "@/views/ui/CardPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "CardPage", + }, + }, + { + path: "/ui/grids", + name: "ui-grids", + component: () => + import(/* webpackChunkName: "ui-grids" */ "@/views/ui/GridsPage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "Grids", + }, + }, + { + path: "/ui/scrollbar", + name: "ui-scrollbar", + component: () => + import( + /* webpackChunkName: "ui-scrollbar" */ "@/views/ui/PerfectScrollbar.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "ScrollBar", + }, + }, + { + path: "/ui/water-fall", + name: "ui-water-fall", + component: () => + import( + /* webpackChunkName: "ui-water-fall" */ "@/views/ui/WaterFall.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "WaterFall", + }, + }, + { + path: "/ui/masonry", + name: "ui-masonry", + component: () => + import(/* webpackChunkName: "ui-masonry" */ "@/views/ui/Masonry.vue"), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "Masonry", + }, + }, + { + path: "/ui/virtual-list", + name: "ui-virtual-list", + component: () => + import( + /* webpackChunkName: "ui-virtual-list" */ "@/views/ui/VirtualList.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "VirtualList", + }, + }, + { + path: "/ui/virtual-scroller", + name: "ui-virtual-scroller", + component: () => + import( + /* webpackChunkName: "ui-virtual-scroller" */ "@/views/ui/VirtualScroller.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "VirtualScroller", + }, + }, + { + path: "/playground", + name: "ui-playground", + component: () => + import( + /* webpackChunkName: "ui-playground" */ "@/views/playground/PlaygroundPage.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + category: "UI", + title: "Playground", + }, + }, +]; diff --git a/console-ui/src/router/user.routes.ts b/console-ui/src/router/user.routes.ts new file mode 100644 index 0000000..6ecc3ca --- /dev/null +++ b/console-ui/src/router/user.routes.ts @@ -0,0 +1,44 @@ +export default [ + { + path: "/users", + redirect: "users-list", + }, + { + path: "/users/list", + name: "users-list", + component: () => + import( + /* webpackChunkName: "users-list" */ "@/views/users/UsersPage.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + title: "User List", + }, + }, + { + path: "/users/edit", + name: "users-edit", + component: () => + import( + /* webpackChunkName: "users-edit" */ "@/views/users/EditUserPage.vue" + ), + meta: { + requiresAuth: true, + layout: "ui", + title: "Edit User", + }, + }, + { + path: "/profile", + name: "profile", + component: () => + import(/* webpackChunkName: "profile" */ "@/views/users/ProfilePage.vue"), + meta: { + requiresAuth: true, + layout: "ui", + title: "Profile", + category: "Config", + }, + }, +]; diff --git a/console-ui/src/router/utility.routes.ts b/console-ui/src/router/utility.routes.ts new file mode 100644 index 0000000..6f7fed0 --- /dev/null +++ b/console-ui/src/router/utility.routes.ts @@ -0,0 +1,42 @@ +export default [ + { + path: "/utility/maintenance", + name: "utility-maintenance", + component: () => + import( + /* webpackChunkName: "utility-maintenance" */ "@/views/utility/MaintenancePage.vue" + ), + meta: { + requiresAuth: true, + layout: "auth", + title: "MaintenancePage", + }, + }, + { + path: "/utility/coming-soon", + name: "utility-soon", + component: () => + import( + /* webpackChunkName: "utility-soon" */ "@/views/utility/SoonPage.vue" + ), + meta: { + requiresAuth: true, + layout: "auth", + title: "Coming Soon", + }, + }, + { + path: "/utility/help", + name: "utility-help", + component: () => + import( + /* webpackChunkName: "utility-help" */ "@/views/utility/HelpPage.vue" + ), + meta: { + requiresAuth: true, + title: "Help", + layout: "ui", + category: "Utility", + }, + }, +]; diff --git a/console-ui/src/store/index.js b/console-ui/src/store/index.js deleted file mode 100644 index ceffa8e..0000000 --- a/console-ui/src/store/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' - -Vue.use(Vuex) - -export default new Vuex.Store({ - state: { - }, - getters: { - }, - mutations: { - }, - actions: { - }, - modules: { - } -}) diff --git a/console-ui/src/stores/appStore.ts b/console-ui/src/stores/appStore.ts new file mode 100644 index 0000000..6c8961c --- /dev/null +++ b/console-ui/src/stores/appStore.ts @@ -0,0 +1,16 @@ +import { defineStore } from "pinia"; + +export const useAppStore = defineStore({ + id: "app", + state: () => ({ + globalLoading: false, + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: [] }], + }, + + getters: {}, + actions: {}, +}); diff --git a/console-ui/src/stores/authStore.ts b/console-ui/src/stores/authStore.ts new file mode 100644 index 0000000..15d85d4 --- /dev/null +++ b/console-ui/src/stores/authStore.ts @@ -0,0 +1,47 @@ +import { defineStore } from "pinia"; + +import router from "@/router"; + +interface Profile { + id: string; + name: string; + avatar: string; + created: boolean; +} + +export const useAuthStore = defineStore("auth", { + state: () => ({ + isLoggedIn: false, + user: null, + profile: null as Profile | null, + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: ["isLoggedIn"] }], + }, + + getters: {}, + + actions: { + setLoggedIn(payload: boolean) { + this.isLoggedIn = payload; + }, + + registerWithEmailAndPassword(email: string, password: string) { + router.push("/"); + }, + + loginWithEmailAndPassword(email: string, password: string) { + router.push("/"); + }, + + loginWithGoogle() { + router.push("/"); + }, + + logout() { + router.push({ name: "auth-signin" }); + }, + }, +}); diff --git a/console-ui/src/stores/customizeTheme.ts b/console-ui/src/stores/customizeTheme.ts new file mode 100644 index 0000000..2e82aab --- /dev/null +++ b/console-ui/src/stores/customizeTheme.ts @@ -0,0 +1,43 @@ +import { defineStore } from "pinia"; + +interface Color { + colorId: number; + colorName: string; + colorValue: string; +} + +interface State { + miniSidebar: boolean; + darkTheme: boolean; + primaryColor: Color; + mainSidebar: any; +} + +export const useCustomizeThemeStore = defineStore({ + id: "customizeTheme", + state: (): State => ({ + miniSidebar: false, + darkTheme: false, + primaryColor: { + colorId: 2, + colorName: "grey", + colorValue: "#344767", + }, + mainSidebar: ref(true), + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: ["darkTheme"] }], + }, + + getters: {}, + actions: { + setMiniSideBar(payload: boolean) { + this.miniSidebar = payload; + }, + setPrimaryColor(payload: Color) { + this.primaryColor = payload; + }, + }, +}); diff --git a/console-ui/src/stores/profileStore.ts b/console-ui/src/stores/profileStore.ts new file mode 100644 index 0000000..419c037 --- /dev/null +++ b/console-ui/src/stores/profileStore.ts @@ -0,0 +1,49 @@ +import { defineStore } from "pinia"; + +export const useProfileStore = defineStore({ + id: "userProfile", + state: () => ({ + basic: { + username: "shirabako", + realname: "yang J. K.", + email: "yjkabko@gmail.com", + avatar: + "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTwrAiMevuwrbU9o0Ck2paVf4ufHUDb2dU48MEDrAlrQw&s", + location: "Tokyo,Japan", + role: "Admin", + disabled: false, + about: "Full Stack Developer", + lastSignIn: "2023-03-29T01:11:13Z", + }, + authorized: { + google: false, + facebook: false, + }, + notifications: { + officialEmails: true, + followerUpdates: true, + }, + }), + actions: { + getProfile() { + return { + basic: this.basic, + authorized: this.authorized, + notifications: this.notifications, + }; + }, + + // update Basic Info + updateBasicInfo(info) { + this.basic = { ...this.basic, ...info }; + }, + // update Authorized + updateAuthorizedStatus(service, status) { + this.authorized[service] = status; + }, + // Update Notifications + updateNotificationSettings(settings) { + this.notifications = { ...this.notifications, ...settings }; + }, + }, +}); diff --git a/console-ui/src/stores/snackbarStore.ts b/console-ui/src/stores/snackbarStore.ts new file mode 100644 index 0000000..4ff8b46 --- /dev/null +++ b/console-ui/src/stores/snackbarStore.ts @@ -0,0 +1,47 @@ +import { defineStore } from "pinia"; + +type MessageType = "" | "info" | "success" | "error" | "warning"; + +export const useSnackbarStore = defineStore({ + id: "snackbarStore", + state: () => ({ + isShow: false, + message: "", + type: "", + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: [""] }], + }, + + getters: {}, + actions: { + showMessage(message: string) { + this.isShow = true; + this.message = message; + this.type = ""; + }, + + showErrorMessage(message: string) { + this.isShow = true; + this.message = message; + this.type = "error"; + }, + showSuccessMessage(message: string) { + this.isShow = true; + this.message = message; + this.type = "success"; + }, + showInfoMessage(message: string) { + this.isShow = true; + this.message = message; + this.type = "info"; + }, + showWarningMessage(message: string) { + this.isShow = true; + this.message = message; + this.type = "warning"; + }, + }, +}); diff --git a/console-ui/src/styles/_override.scss b/console-ui/src/styles/_override.scss new file mode 100644 index 0000000..ddcf514 --- /dev/null +++ b/console-ui/src/styles/_override.scss @@ -0,0 +1,161 @@ +html { + font-family: $font-family; + + + + .v-application { + [class*="text-"] { + font-family: $font-family, sans-serif !important; + } + + font-size: 15px; + ; + font-family: $font-family, + + sans-serif !important; + + } + + h1, + h2, + h3, + h4, + h5, + h6 { + font-weight: 500; + } + + // tables beautify + .v-table { + table { + + padding: 4px; + padding-bottom: 8px; + + th { + font-weight: bold !important; + text-transform: capitalize !important; + white-space: nowrap; + } + + td { + border-bottom: 0 !important; + } + + tbody { + tr { + font-size: 0.875em; + transition: box-shadow 0.2s, transform 0.2s; + + &:not(.v-data-table__selected):hover { + box-shadow: 0 3px 15px -2px rgba(0, 0, 0, 0.12); + transform: translateY(-4px); + } + } + } + } + } + + .v-card { + .v-card-title { + display: flex; + align-items: center; + } + + + } + + // Outline Card + .v-card--variant-outlined { + border-color: #e5eaef; + } + + + + .v-list-item { + + // align-center + .v-list-item__append, + .v-list-item__prepend { + height: 100%; + } + + .v-list-item__title { + font-size: 0.975rem; + font-weight: 600; + } + + .v-list-item__action:first-child, + .v-list-item__icon:first-child { + margin-right: 14px !important; + } + + + .v-list-item__action:first-child, + .v-list-item__icon:first-child { + margin-right: 14px !important; + } + + .v-list-item__icon { + margin: auto; + justify-content: center; + } + } + + .v-application--is-rtl .v-list-item__action:first-child, + .v-application--is-rtl .v-list-item__icon:first-child { + margin-right: 0 !important; + margin-left: 14px !important; + } + + .v-list-group__header__append-icon .v-icon { + font-size: 1rem; + } + + .v-list-group__header .v-list-item__icon.v-list-group__header__append-icon { + min-width: 0 !important; + } + + + + .v-list-group--sub-group .v-list-group__header { + padding-left: 8px !important; + } + + .v-btn { + text-transform: capitalize; + } + + .border, + .v-divider { + border-color: rgba(var(--v-border-color), 1) !important; + } + + .avtar-border { + border: 2px solid rgb(var(--v-theme-surface)) !important; + } + + + + // input + // comfortable + .v-input--density-comfortable { + --v-input-control-height: 44px; + } + + // compact + .v-input--density-compact { + --v-input-padding-top: 10px; + } + + .v-label { + font-size: 0.875rem; + opacity: 1; + } + + .v-text-field__suffix { + opacity: 1; + padding-left: 20px; + } + +} \ No newline at end of file diff --git a/console-ui/src/styles/common/animation.scss b/console-ui/src/styles/common/animation.scss new file mode 100644 index 0000000..2db1dee --- /dev/null +++ b/console-ui/src/styles/common/animation.scss @@ -0,0 +1,111 @@ +.heartBeat { + animation: heartBeat 0.5s; +} + +@keyframes heartBeat { + 0% { + transform: scale(1); + } + + 14% { + transform: scale(1.3); + } + + 28% { + transform: scale(1); + } + + 42% { + transform: scale(1.3); + } + + 70% { + transform: scale(1); + } +} + +.headShake { + animation-timing-function: ease-in-out; + animation-name: headShake; +} + +@keyframes headShake { + 0% { + transform: translateX(0); + } + + 6.5% { + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + transform: translateX(2px) rotateY(3deg); + } + + 50% { + transform: translateX(0); + } +} + +.fade-enter-active, +.fade-leave-active { + transition: all 0.5s ease; +} + +.fade-enter-from, +.fade-leave-to { + opacity: 0; + transform: translateX(30px); +} + + +// Base +.v-enter-active, +.v-leave-active { + position: absolute; + transition: opacity 0.3s ease; +} + +.v-enter-from, +.v-leave-to { + opacity: 0; +} + +// Side Y +.slide-y-enter-active, +.slide-y-leave-active { + position: absolute; + transition: all 0.25s ease-out; +} + +.slide-y-enter-from { + opacity: 0; + transform: translateY(30px); +} + +.slide-y-leave-to { + opacity: 0; + transform: translateY(-30px); +} + + +// Side X +.slide-x-enter-active, +.slide-x-leave-active { + position: absolute; + transition: all 0.5s ease; +} + +.slide-x-enter-from, +.slide-x-leave-to { + opacity: 0; + transform: translateX(30px); +} \ No newline at end of file diff --git a/console-ui/src/styles/common/beautify.scss b/console-ui/src/styles/common/beautify.scss new file mode 100644 index 0000000..ff8c35a --- /dev/null +++ b/console-ui/src/styles/common/beautify.scss @@ -0,0 +1,32 @@ +::-webkit-scrollbar { + width: 5px; + background-color: #f5f5f5; +} + +::-webkit-scrollbar-thumb { + border-radius: 10px; + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + background-color: #555; +} + +.shadow-1 { + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px !important; +} + +.two-line { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} + +.three-line { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; +} + +.landing-warpper { + border: 2px dashed #aaa; +} \ No newline at end of file diff --git a/console-ui/src/styles/common/gradients.scss b/console-ui/src/styles/common/gradients.scss new file mode 100644 index 0000000..c7a23e7 --- /dev/null +++ b/console-ui/src/styles/common/gradients.scss @@ -0,0 +1,84 @@ +// Theme gradients +.gradient { + &.primary { + color: white; + background: linear-gradient( + 318deg, + rgba(67, 56, 202, 1) 0%, + rgba(79, 70, 229, 1) 50%, + rgba(99, 102, 241, 1) 100% + ) !important; + } + &.purple { + color: white; + background: linear-gradient( + 318deg, + rgba(148, 76, 206, 1) 0%, + rgba(191, 60, 179, 1) 50%, + rgba(236, 39, 145, 1) 100% + ) !important; + } + &.cancel { + // color: #1e293b; + background: linear-gradient( + 318deg, + rgba(203, 213, 225, 1) 0%, + rgba(226, 232, 240, 1) 50%, + rgba(241, 245, 249, 1) 100% + ) !important; + } + &.success { + color: white; + background: linear-gradient( + 318deg, + rgba(66, 186, 91, 1) 0%, + rgba(113, 207, 86, 1) 50%, + rgba(153, 223, 75, 1) 100% + ) !important; + } + &.info { + color: white; + background: linear-gradient( + 318deg, + rgba(72, 118, 252, 1) 0%, + rgba(69, 165, 249, 1) 50%, + rgba(62, 202, 242, 1) 100% + ) !important; + } + &.blue { + color: white; + background: linear-gradient( + 318deg, + rgba(30, 64, 175, 1) 0%, + rgba(37, 99, 235, 1) 50%, + rgba(59, 130, 246, 1) 100% + ) !important; + } + &.warning { + color: white; + background: linear-gradient( + 318deg, + rgba(240, 96, 93, 1) 0%, + rgba(243, 153, 89, 1) 50%, + rgba(236, 197, 81, 1) 100% + ) !important; + } + &.error { + color: white; + background: linear-gradient( + 318deg, + rgba(233, 53, 55, 1) 0%, + rgba(239, 89, 99, 1) 50%, + rgba(240, 116, 136, 1) 100% + ) !important; + } + &.gray { + color: white; + background: linear-gradient( + 318deg, + rgba(62, 67, 83, 1) 0%, + rgba(75, 80, 108, 1) 50%, + rgba(80, 87, 125, 1) 100% + ) !important; + } +} diff --git a/console-ui/src/styles/main.scss b/console-ui/src/styles/main.scss new file mode 100644 index 0000000..c6362c3 --- /dev/null +++ b/console-ui/src/styles/main.scss @@ -0,0 +1,9 @@ +// enforce font globally +// @use "vuetify/variables"; +@import "./variables"; +@import 'vuetify/styles'; +@import "./override"; +@import "./common/gradients.scss"; +@import "./common/animation.scss"; +@import "./common/beautify.scss"; +@import "vue3-perfect-scrollbar/dist/vue3-perfect-scrollbar.css"; \ No newline at end of file diff --git a/console-ui/src/styles/variables.scss b/console-ui/src/styles/variables.scss new file mode 100644 index 0000000..007dde3 --- /dev/null +++ b/console-ui/src/styles/variables.scss @@ -0,0 +1,22 @@ +@use 'sass:math'; +@use 'sass:map'; +@use 'sass:meta'; +@use 'vuetify/lib/styles/tools/functions' as *; +@use "vuetify/elevations"; +@use "vuetify/font"; +@use "vuetify/global"; + +// Custom Variables +$white: #fff !default; +$font-family: "Quicksand"; + +// Vuetify Variables +@forward 'vuetify/settings' with ( //elevations + $shadow-key-umbra-opacity: elevations.$shadow-key-umbra-opacity, + $shadow-key-penumbra-opacity: elevations.$shadow-key-penumbra-opacity, + $shadow-key-ambient-opacity: elevations.$shadow-key-ambient-opacity, + $shadow-key-umbra: elevations.$shadow-key-umbra, + $shadow-key-penumbra: elevations.$shadow-key-penumbra, + $shadow-key-ambient: elevations.$shadow-key-ambient, + +) \ No newline at end of file diff --git a/console-ui/src/styles/vuetify/_elevations.scss b/console-ui/src/styles/vuetify/_elevations.scss new file mode 100644 index 0000000..5165e92 --- /dev/null +++ b/console-ui/src/styles/vuetify/_elevations.scss @@ -0,0 +1,87 @@ +$shadow-key-umbra-opacity: rgba(85, 85, 85, 0.08) !default; +$shadow-key-penumbra-opacity: rgba(85, 85, 85, 0.06) !default; +$shadow-key-ambient-opacity: rgba(85, 85, 85, 0.03) !default; + +$shadow-key-umbra: ( + 0: (0px 0px 0px 0px $shadow-key-umbra-opacity), + 1: (0px 2px 10px -1px $shadow-key-umbra-opacity), + 2: (0px 3px 10px -2px $shadow-key-umbra-opacity), + 3: (0px 3px 30px -2px $shadow-key-umbra-opacity), + 4: (0px 2px 30px -1px $shadow-key-umbra-opacity), + 5: (0px 3px 30px -1px $shadow-key-umbra-opacity), + 6: (0px 3px 30px -1px $shadow-key-umbra-opacity), + 7: (0px 4px 30px -2px $shadow-key-umbra-opacity), + 8: (0px 5px 30px -3px $shadow-key-umbra-opacity), + 9: (0px 5px 30px -3px $shadow-key-umbra-opacity), + 10: (0px 6px 30px -3px $shadow-key-umbra-opacity), + 11: (0px 6px 30px -4px $shadow-key-umbra-opacity), + 12: (0px 7px 30px -4px $shadow-key-umbra-opacity), + 13: (0px 7px 30px -4px $shadow-key-umbra-opacity), + 14: (0px 7px 30px -4px $shadow-key-umbra-opacity), + 15: (0px 8px 30px -5px $shadow-key-umbra-opacity), + 16: (0px 8px 30px -5px $shadow-key-umbra-opacity), + 17: (0px 8px 30px -5px $shadow-key-umbra-opacity), + 18: (0px 9px 30px -5px $shadow-key-umbra-opacity), + 19: (0px 9px 30px -6px $shadow-key-umbra-opacity), + 20: (0px 10px 30px -6px $shadow-key-umbra-opacity), + 21: (0px 10px 30px -6px $shadow-key-umbra-opacity), + 22: (0px 10px 30px -6px $shadow-key-umbra-opacity), + 23: (0px 11px 30px -7px $shadow-key-umbra-opacity), + 24: (0px 11px 30px -7px $shadow-key-umbra-opacity) +); + +$shadow-key-penumbra: ( + 0: (0px 0px 0px 0px $shadow-key-penumbra-opacity), + 1: (0px 1px 10px 0px $shadow-key-penumbra-opacity), + 2: (0px 2px 20px 0px $shadow-key-penumbra-opacity), + 3: (0px 3px 40px 0px $shadow-key-penumbra-opacity), + 4: (0px 4px 30px 0px $shadow-key-penumbra-opacity), + 5: (0px 5px 30px 0px $shadow-key-penumbra-opacity), + 6: (0px 6px 30px 0px $shadow-key-penumbra-opacity), + 7: (0px 7px 30px 1px $shadow-key-penumbra-opacity), + 8: (0px 8px 30px 1px $shadow-key-penumbra-opacity), + 9: (0px 9px 30px 1px $shadow-key-penumbra-opacity), + 10: (0px 10px 30px 1px $shadow-key-penumbra-opacity), + 11: (0px 11px 30px 1px $shadow-key-penumbra-opacity), + 12: (0px 12px 30px 2px $shadow-key-penumbra-opacity), + 13: (0px 13px 30px 2px $shadow-key-penumbra-opacity), + 14: (0px 14px 30px 2px $shadow-key-penumbra-opacity), + 15: (0px 15px 30px 2px $shadow-key-penumbra-opacity), + 16: (0px 16px 30px 2px $shadow-key-penumbra-opacity), + 17: (0px 17px 30px 2px $shadow-key-penumbra-opacity), + 18: (0px 18px 30px 2px $shadow-key-penumbra-opacity), + 19: (0px 19px 30px 2px $shadow-key-penumbra-opacity), + 20: (0px 20px 30px 3px $shadow-key-penumbra-opacity), + 21: (0px 21px 30px 3px $shadow-key-penumbra-opacity), + 22: (0px 22px 30px 3px $shadow-key-penumbra-opacity), + 23: (0px 23px 30px 3px $shadow-key-penumbra-opacity), + 24: (0px 24px 30px 3px $shadow-key-penumbra-opacity) +); + +$shadow-key-ambient: ( + 0: (0px 0px 0px 0px $shadow-key-ambient-opacity), + 1: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 2: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 3: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 4: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 5: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 6: (0px 1px 30px 0px $shadow-key-ambient-opacity), + 7: (0px 2px 30px 1px $shadow-key-ambient-opacity), + 8: (0px 3px 30px 2px $shadow-key-ambient-opacity), + 9: (0px 3px 30px 2px $shadow-key-ambient-opacity), + 10: (0px 4px 30px 3px $shadow-key-ambient-opacity), + 11: (0px 4px 30px 3px $shadow-key-ambient-opacity), + 12: (0px 5px 30px 4px $shadow-key-ambient-opacity), + 13: (0px 5px 30px 4px $shadow-key-ambient-opacity), + 14: (0px 5px 30px 4px $shadow-key-ambient-opacity), + 15: (0px 6px 30px 5px $shadow-key-ambient-opacity), + 16: (0px 6px 30px 5px $shadow-key-ambient-opacity), + 17: (0px 6px 30px 5px $shadow-key-ambient-opacity), + 18: (0px 7px 30px 6px $shadow-key-ambient-opacity), + 19: (0px 7px 30px 6px $shadow-key-ambient-opacity), + 20: (0px 8px 30px 7px $shadow-key-ambient-opacity), + 21: (0px 8px 40px 7px $shadow-key-ambient-opacity), + 22: (0px 8px 40px 7px $shadow-key-ambient-opacity), + 23: (0px 9px 40px 8px $shadow-key-ambient-opacity), + 24: (0px 9px 40px 8px $shadow-key-ambient-opacity) +); \ No newline at end of file diff --git a/console-ui/src/styles/vuetify/_font.scss b/console-ui/src/styles/vuetify/_font.scss new file mode 100644 index 0000000..ec7f337 --- /dev/null +++ b/console-ui/src/styles/vuetify/_font.scss @@ -0,0 +1,45 @@ +$body-font-family: 'Quicksand', sans-serif; +$font-size-root: 15px; +$line-height-root: 1.5; + +$font-weights: ( + 'thin': 300, + 'light': 300, + 'regular': 400, + 'medium': 500, + 'bold': 600, + 'black': 700 +); + +$heading-font-family: $body-font-family; + +$headings: ( + 'h6': ( + 'size': 1.16rem, + 'weight': 800, + 'line-height': 2rem, + 'letter-spacing': .0125em, + 'font-family': $heading-font-family + ), + 'subtitle-1': ( + 'size': 1rem, + 'weight': 600, + 'line-height': 1.75rem, + 'letter-spacing': .009375em, + 'font-family': $body-font-family + ), + 'caption': ( + 'size': .75rem, + 'weight': 400, + 'letter-spacing': .0333333333em, + 'line-height': 1.25rem, + 'font-family': $body-font-family + ), + 'overline': ( + 'size': .625rem, + 'weight': 400, + 'letter-spacing': .1666666667em, + 'line-height': 1rem, + 'font-family': $body-font-family + ) +); diff --git a/console-ui/src/styles/vuetify/_global.scss b/console-ui/src/styles/vuetify/_global.scss new file mode 100644 index 0000000..2ed4768 --- /dev/null +++ b/console-ui/src/styles/vuetify/_global.scss @@ -0,0 +1,5 @@ +// Inputs and labels +$label-font-size: 14px; +$input-font-size: 14px; +$input-top-spacing: 16px; +$text-field-active-label-height: 12px; \ No newline at end of file diff --git a/console-ui/src/test/Demo.vue b/console-ui/src/test/Demo.vue new file mode 100644 index 0000000..19241ff --- /dev/null +++ b/console-ui/src/test/Demo.vue @@ -0,0 +1,21 @@ + + + + + + diff --git a/console-ui/src/test/demo.test.ts b/console-ui/src/test/demo.test.ts new file mode 100644 index 0000000..874a8c8 --- /dev/null +++ b/console-ui/src/test/demo.test.ts @@ -0,0 +1,34 @@ +import { add } from "./demo"; +import Demo from "./Demo.vue"; +import { mount } from "@vue/test-utils"; + +// demo1 +test("first", () => { + expect(1 + 1).toBe(2); +}); + +// function +test("second", () => { + expect(add(1, 2)).toBe(3); +}); + +// component1 +test("third", () => { + expect(Demo).toBeTruthy(); +}); + +// component2 +test("fourth", () => { + console.log(Demo); +}); + +// component3 +test("fifth", () => { + const wrapper = mount(Demo, { + props: { + name: "YJK", + }, + }); + + expect(wrapper.text()).toContain("YJK"); +}); diff --git a/console-ui/src/test/demo.ts b/console-ui/src/test/demo.ts new file mode 100644 index 0000000..bc81dd5 --- /dev/null +++ b/console-ui/src/test/demo.ts @@ -0,0 +1 @@ +export const add = (a: number, b: number) => a + b; diff --git a/console-ui/src/types/config.d.ts b/console-ui/src/types/config.d.ts new file mode 100644 index 0000000..7b886c3 --- /dev/null +++ b/console-ui/src/types/config.d.ts @@ -0,0 +1,80 @@ +interface Config { + theme: ThemeConfig.Config; + locales: any; + currency: CurrencyConfig.Config; +} + +declare namespace CurrencyConfig { + interface Currency { + label: string; + decimalDigits: number; + decimalSeparator: string; + thousandsSeparator: string; + currencySymbol: string; + currencySymbolNumberOfSpaces: number; + currencySymbolPosition: string; + } + + interface Config { + currency: Currency; + availableCurrencies: Currency[]; + } +} + +declare namespace ThemeConfig { + interface Config { + //primary color + primary: string; + + //follow OS theme + followOs: boolean; + + // global theme for the theme + globalTheme: string; + + // side menu theme, use global theme or custom + menuTheme: string; + + // toolbar theme, use global theme or custom + toolbarTheme: string; + + // show toolbar detached from top + isToolbarDetached: boolean; + + // wrap pages content with a max-width + isContentBoxed: boolean; + + // application is right to left + isRTL: boolean; + + // dark theme colors + dark: import("vuetify").ThemeDefinition; + + // light theme colors + light: import("vuetify").ThemeDefinition; + } +} + +declare namespace NavigationConfig { + interface Menu { + icon?: string; + key?: string; + text?: string; + link?: string; + regex?: RegExp; + disabled?: boolean; + items?: NonNullable; + } + + interface Config { + menu: Menu[]; + footer: Footer[]; + } + + interface Footer { + text?: string; + key: string; + href?: string; + target?: string; + } +} diff --git a/console-ui/src/types/env.d.ts b/console-ui/src/types/env.d.ts new file mode 100644 index 0000000..ab06db6 --- /dev/null +++ b/console-ui/src/types/env.d.ts @@ -0,0 +1,9 @@ +declare interface ImportMeta { + readonly env: { + // Environment variables defined in .env + readonly VITE_UNSPLASH_ACCESS_KEY: string; + readonly VITE_GITHUB_CLIENT_ID: string; + readonly VITE_API_BASE_URL: string; + readonly VITE_OPENAI_API_KEY: string; + }; +} diff --git a/console-ui/src/utils/aiUtils.ts b/console-ui/src/utils/aiUtils.ts new file mode 100644 index 0000000..4136ec7 --- /dev/null +++ b/console-ui/src/utils/aiUtils.ts @@ -0,0 +1,44 @@ +import { Ref } from "vue"; + +// Read the stream from the server +export const read = async ( + reader: any, + target: Ref | Ref +): Promise => { + // TextDecoder is a built-in object that allows you to convert a stream of bytes into a string + const decoder = new TextDecoder("utf-8"); + // Destructure the value returned by reader.read() + const { done, value } = await reader.read(); + // If the stream is done reading, release the lock on the reader + if (done) return reader.releaseLock(); + // Convert the stream of bytes into a string + const chunk = decoder.decode(value, { stream: true }); + // Split the string into an array of strings + const jsons = chunk + .split("data:") + .map((data) => { + // Trim any whitespace + const trimData = data.trim(); + // If the string is empty, return undefined + if (trimData === "") return undefined; + // If the string is [DONE], return undefined + if (trimData === "[DONE]") return undefined; + // Otherwise, parse the string as JSON + return JSON.parse(data.trim()); + }) + // Filter out any undefined values + .filter((data) => data); + // Combine the data into a single string + const streamMessage = jsons + .map((jn) => jn.choices.map((choice: any) => choice.delta.content).join("")) + .join(""); + // Update the ref to the target element with the new string + const response = streamMessage; + if (target.value instanceof Array) { + target.value[target.value.length - 1].content += response; + } else { + target.value = target.value += response; + } + // Repeat the process + return read(reader, target); +}; diff --git a/console-ui/src/utils/colorUtils.ts b/console-ui/src/utils/colorUtils.ts new file mode 100644 index 0000000..f5a0c3a --- /dev/null +++ b/console-ui/src/utils/colorUtils.ts @@ -0,0 +1,89 @@ +const isHex = (hex: string) => /^#(?:[A-Fa-f0-9]{3}){1,2}$/.test(hex); +// Function name: isHex +// Parameters: hex +// Purpose: Checks if the parameter is a valid hexadecimal color +// Return: boolean + +const isRGB = (rgb: string) => + /^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.test( + rgb + ); +// Function name: isRGB +// Parameters: rgb +// Purpose: Checks if the parameter is a valid RGB color +// Return: boolean + +const isRGBA = (rgba: string) => + /^^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1(?:\.0*)?)\s*[)]$/.test( + rgba + ); +// Function name: isRGBA +// Parameters: rgba +// Purpose: Checks if the parameter is a valid RGBA color +// Return: boolean + +const parseRGB = (rgb: string) => rgb.match(/\((.*?)\)/)?.[1].split(","); +// Function name: parseRGB +// Parameters: rgb +// Purpose: Parses the RGB color into an array of numbers +// Return: Array + +const hexToRGB = (hex: string) => + hex + .replace( + /^#?([a-f\d])([a-f\d])([a-f\d])$/i, + (m, r, g, b) => "#" + r + r + g + g + b + b + ) + .substring(1) + .match(/.{2}/g) + ?.map((x) => parseInt(x, 16)); +// Function name: hexToRGB +// Parameters: hex +// Purpose: Converts a hex color to an RGB color +// Return: Array + +export const setOpacity = (color: string, opacity: number) => { + const [r, g, b] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [ + 0, 0, 0, + ]; + + return "rgba" + "(" + r + "," + g + "," + b + "," + opacity + ")"; +}; + +export const isValidColor = (color: string) => + isHex(color) || isRGB(color) || isRGBA(color); + +export const colorShade = (color: string, percentage: number) => { + // Check if the color is light or dark + const lighten = percentage < 0; + // Calculate the base color + const base = lighten ? 1 + percentage : 1 - percentage; + // Calculate the shade + const shade = lighten ? 0 : percentage * 255 ** 2; + // Calculate the primary color + const calcPrimary = (p: string | number) => + Math.round((base * Math.floor(Number(p)) ** 2 + shade) ** 0.5); + + // Parse the color to rgb + const [r, g, b, a] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [ + 0, 0, 0, + ]; + // Calculate the red color + const red = calcPrimary(r); + // Calculate the green color + const green = calcPrimary(g); + // Calculate the blue color + const blue = calcPrimary(b); + + // Return the color + return ( + "rgb" + + (a ? "a(" : "(") + + red + + "," + + green + + "," + + blue + + (a ? "," + a : ")") + ); +}; diff --git a/console-ui/src/utils/common.ts b/console-ui/src/utils/common.ts new file mode 100644 index 0000000..2f29778 --- /dev/null +++ b/console-ui/src/utils/common.ts @@ -0,0 +1,7 @@ +const debounce = (func, wait) => { + let timeout; + return function (...args) { + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(this, args), wait); + }; +}; diff --git a/console-ui/src/utils/csvToJson.ts b/console-ui/src/utils/csvToJson.ts new file mode 100644 index 0000000..5f19d5e --- /dev/null +++ b/console-ui/src/utils/csvToJson.ts @@ -0,0 +1,230 @@ +// 定义CSV格式的文本 +const csvText = `site_id,category_id,category_name,category_name_cn,site_name,description,icon,href +1001,101,topPicks,热门推荐,IconFont,国内最著名的图标搜索及管理平台,300万个图标下载,https://image.uisdc.com/wp-content/uploads/2022/08/uisdc-nav-iconfont.png,https://www.iconfont.cn/ +1002,101,topPicks,热门推荐,FreePik,知名设计素材站!PSD、矢量图、图库应有尽有,https://image.uisdc.com/wp-content/uploads/2020/06/nav-freepik.png,https://www.freepik.com/?ref=uisdc.com +1003,101,topPicks,热门推荐,每日灵感,优设旗下灵感频道,每日都有新灵感,https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png,https://uiiiuiii.com/inspiration +1004,101,topPicks,热门推荐,摄图网,1000万+图片、插画、视频、模板,免费下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-4.png,http://699pic.com/?from=54 +1005,101,topPicks,热门推荐,细节猎人,推荐!每日必看热门产品设计灵感,优设超人气频道,https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-hunter.png,https://www.uisdc.com/hunter +1006,101,topPicks,热门推荐,MasterGo设计神器,推荐!海量免费资源,更专业的云端UI设计工具,https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png,https://mastergo.com/?utm_source=youshe&utm_medium=toufang&utm_campaign=rementuijian&utm_term=&utm_content= +1007,101,topPicks,热门推荐,字由商用字体,推荐!近1000款免费商用字体一键拥有,设计师必备,https://image.uisdc.com/wp-content/uploads/2021/10/hellofont.png,https://www.hellofont.cn?from=UISDC:uisdc-w +1008,101,topPicks,热门推荐,优设读报,每日必读!设计新闻大事小事全知道,https://image.uisdc.com/wp-content/uploads/2020/03/nav-news-03192.png,https://www.uisdc.com/news +1009,101,topPicks,热门推荐,包图网,推荐!1000万套原创品质商用素材,效率神器,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-11.png,https://ibaotu.com/guanggao/1-0-0-0-3-1.html?spm=uisdc +1010,101,topPicks,热门推荐,Dribbble,国际知名设计站点!资深设计师必备,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png,https://dribbble.com/ +1011,101,topPicks,热门推荐,即时设计,推荐!免费专业级UI设计工具,可云端协作的Sketch,https://image.uisdc.com/wp-content/uploads/2021/06/nav-js-design.png,https://js.design/?source=uisdc&plan=rmtj +1012,101,topPicks,热门推荐,花瓣网,设计师寻找灵感的必备站点,启发设计灵感,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png,https://huaban.com/ +1013,102,hdGallery,高清图库,WallHaven,WallBase创办人失联后,前成员推出的网站,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-1.png,https://wallhaven.cc/ +1014,102,hdGallery,高清图库,拍信海量创意图片,推荐!超1亿张全球精选潮流图片,有版权全网可商用,https://image.uisdc.com/wp-content/uploads/2020/09/paixin-ico-nav.png,https://www.paixin.com/?uisdc +1015,102,hdGallery,高清图库,Unsplash,知名免费图库,免费下载高分辨率照片,可商用,https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-unsplash-9.png,https://unsplash.com/ +1016,102,hdGallery,高清图库,PNG素材库,推荐!最知名的PNG优质素材库。透明的、感动的,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-png.png,https://pngimg.com/ +1017,102,hdGallery,高清图库,全画作,强烈推荐!几十万张超高分辨率艺术作品欣赏,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-qls.png,https://www.allhistory.com/painting +1018,102,hdGallery,高清图库,SplitShire,免费可商用的图片库,更有视频素材资源,https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-splitshire.png,https://www.splitshire.com/ +1019,102,hdGallery,高清图库,Pexels,推荐!提供高清尺寸且品质优良的免费照片网站,https://image.uisdc.com/wp-content/uploads/2022/11/nav-pexels-2022.png,https://www.pexels.com/ +1020,102,hdGallery,高清图库,微软Bing图库,推荐!帮你探索收集那些精美的图像,可按色彩检索,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-8.png,https://cn.bing.com/images/trending +1021,102,hdGallery,高清图库,Yestone创意图片库,每天3万张上新,全部正版商用授权,品质高到挑花眼,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-2.png,https://www.yestone.com/?ref=768164 +1022,102,hdGallery,高清图库,StockSnap,推荐!专业的免费可商用照片图片素材资源库,https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-stocksnap-2022.png,https://stocksnap.io/ +1023,102,hdGallery,高清图库,Pixabay,百万张免费高清图片,高质量可商用,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-12.png,https://pixabay.com/ +1024,102,hdGallery,高清图库,500px,致力于视觉摄影分享、发现的专业平台,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-3-11.png,https://500px.com.cn/community/discover?t=fresh +1025,103,designTutorials,设计教程,优优教程网,超人气的优质中文教程网站,PS、AI、AE、C4D,https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png,https://uiiiuiii.com/ +1026,103,designTutorials,设计教程,PSDTuts+,Photoshop教程,从初学者到高级进阶,应有尽有,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-1.png,https://design.tutsplus.com/ +1027,103,designTutorials,设计教程,Adobe 设计周报,Adobe官方站!大神们通过全家桶创作过程的经验总结,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-2.png,https://create.adobe.com/ +1028,103,designTutorials,设计教程,PhotoshopVIP,日本超人气设计站点,网站很多干货,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-3.png,https://photoshopvip.net/ +1029,103,designTutorials,设计教程,Smashing Magazine,国外最著名的设计博客,许多高大上的设计文章,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-4.png,https://www.smashingmagazine.com/ +1030,103,designTutorials,设计教程,数字艺术在线,教程都很棒!你更会爱上网站展现教程的回廊方式,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-5.png,https://www.digitalartsonline.co.uk/tutorials/ +1031,103,designTutorials,设计教程,优设网,与大师零距离接触,一线设计师、总监的干货分享地,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-7.png,https://www.uisdc.com/ +1032,103,designTutorials,设计教程,Photoshop Lady,提供各种详细的photoshop教程,优设联盟站点,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-6.png,https://www.photoshoplady.com/ +1033,103,designTutorials,设计教程,PSD爱好者,提供Photoshop教程、设计文章和资源下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-9.png,http://psd.fanextra.com/ +1034,103,designTutorials,设计教程,站酷,综合性设计分享网站,原创设计交流平台,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-10.png,https://www.zcool.com.cn/ +1035,103,designTutorials,设计教程,Abduzeedo,汇集大量视觉灵感和酷炫PS教程的设计博客,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-11.png,https://abduzeedo.com/ +1036,103,designTutorials,设计教程,Coliss,日本有名站点!大量网站制作相关的设计技巧和神器,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-2-12.png,https://coliss.com/ +1037,104,interfaceDesign,界面设计,Dribbble,设计师必备站点,国内顶尖的设计师都在上面,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-1.png,https://dribbble.com/ +1038,104,interfaceDesign,界面设计,Behance,全球领先的创意设计类聚合平台,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-2.png,https://www.behance.net/ +1039,104,interfaceDesign,界面设计,UI8,聚集世界各地优秀设计师的界面源文件,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-3.png,https://ui8.net/ +1040,104,interfaceDesign,界面设计,Flat UI,扁平化UI设计灵感,采集扁平化相关的App、网页等,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-4.png,https://flatui.com/ +1041,104,interfaceDesign,界面设计,UI Movement,展示世界最有才华设计师的界面动效设计作品,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-5.png,https://uimovement.com/ +1042,104,interfaceDesign,界面设计,365psd,兢兢业业每天更新着用户界面相关的PSD,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-6.png,https://365psd.com/ +1043,104,interfaceDesign,界面设计,CollectUI,UI设计必备!100多个分类,不用发愁没灵感了,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-7.png,https://collectui.com/ +1044,104,interfaceDesign,界面设计,UI 设计,超赞!为您精挑细选的界面设计频道,https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu.png,https://uiiiuiii.com/inspirations/ui +1045,104,interfaceDesign,界面设计,Pixeden,赞!免费优质界面设计源文件及有网站模板,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-9.png,https://www.pixeden.com/ +1046,104,interfaceDesign,界面设计,Site Inspire,致力于分享推荐优秀网页及交互设计案例,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-10.png,https://www.siteinspire.com/ +1047,104,interfaceDesign,界面设计,Designmodo,所有高质量UI工具包都在这里可以找到,部分免费下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-4-11.png,https://designmodo.com/ +1048,104,interfaceDesign,界面设计,UI 设计文章精选,推荐!前沿有料的UI设计文章在此集结,https://image.uisdc.com/wp-content/uploads/2022/07/nav-ui-2022.png,https://www.uisdc.com/category/uiicon +1049,105,ideas,灵感创意,Pinterest,一个受世界瞩目的,全球最大的创意灵感图片分享网站,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-1.png,https://www.pinterest.com/ +1050,105,ideas,灵感创意,花瓣,采集你喜欢的美好事物,发现新知,启发设计灵感,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-2.png,https://huaban.com/ +1051,105,ideas,灵感创意,UiiiUiii 灵感频道,推荐!超人气的灵感库,优优教程网旗下产品,https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu2.png,https://uiiiuiii.com/inspiration +1052,105,ideas,灵感创意,Designspiration,提供设计灵感、插画摄影、时尚以及艺术相关的一切,https://image.uisdc.com/wp-content/uploads/2020/02/designspiration-nav-2020.png,https://www.designspiration.com/ +1053,105,ideas,灵感创意,Product Hunt,每天发现有趣的创新产品,离硅谷最近的眼睛,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-5.png,https://www.producthunt.com/ +1054,105,ideas,灵感创意,幻觉,展示最惊人的创作,涵盖艺术、设计、摄影和视频,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-6.png,https://scene360.com/ +1055,105,ideas,灵感创意,ArtStation,强烈推荐!一个收录世界顶级插画作品的社区,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-12.png,https://www.artstation.com/ +1056,105,ideas,灵感创意,优设9图,顶尖设计知识卡片!每日必看灵感频道,https://image.uisdc.com/wp-content/uploads/2022/11/nav-group.png,https://www.uisdc.com/group +1057,105,ideas,灵感创意,BOOOOOOOM,发人深省的创意图片,博客设计简约但内容丰富,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-7.png,https://www.booooooom.com/ +1058,105,ideas,灵感创意,灵感网络,推荐!聚合来自世界各地的创意人才,每天汲取灵感,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-8.png,https://theinspirationgrid.com/ +1059,105,ideas,灵感创意,Lapa网页灵感图库,设计网站前,推荐来这里找灵感,有贴心全屏预览图,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-9.png,https://www.lapa.ninja/ +1060,105,ideas,灵感创意,迷你单页狂热者,流行的网页趋势!不可不知的迷你站点大全,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-8-10.png,https://www.onepagemania.com/ +1061,106,designTools,设计工具,神器推荐专栏,优设网神器推荐专栏,全球设计工具全收录,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-1.png,https://www.uisdc.com/category/hot-download/tools-download +1062,106,designTools,设计工具,MasterGo设计神器,推荐!海量免费资源,更专业的云端UI设计工具,https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-1-mastergo-1.png,https://mastergo.com?utm_source=youshe&utm_medium=wangzhidaohang&utm_campaign=shejigongju&utm_term=&utm_content= +1063,106,designTools,设计工具,阿里云建站神器,1034套PC+手机站网站模板!会打字就会建网站,https://image.uisdc.com/wp-content/uploads/2020/04/nav-aliyun-202018.png,https://ac.aliyun.com/application/webdesign/sumei?source=5176.11533457&userCode=itzns7ko +1064,106,designTools,设计工具,PPT神器 iSlide,一键优化!你和PPT高手之间就差这个插件了,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-3.png,https://www.uisdc.com/ppt-artifact-islide +1065,106,designTools,设计工具,京东JDR Design,推荐!京东设计团队的设计神器都在这里了,https://image.uisdc.com/wp-content/uploads/2020/03/jdr-design-nav.png,https://jdrd.jd.com/ +1066,106,designTools,设计工具,Adobe全家桶,官方试用版下载链接,PS AI AE全都有,你懂得,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-6.png,https://uiiiuiii.com/software/5103.html +1067,106,designTools,设计工具,建站之星 SiteStar,国内著名建站品牌,PC+手机+小程序网站快速生成,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-7.png,https://www.sitestar.cn/ +1068,106,designTools,设计工具,FocoClipping 在线抠图,强大的在线抠图神器!3秒出图全自动超方便,https://image.uisdc.com/wp-content/uploads/2021/08/nav-fococlipping.png,https://www.uisdc.com/fococlipping +1069,106,designTools,设计工具,H5制作神器,推荐!专业级H5制作神器,在线设计,无需编程,https://image.uisdc.com/wp-content/uploads/2019/11/nav-1107-epub.png,https://www.epub360.com/?utm_source=uisdc&utm_medium=ad&utm_campaign=hao +1070,106,designTools,设计工具,设计师神器,推荐!优设主编整理的设计师神器栏目,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-9-2.png,https://www.uisdc.com/category/tools-download +1071,106,designTools,设计工具,PS拉框助手,一款人气PS插件!可快速生成各类图表及UI控件,https://image.uisdc.com/wp-content/uploads/2019/10/pslkzs.png,https://www.pslkzs.com/ +1072,106,designTools,设计工具,Vector Magic,1秒钟在线位图转矢量!好用的转矢量神器,https://image.uisdc.com/wp-content/uploads/2019/12/nav-vectormagic.png,https://vectormagic.com/ +1073,107,ai,AI人工智能,AI绘画专题,推荐!为您精选AI绘画有关的神器和介绍,https://image.uisdc.com/wp-content/uploads/2022/11/nav-ai.png,https://www.uisdc.com/zt/ai-draw +1074,107,ai,AI人工智能,据意查句,清华出品!AI 神器让你的文案立马变高级,https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantquotes.png,https://wantquotes.net/ +1075,107,ai,AI人工智能,Img.Upscaler,一键变清晰!能将PNG/JPG图像分辨率升级2倍或4倍,https://image.uisdc.com/wp-content/uploads/2022/11/nav-imgupscaler.png,https://imgupscaler.com/ +1076,107,ai,AI人工智能,EXPERTE,免费在线抠图工具,去除图像背景边缘清晰,https://image.uisdc.com/wp-content/uploads/2022/11/nav-experte.png,https://www.experte.com/background-remover +1077,107,ai,AI人工智能,ExtractBg,智能识别图像主体并一键去除背景,无下载限制,https://image.uisdc.com/wp-content/uploads/2022/11/nav-extractbg.png,https://extractbg.com/ +1078,107,ai,AI人工智能,反向词典,人工智能同义词搜索工具,专治词语匮乏综合征,https://image.uisdc.com/wp-content/uploads/2022/11/nav-wantwords.png,https://wantwords.net/ +1079,107,ai,AI人工智能,Get写作,全网热点追踪!一站式智能写作服务平台,https://image.uisdc.com/wp-content/uploads/2022/11/nav-getgetai.png,https://getgetai.com/ +1080,107,ai,AI人工智能,Magic Eraser,一键抹去图片中不需要的元素,且毫无修图痕迹,https://image.uisdc.com/wp-content/uploads/2022/11/nav-magiceraser.png,https://www.magiceraser.io/ +1081,107,ai,AI人工智能,Huemint,一键生成多种和谐配色方案!配色效果可实时预览,https://image.uisdc.com/wp-content/uploads/2022/11/nav-huemint.png,https://www.uisdc.com/huemint +1082,107,ai,AI人工智能,Relight,打光修图神器!呈现多姿多彩立体光影效果,https://image.uisdc.com/wp-content/uploads/2022/11/nav-relight.png,https://www.uisdc.com/relight +1083,107,ai,AI人工智能,Palette.fm,黑白图像转彩色!10秒内提供20种不同的上色效果,https://image.uisdc.com/wp-content/uploads/2022/11/nav-palettefm.png,https://www.uisdc.com/palette-fm +1084,107,ai,AI人工智能,NewProfilePic,免费的风格化头像生成器!让头像秒变美式插画风,https://image.uisdc.com/wp-content/uploads/2022/11/nav-NewProfilePic.png,https://www.uisdc.com/newprofilepic +1085,108,resources,素材资源,稿定设计,提供海量免费素材,多场景商业视觉在线设计平台,https://image.uisdc.com/wp-content/uploads/2018/12/sdcnav-gdsj-12.png,https://www.gaoding.com/utms/f10839263a60c1c447c75fcbe10183c2 +1086,108,resources,素材资源,纹理王,免费的高分辨率顶尖纹理,可以商用,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-1.png,https://www.textureking.com/category/all-textures/ +1087,108,resources,素材资源,freebiesbug,最新的免费设计资源,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-2.png,https://freebiesbug.com/ +1088,108,resources,素材资源,LogoPond,高端logo集萃,设计前必须来池子里泡一泡,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-3.png,https://logopond.com/ +1089,108,resources,素材资源,阿里图标库,国内最著名的图标搜索及管理平台,300万个图标下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-1-1.png,https://www.iconfont.cn/ +1090,108,resources,素材资源,矢量Logo下载,超赞!知名Logo矢量资源下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-sc-5.png,https://worldvectorlogo.com/ +1091,109,fontDesign,字体设计,免费商用字体,超全!免费可商用中文+英文字体,含应用场景,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-1.png,https://uiiiuiii.com/tool/typeface +1092,109,fontDesign,字体设计,DaFont,国际知名站点!提供大量的免费英文字体下载,https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-28.png,https://www.dafont.com/ +1093,109,fontDesign,字体设计,字体家,万款字体免费下载!专业提供正版授权字体下载,https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-font-ztj.png,https://www.zitijia.com/ +1094,109,fontDesign,字体设计,字由,设计师必备字体利器,国内外上千款精选字体,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-4.png,https://www.hellofont.cn/ +1095,109,fontDesign,字体设计,字体宇宙,超过6万免费字体下载,网站体验不错,https://image.uisdc.com/wp-content/uploads/2020/08/sdcnav-font-85.png,https://www.fontspace.com/ +1096,109,fontDesign,字体设计,Font Fabric,免费高品质字体打包下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-6.png,https://www.fontfabric.com/ +1097,109,fontDesign,字体设计,求字体,找字体神器,并提供中文和英文字体库下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-7.png,https://www.qiuziti.com/ +1098,109,fontDesign,字体设计,字体天下,推荐!超过3万个中英文字体免费下载,https://image.uisdc.com/wp-content/uploads/2019/02/2019-nav-fontcn.png,https://www.fonts.net.cn/ +1099,109,fontDesign,字体设计,云字库,最适合中小型设计团队的字体商用解决方案,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-3.png,https://www.yestone.com/fonts/?ref=768164 +1100,109,fontDesign,字体设计,字体传奇,字体品牌设计师交流网,字体相关的教程、讲座等,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-10.png,http://www.ziticq.com/ +1101,109,fontDesign,字体设计,Lost Type,推荐!字体都非常漂亮,展示方式悦目清新,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-11.png,http://www.losttype.com/browse/ +1102,109,fontDesign,字体设计,字体松鼠,100%免费下载可商用!专为设计师精心挑选,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-10-12.png,https://www.fontsquirrel.com/ +1103,110,template,酷站模版,Awwwards,精挑细选世界各地的最佳网站!并对其打分颁奖,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-1.png,https://www.awwwards.com/ +1104,110,template,酷站模版,日本 4db,推荐!搜集日本各行各业、各地区的优秀网站,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-3.png,http://4db.cc/ +1105,110,template,酷站模版,网页模版巨人,著名的网页模版库,借鉴和学习网页趋势的宝地,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-1.png,https://www.templatemonster.com/cn/ +1106,110,template,酷站模版,酷站剪报,强烈推荐!用心收集日本酷站,右侧二级栏目非常棒,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-8.png,https://www.webdesignclip.com/ +1107,110,template,酷站模版,迷你网站模版分享,推荐!提供海量单页模版展示和素材资源的网站,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-2.png,https://onepagelove.com/ +1108,110,template,酷站模版,梦幻模板,超过7000个梦幻般的网站模板及Flash模板下载,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-5.png,http://www.dreamtemplate.com/ +1109,110,template,酷站模版,优质登录页模版网,推荐!整合了各个行业的网站登录页面模版资源,https://image.uisdc.com/wp-content/uploads/2022/07/nav-web-2022.png,https://www.landingfolio.com/ +1110,110,template,酷站模版,享誉全球的 WIX,超赞!该站全球排名378!可以帮你免费定制网站,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-6-7.png,https://www.wix.com/ +1111,110,template,酷站模版,网页设计画廊,精选了富有创意的网页设计作品,https://image.uisdc.com/wp-content/uploads/2022/07/nav-io3000-2022.png,https://io3000.com/ +1112,110,template,酷站模版,日本酷站索引,近6000个!av大合集也没这么全,酷站集合,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-12.png,http://bm.straightline.jp/ +1113,111,colourScheme,配色方案,The FWA,强烈推荐!超高水准的互动网站设计案例,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-fwa.png,https://thefwa.com/ +1114,111,colourScheme,配色方案,81 web,推荐!日本优秀出色的站点大集合,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-7-9.png,https://81-web.com/ +1115,111,colourScheme,配色方案,Adobe Color,网页设计师配色的最佳之选,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-1.png,https://color.adobe.com/zh/ +1116,111,colourScheme,配色方案,COLOURlovers,交流颜色、色彩趋势和配色方案的超人气社区,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-2.png,https://www.colourlovers.com/ +1117,111,colourScheme,配色方案,Coolors,实用!成千上万的配色方案,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-3.png,https://coolors.co/browser/latest/1 +1118,111,colourScheme,配色方案,漂亮的渐变颜色,今年流行的渐变!点击屏幕两侧按钮可选更多色彩,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-4.png,https://uigradients.com/ +1119,111,colourScheme,配色方案,CssWinner网页色彩分类,CSS画廊,可根据右侧颜色块展现最流行的网页,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-5.png,https://www.csswinner.com/colorsearch/blue +1120,111,colourScheme,配色方案,色彩猎人,每天收集并策划发布美丽的配色方案,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-6.png,https://colorhunt.co/ +1121,111,colourScheme,配色方案,中国色彩大辞典,中国/日本传统色彩命名,点击色彩可直接吸取色值,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-7.png,https://color.uisdc.com/ +1122,111,colourScheme,配色方案,配色导航,推荐!流行配色方案,可一键复制喜欢的颜色,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-8.png,https://color.uisdc.com/pick.html +1123,111,colourScheme,配色方案,DopelyColors,一款实用的获取漂亮渐变方案的工具,https://image.uisdc.com/wp-content/uploads/2021/08/nav-colors-dopely.png,https://colors.dopely.top/ +1124,111,colourScheme,配色方案,MaterialUI,推荐!帮助设计师们快速选到自己喜爱的配色方案,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-10.png,https://www.materialui.co/ +1125,111,colourScheme,配色方案,ColorDrop,让寻找配色方案成为信手拈来的事情,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-11.png,https://colordrop.io/ +1126,111,colourScheme,配色方案,Fashion Trendsetter,帮你关注每年最流行的颜色搭配,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-5-12.png,https://www.fashiontrendsetter.com/ +1127,112,anime,二次元,B站,国内知名视频弹幕网站,有最及时的动漫新番,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-8.png,https://www.bilibili.com/ +1128,112,anime,二次元,A站,AcFun作为弹幕视频网站,国内二次元文化的开创者,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-15-6.png,https://www.acfun.cn/ +1129,112,anime,二次元,半次元,ACG爱好者社区,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bcy.png,https://bcy.net/ +1130,112,anime,二次元,腾讯动漫,中国最大最权威的正版动漫网站,https://image.uisdc.com/wp-content/uploads/2019/01/sdcnav-15-32.png,https://ac.qq.com/ +1131,112,anime,二次元,动漫之家,国内最全最专业的在线漫画,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-dmzj.png,https://www.dmzj.com/ +1132,112,anime,二次元,萌娘百科,万物皆可萌的百科全书,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-meng.png,https://zh.moegirl.org/Mainpage +1133,112,anime,二次元,有妖气,中国唯一且最大的纯原创漫画网站,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-yyq.png,https://www.u17.com/ +1134,112,anime,二次元,不可能的世界,中国最大的二次元小说平台,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-bkn.png,https://www.8kana.com/ +1135,112,anime,二次元,斗鱼,知名弹幕式直播平台,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-douyu.png,https://www.douyu.com/ +1136,112,anime,二次元,虎牙,弹幕式互动直播平台,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-huya.png,https://www.huya.com/ +1137,112,anime,二次元,Steam,全球综合性数字游戏社交平台,请勿沉迷,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-steam.png,https://store.steampowered.com/ +1138,112,anime,二次元,P站,需爬梯!全球知名的插画作品分享站,https://image.uisdc.com/wp-content/uploads/2020/01/nav2020-pixiv.png,https://www.pixiv.net/ +1139,113,photo,摄影美图,BURST,知名Shopify旗下摄影图库!每周更新优质照片素材,https://image.uisdc.com/wp-content/uploads/2022/02/sdcnav-12-burst.png,https://burst.shopify.com/ +1140,113,photo,摄影美图,POCO摄影图片社区,领先的时尚摄影平台,分享作品和技巧首选,https://image.uisdc.com/wp-content/uploads/2020/02/poco-nav-2020.png,https://www.poco.cn/ +1141,113,photo,摄影美图,新浪图片,有温度的视觉,摄影师成长平台,影像记录中国,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-3.png,http://photo.sina.com.cn/ +1142,113,photo,摄影美图,蜂鸟网,摄影爱好者分享摄影技巧和作品的中国影像门户,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-4.png,https://www.fengniao.com/ +1143,113,photo,摄影美图,中国国家地理网,最专业的深度旅游体验平台,最具特色的互动社区,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-5.png,http://www.dili360.com/ +1144,113,photo,摄影美图,时尚网,美图看不完!高端时尚白领生活专属领地,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-6.png,http://www.trends.com.cn/ +1145,113,photo,摄影美图,图虫网,图虫网,中国最专业的web2.0摄影社区,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-10.png,https://tuchong.com/ +1146,113,photo,摄影美图,Style-Arena,日本街拍帅哥美女一览无余!东京街头时尚网,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-8.png,https://www.style-arena.jp/ch/ +1147,113,photo,摄影美图,Chiphell,专业的发烧友社区,里面的摄影专区也不错,https://image.uisdc.com/wp-content/uploads/2021/01/sdcnav-chiphell.png,https://www.chiphell.com/portal.php?mod=list&catid=3 +1148,113,photo,摄影美图,网易图片,网易新闻中心图片频道,24小时热图实时推送,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-7.png,http://news.163.com/photo +1149,113,photo,摄影美图,Photography Served,全球顶尖创意平台Behance旗下的摄影服务栏目,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-11.png,https://www.behance.net/galleries/Photography +1150,113,photo,摄影美图,无忌视界,国内外优秀摄影师的线上展览平台,开阔眼界,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-14-12.png,https://vision.xitek.com/sight/ +1151,114,insight,行业视野,腾讯CDC,腾讯用户研究与体验设计中心,腾讯的核心部门之一,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-11-1-1.png,https://cdc.tencent.com/ +1152,114,insight,行业视野,虎嗅网,一个有视角的、个性化商业资讯与交流平台,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-2-1.png,https://www.huxiu.com/ +1153,114,insight,行业视野,36氪,互联网领先新商业媒体,让一部分人先看到未来,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-3-1.png,https://36kr.com/ +1154,114,insight,行业视野,W3C官网,这是互联网的基础,推荐及时了解前端最新资讯,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-w3c-1.png,https://www.w3.org/ +1155,114,insight,行业视野,极客公园,报道互联网热门趋势、热点产品的深度分析,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-5-1.png,http://www.geekpark.net/ +1156,114,insight,行业视野,爱范儿,发现创新价值的科技媒体,全景关注移动互联网,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-6-1.png,https://www.ifanr.com/ +1157,114,insight,行业视野,优设读报,极具影响力的设计师新闻频道,行业资讯一站知晓,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-7-1.png,https://www.uisdc.com/news +1158,114,insight,行业视野,cnBeta中文IT资讯站,提供最新最快的IT业界资讯,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-8-1.png,https://www.cnbeta.com/ +1159,114,insight,行业视野,雷锋网,专注于移动互联网创业及创新的人气科技博客,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-9-1.png,https://www.leiphone.com/ +1160,114,insight,行业视野,网易科技,有态度!以独特视角呈现科技圈内大事小事,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-10-1.png,https://tech.163.com/ +1161,114,insight,行业视野,牛华网,华军软件园旗下网站,第一时间提供最具价值IT资讯,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-11-1.png,http://www.newhua.com/ +1162,114,insight,行业视野,DoNews,中国互联网从业人士交流最权威的平台,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-12.png,https://www.donews.com/ +1163,115,viedo,短视频,剪映,强悍的手机短视频制作神器!由抖音官方推出,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ulikecam.png,https://lv.ulikecam.com/ +1164,115,viedo,短视频,万兴喵影,好用易上手的国产剪辑神器,功能强大,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-wondershare.png,https://miao.wondershare.cn/ +1165,115,viedo,短视频,蝉妈妈,推荐!为短视频内容创作团队提供竞品分析和爆款研究,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-chanmama.png,https://www.chanmama.com/ +1166,115,viedo,短视频,西瓜视频,字节跳动旗下视频平台!给你新鲜好看,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-ixigua.png,https://www.ixigua.com/ +1167,115,viedo,短视频,小红书,标记生活,一起分享和发现世界的精彩,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-xiaohongshu.png,https://www.xiaohongshu.com/ +1168,115,viedo,短视频,Videezy,推荐!提供大量免费高画质HD、4K影片素材,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-videezy.png,https://www.videezy.com/ +1169,115,viedo,短视频,Jamendo Music,质量很高的免费音乐素材下载平台,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-jamendo.png,https://www.jamendo.com/start +1170,115,viedo,短视频,Bensound,独特有质感的免费背景音乐素材站点,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-bensound.png,https://www.bensound.com/ +1171,115,viedo,短视频,TooBigData,短视频网红排行,KOL一网打尽,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-toobigdata.png,https://toobigdata.com/ +1172,115,viedo,短视频,PremiumBeat,创意人士的短视频配乐佳选,有可商用音乐库,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-premiumbeat.png,https://www.premiumbeat.com/zh/ +1173,115,viedo,短视频,抖音,音乐创意短视频社交软件,记录美好生活,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-douyin.png,https://www.douyin.com/ +1174,115,viedo,短视频,快手,国民短视频社区,记录世界记录你,https://image.uisdc.com/wp-content/uploads/2020/07/sdcnav-kuaishou.png,https://www.kuaishou.com/ +1175,116,designTraining,设计培训,优设大课堂,零基础课程,设计师涨薪就业职场直达,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-1.png,https://xue.uisdc.com/?c=train +1176,116,designTraining,设计培训,推荐!态爷手绘提高课,央视合作画师,绝无仅有的手绘课程,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png,https://xue.uisdc.com/detail?id=5f365ff7dbd5ea3cf97cee73 +1177,116,designTraining,设计培训,优设平面设计实战营,高薪第1步!大家都在学的平面设计必修课,https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-pm-9.png,https://uiiiuiii.com/other/1212116139.html +1178,116,designTraining,设计培训,零基础手绘就业班,超人气课程!设计师必备基础课,从入门到专业,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png,https://xue.uisdc.com/detail?id=5d133b69d8071825ebce60c5&c=train-2 +1179,116,designTraining,设计培训,优设自学好课,每周更新!好课风向标,学什么看这里,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-5.png,https://pro.uisdc.com/ +1180,116,designTraining,设计培训,青爵版式设计全能班,爆款课程!站酷600W超人气青爵直播授课,https://image.uisdc.com/wp-content/uploads/2020/02/dkt-uisdc-200209.png,https://xue.uisdc.com/detail?id=5dcc1b4cddb4671468955397 +1181,116,designTraining,设计培训,零基础UI设计就业班,优设官方培训课程,从基础到专业特训班,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-9.png,https://xue.uisdc.com/detail?id=5cb6ff4c0f29d0571d4fb7e4&c=train-7 +1182,116,designTraining,设计培训,零基础C4D特训营,升职加薪筹码,让晋升之路畅通无阻,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-8.png,https://xue.uisdc.com/detail?id=5d133ad1d8071825ebce60c1&c=train-6 +1183,116,designTraining,设计培训,设计师就业衔接班,60天从PS、AI、AE入门到设计入行!把握就业薪风向,https://image.uisdc.com/wp-content/uploads/2022/05/sdcnav-xj-92.png,https://uiiiuiii.com/other/1212116455.html +1184,116,designTraining,设计培训,优设手绘就业衔接班,6000人都选择的手绘课,助力升职加薪,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png,https://uiiiuiii.com/other/1212113189.html +1185,116,designTraining,设计培训,动效设计特训营,火热报名!优设官方开展的动效设计视觉培训课程,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-10.png,https://xue.uisdc.com/detail?id=5cc55404bdc6da1b2b9c932e&c=train-8 +1186,116,designTraining,设计培训,小光的手绘课堂,超人气课程!名师授课,商业手绘必学课程,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-12.png,https://xue.uisdc.com/detail?id=5cb700d30f29d0571d4fb7ea&c=train-5 +1187,117,frontend,前端开发,w3school在线教程,必备!全球最大的中文Web技术教程,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-16-4-1.png,https://www.w3school.com.cn/ +1188,117,frontend,前端开发,凹凸实验室,推荐!沉淀与分享前端开发、页面制作技巧,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-4.png,https://aotu.io/ +1189,117,frontend,前端开发,代码笔,超赞!面向前端设计人员的圣地,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-2.png,https://codepen.io/ +1190,117,frontend,前端开发,w3ctech,推荐!中国最大的前端技术社区,https://image.uisdc.com/wp-content/uploads/2018/09/2018-w3ctech-0906.png,https://www.w3ctech.com/ +1191,117,frontend,前端开发,4分钟网页,经典教学案例!教你4分钟变戏法式制作一个网页,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-13-10.png,https://hao.uisdc.com/cssmagic/ +1192,117,frontend,前端开发,Bootstrap中文网,简洁、直观、强悍的响应式前端开发框架,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-b-12.png,https://www.bootcss.com/ +1193,118,InteriorDesign,室内设计,Houzz,全球最著名的装修和室内设计平台,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-1.png,https://www.houzz.com +1194,118,InteriorDesign,室内设计,AD,AD在室内设计领域具有不可估量的影响力,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-5.png,https://www.architecturaldigest.com/ +1195,118,InteriorDesign,室内设计,躺平设计家,国内一流的室内设计平台,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-3.png,https://www.shejijia.com/ +1196,118,InteriorDesign,室内设计,美国家园频道,致力于家庭装修、园艺、手工艺和家庭改造方案,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-2.png,https://www.hgtv.com/ +1197,118,InteriorDesign,室内设计,ArchDaily,世界最受欢迎的建筑网站,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-6.png,https://www.archdaily.com +1198,118,InteriorDesign,室内设计,设计牛奶,一本致力于现代设计的在线灵感杂志,https://image.uisdc.com/wp-content/uploads/2018/09/nav-architecture-4.png,https://design-milk.com/ +1199,119,designMedia,设计媒体,优设,这是我们优设的官方品牌微博,强烈推荐,https://image.uisdc.com/wp-content/uploads/2020/02/nav-yes-0209.png,https://weibo.com/uisdc2012 +1200,119,designMedia,设计媒体,优设基础训练营,每日推荐优质Ps Ai Ae教程,优优网官博,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-4.png,https://weibo.com/uisdcjichuying +1201,119,designMedia,设计媒体,优优教程网,优设旗下网站,优优教程网官方微博,https://image.uisdc.com/wp-content/uploads/2020/03/sdcnav-1-uu3.png,https://weibo.com/uiiiuiii +1202,119,designMedia,设计媒体,设计师的百宝箱,精挑细选受设计师欢迎的网站,都是奇珍异宝,https://image.uisdc.com/wp-content/uploads/2022/04/sdcnav-design-box.png,https://weibo.com/edddesign +1203,119,designMedia,设计媒体,你丫才美工,严格意义来讲,打水印和打码一样,都是下流的凑性,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-1.png,https://weibo.com/honghaier555 +1204,119,designMedia,设计媒体,意匠id,最精致的微博拥有最好的粉丝,分享美好,分享生活,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-19-8.png,https://weibo.com/mdabao +1205,119,designMedia,设计媒体,优秀网页设计,设计干货微博!每日更新及时,推荐关注,https://image.uisdc.com/wp-content/uploads/2020/02/nav-uisdc-0209.png,https://weibo.com/uidesign +1206,119,designMedia,设计媒体,优设大课堂,跟对老师学知识,优设大课堂官方微博,https://image.uisdc.com/wp-content/uploads/2020/02/nav-dkt-0209.png,https://weibo.com/u/6021844857 +1207,119,designMedia,设计媒体,平面版式设计,知名设计美学博主,前沿的平面版式设计灵感,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-4.png,https://weibo.com/u/5317715201 +1208,119,designMedia,设计媒体,手绘插画设计,知名设计美学博主,https://image.uisdc.com/wp-content/uploads/2018/08/sdcnav-px-3.png,https://weibo.com/u/3123287587 +1209,119,designMedia,设计媒体,Photoshop大师,微博知名设计美学博主,https://image.uisdc.com/wp-content/uploads/2022/11/sdcnav-ps-2022.png,https://weibo.com/psdashi +1210,119,designMedia,设计媒体,招聘设计师,可以帮你找工作的微博,准备好简历@她即可,https://image.uisdc.com/wp-content/uploads/2020/02/nav-job-0209.png,https://weibo.com/desginjob +`; + +// 使用split方法将文本按行分割 +const lines = csvText.split("\n"); + +// 定义JSON对象的键名数组 +const keys = lines[0].split(","); + +// 使用map方法将其余行转换为JSON对象 +const json = lines.slice(1).map((line) => { + // 将行按逗号分割 + const values = line.split(","); + // 返回一个对象,其键名对应keys数组中的值,键值对应values数组中的值 + return keys.reduce((obj, key, i) => ({ ...obj, [key]: values[i] }), {}); +}); + +// 输出结果 +console.log(json); diff --git a/console-ui/src/utils/deepMerge.ts b/console-ui/src/utils/deepMerge.ts new file mode 100644 index 0000000..50761cc --- /dev/null +++ b/console-ui/src/utils/deepMerge.ts @@ -0,0 +1,29 @@ +const isObject = (val: any): boolean => val && typeof val === "object"; +const mergeArrayWithDedupe = (a: string[], b: string[]): string[] => + Array.from(new Set([...a, ...b])); + +/** + * Recursively merge the content of the new object to the existing one + * Usage scenarios: State management, merging config objects;Config objects are usually nested, so we need to merge them recursively + * @param {Object} target the existing object + * @param {Object} obj the new object + */ +function deepMerge(target: Object, obj: Object): Object { + const keys = Object.keys(obj); + + for (const key of keys) { + const oldVal = target[key]; + const newVal = obj[key]; + + if (isObject(oldVal) && isObject(newVal)) { + target[key] = deepMerge(oldVal, newVal); + } else if (Array.isArray(oldVal) && Array.isArray(newVal)) { + target[key] = mergeArrayWithDedupe(oldVal, newVal); + } else if (typeof oldVal === "undefined") { + target[key] = newVal; + } + } + + return target; +} +export default deepMerge; diff --git a/console-ui/src/utils/formatCurrency.ts b/console-ui/src/utils/formatCurrency.ts new file mode 100644 index 0000000..d6a41ad --- /dev/null +++ b/console-ui/src/utils/formatCurrency.ts @@ -0,0 +1,95 @@ +import configs from "@/configs"; +/** + * Format a number to currency format + * @param value + * @param currency + */ +export const formatCurrency = ( + value: number, + currency?: CurrencyConfig.Currency +): number | string => { + const { currency: currencyConfig } = configs; + + let c: CurrencyConfig.Currency; + c = currency || currencyConfig.currency; + + return formatPrice(value, c); +}; + +/** + * Format a number to currency format + * @param price + * @param currency + */ +export const formatPrice = ( + price: number, + currency: CurrencyConfig.Currency +) => { + try { + const numberFormatted = numberFormat( + price, + currency.decimalDigits, + currency.decimalSeparator, + currency.thousandsSeparator + ); + + if (currency.currencySymbol) { + const priceSeparator = + currency.currencySymbolNumberOfSpaces > 0 + ? " ".repeat(currency.currencySymbolNumberOfSpaces) + : ""; + let priceParts = [ + numberFormatted, + priceSeparator, + currency.currencySymbol, + ]; + + if (currency.currencySymbolPosition === "left") { + priceParts = priceParts.reverse(); + } + + return priceParts.join(""); + } else { + return numberFormatted; + } + } catch (e) { + return price; + } +}; + +/** + * Format a number to currency format + * @param number + * @param decimals + * @param dec_point + * @param thousands_sep + */ +export const numberFormat = ( + number: number, + decimals: number, + dec_point: string, + thousands_sep: string +) => { + if (isNaN(number)) { + return number; + } + + const negative = number < 0; + + if (negative) number = number * -1; + let strArr: string[] = []; + strArr = number + .toFixed(decimals ? decimals : 0) + .toString() + .split("."); + + const parts: string[] = []; + + for (let i = strArr[0].length; i > 0; i -= 3) { + parts.unshift(strArr[0].substring(Math.max(0, i - 3), i)); + } + + strArr[0] = parts.join(thousands_sep ? thousands_sep : ","); + + return (negative ? "-" : "") + strArr.join(dec_point ? dec_point : "."); +}; diff --git a/console-ui/src/utils/index.ts b/console-ui/src/utils/index.ts new file mode 100644 index 0000000..ced06c5 --- /dev/null +++ b/console-ui/src/utils/index.ts @@ -0,0 +1 @@ +export const t = () => {}; diff --git a/console-ui/src/utils/type-chanlleges.ts b/console-ui/src/utils/type-chanlleges.ts new file mode 100644 index 0000000..8f26070 --- /dev/null +++ b/console-ui/src/utils/type-chanlleges.ts @@ -0,0 +1,23 @@ +type myPick = { + [P in K]: T[P]; +}; + +type myReadonly = { + readonly [P in keyof T]: T[P]; +}; + +type Person = { + name: string; + age: number; + sex: string; +}; + +type MyPerson = myPick; + +const reads = (person: MyPerson) => { + console.log(person.name); +}; + +reads({ + name: "yjk", +}); diff --git a/console-ui/src/views/AboutView.vue b/console-ui/src/views/AboutView.vue deleted file mode 100644 index 3fa2807..0000000 --- a/console-ui/src/views/AboutView.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/console-ui/src/views/HomeView.vue b/console-ui/src/views/HomeView.vue deleted file mode 100644 index e8d96d7..0000000 --- a/console-ui/src/views/HomeView.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/console-ui/src/views/app/booking/BookingApp.vue b/console-ui/src/views/app/booking/BookingApp.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/app/booking/BookingApp.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/ChatApp.vue b/console-ui/src/views/app/chat/ChatApp.vue new file mode 100644 index 0000000..82c0b37 --- /dev/null +++ b/console-ui/src/views/app/chat/ChatApp.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/chatRoutes.ts b/console-ui/src/views/app/chat/chatRoutes.ts new file mode 100644 index 0000000..84dce21 --- /dev/null +++ b/console-ui/src/views/app/chat/chatRoutes.ts @@ -0,0 +1,21 @@ +export default [ + { + path: "", + redirect: "/apps/chat/base-channel", + }, + { + path: "base-channel", + component: () => + import( + /* webpackChunkName: "apps-chat-channel" */ "@/views/app/chat/pages/ChatPage.vue" + ), + }, + // { + // path: "channel/:id", + // name: "apps-chat-channel", + // component: () => + // import( + // /* webpackChunkName: "apps-chat-channel" */ "@/views/app/chat/pages/ChatPage.vue" + // ), + // }, +]; diff --git a/console-ui/src/views/app/chat/chatStore.ts b/console-ui/src/views/app/chat/chatStore.ts new file mode 100644 index 0000000..3f92bce --- /dev/null +++ b/console-ui/src/views/app/chat/chatStore.ts @@ -0,0 +1,40 @@ +import { defineStore } from "pinia"; +import type { Message, User } from "./chatTypes"; + +export const useChatStore = defineStore({ + id: "chat", + state: () => ({ + apiKey: "", + chatHistory: [], + apiKeyDialog: false, + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: ["chatHistory", "apiKey"] }], + }, + + getters: { + getChatHistory() { + return this.chatHistory; + }, + // If you have set up an API key, please use your own key. If not, please use the one I provided. + getApiKey: (state) => state.apiKey || import.meta.env.VITE_OPENAI_API_KEY, + }, + actions: { + saveApiKey(key: string) { + this.apiKey = key; + }, + + addToHistory(payload: Message) { + this.chatHistory.push(payload); + }, + clearHistory() { + this.chatHistory = []; + }, + // 移除最后一条临时信息 + removeLatestMessage() { + this.chatHistory.pop(); + }, + }, +}); diff --git a/console-ui/src/views/app/chat/chatTypes.ts b/console-ui/src/views/app/chat/chatTypes.ts new file mode 100644 index 0000000..52bb0a3 --- /dev/null +++ b/console-ui/src/views/app/chat/chatTypes.ts @@ -0,0 +1,12 @@ +export interface User { + id: number; + name: string; + avatar: string; +} + +export interface Message { + id: string; + user: User; + text: string; + timestamp: number | string; +} diff --git a/console-ui/src/views/app/chat/components/ChatMenu.vue b/console-ui/src/views/app/chat/components/ChatMenu.vue new file mode 100644 index 0000000..f9d5512 --- /dev/null +++ b/console-ui/src/views/app/chat/components/ChatMenu.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/components/ChatWindow.vue b/console-ui/src/views/app/chat/components/ChatWindow.vue new file mode 100644 index 0000000..f724096 --- /dev/null +++ b/console-ui/src/views/app/chat/components/ChatWindow.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/components/InputArea.vue b/console-ui/src/views/app/chat/components/InputArea.vue new file mode 100644 index 0000000..86fdfc7 --- /dev/null +++ b/console-ui/src/views/app/chat/components/InputArea.vue @@ -0,0 +1,142 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/components/Message.vue b/console-ui/src/views/app/chat/components/Message.vue new file mode 100644 index 0000000..dceb38a --- /dev/null +++ b/console-ui/src/views/app/chat/components/Message.vue @@ -0,0 +1,39 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/components/MessageArea.vue b/console-ui/src/views/app/chat/components/MessageArea.vue new file mode 100644 index 0000000..8b09c3d --- /dev/null +++ b/console-ui/src/views/app/chat/components/MessageArea.vue @@ -0,0 +1,23 @@ + + + + + + diff --git a/console-ui/src/views/app/chat/openAIApi.ts b/console-ui/src/views/app/chat/openAIApi.ts new file mode 100644 index 0000000..408b155 --- /dev/null +++ b/console-ui/src/views/app/chat/openAIApi.ts @@ -0,0 +1,53 @@ +import { Configuration, OpenAIApi } from "openai"; + +export const createCompletion: any = (keyword: string, apiKey: string) => { + const configuration = new Configuration({ + apiKey: apiKey, + }); + + const openai = new OpenAIApi(configuration); + + return openai.createChatCompletion({ + model: "gpt-3.5-turbo", + messages: [{ role: "user", content: keyword }], + }); +}; + +export const translationApi: any = ( + content: string, + prompt: string, + apiKey: string +) => { + const configuration = new Configuration({ + apiKey: apiKey, + }); + + const openai = new OpenAIApi(configuration); + + return openai.createChatCompletion({ + model: "gpt-3.5-turbo", + messages: [ + { role: "user", content: prompt }, + { role: "user", content: content }, + ], + }); +}; + +// openai.listModels +// https://platform.openai.com/docs/api-reference/models/list + +// openai.retrieveModel +// GET https://api.openai.com/v1/models/{model} + +function generatePrompt(animal: string) { + const capitalizedAnimal = + animal[0].toUpperCase() + animal.slice(1).toLowerCase(); + return `Suggest three names for an animal that is a superhero. + + Animal: Cat + Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline + Animal: Dog + Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot + Animal: ${capitalizedAnimal} + Names:`; +} diff --git a/console-ui/src/views/app/chat/pages/ChatPage.vue b/console-ui/src/views/app/chat/pages/ChatPage.vue new file mode 100644 index 0000000..eb9bdb4 --- /dev/null +++ b/console-ui/src/views/app/chat/pages/ChatPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/design_navigation/DesignNavApp.vue b/console-ui/src/views/app/design_navigation/DesignNavApp.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/app/design_navigation/DesignNavApp.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/email/EmailApp.vue b/console-ui/src/views/app/email/EmailApp.vue new file mode 100644 index 0000000..2377d94 --- /dev/null +++ b/console-ui/src/views/app/email/EmailApp.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/console-ui/src/views/app/email/components/EmailCompose.vue b/console-ui/src/views/app/email/components/EmailCompose.vue new file mode 100644 index 0000000..108b8fb --- /dev/null +++ b/console-ui/src/views/app/email/components/EmailCompose.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/console-ui/src/views/app/email/components/EmailEditor.vue b/console-ui/src/views/app/email/components/EmailEditor.vue new file mode 100644 index 0000000..52a96df --- /dev/null +++ b/console-ui/src/views/app/email/components/EmailEditor.vue @@ -0,0 +1,14 @@ + + + + + + diff --git a/console-ui/src/views/app/email/components/EmailInput.vue b/console-ui/src/views/app/email/components/EmailInput.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/app/email/components/EmailInput.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/email/components/EmailList.vue b/console-ui/src/views/app/email/components/EmailList.vue new file mode 100644 index 0000000..ee74ffd --- /dev/null +++ b/console-ui/src/views/app/email/components/EmailList.vue @@ -0,0 +1,125 @@ + + + + + + diff --git a/console-ui/src/views/app/email/components/EmailMenu.vue b/console-ui/src/views/app/email/components/EmailMenu.vue new file mode 100644 index 0000000..a1fed49 --- /dev/null +++ b/console-ui/src/views/app/email/components/EmailMenu.vue @@ -0,0 +1,94 @@ + + + + + + diff --git a/console-ui/src/views/app/email/emailData.ts b/console-ui/src/views/app/email/emailData.ts new file mode 100644 index 0000000..be2d492 --- /dev/null +++ b/console-ui/src/views/app/email/emailData.ts @@ -0,0 +1,78 @@ +export type Email = { + id: number; + read: boolean; + starred: boolean; + time: string; + subject: string; + title: string; + content: string; + labels: string[]; +}; + +export const inboxList: Email[] = [ + { + id: 1, + read: false, + starred: true, + time: "15 min", + subject: "Brunch this weekend?", + title: "Ali Connors", + content: + "I'll be in your neighborhood doing errands this weekend. Do you want to hang out?", + labels: ["work"], + }, + { + id: 2, + read: false, + starred: false, + time: "2 hr", + subject: "Summer BBQ", + title: "me, Scrott, Jennifer", + content: "Wish I could come, but I'm out of town this weekend.", + labels: [], + }, + { + id: 3, + read: false, + starred: false, + time: "6 hr", + subject: "Oui oui", + title: "Sandra Adams", + content: "Do you have Paris recommendations? Have you ever been?", + labels: ["work", "invoice"], + }, + { + id: 4, + read: true, + starred: false, + time: "12 hr", + subject: "Birthday gift", + title: "Trevor Hansen", + content: "Have any ideas about what we should get Heidi for her birthday?", + labels: [], + }, + { + id: 5, + read: true, + starred: true, + time: "18hr", + subject: "Recipe to try", + title: "Britta Holt", + content: "We should eat this: Grate, Squash, Corn, and tomatillo Tacos.", + labels: ["invoice"], + }, +]; + +export const starredList: Email[] = [ + { + id: 1, + read: false, + starred: true, + time: "15 min", + subject: "Brunch this weekend?", + title: "Ali Connors", + content: + "I'll be in your neighborhood doing errands this weekend. Do you want to hang out?", + labels: ["work"], + }, +]; diff --git a/console-ui/src/views/app/email/emailRoutes.ts b/console-ui/src/views/app/email/emailRoutes.ts new file mode 100644 index 0000000..6e7f29f --- /dev/null +++ b/console-ui/src/views/app/email/emailRoutes.ts @@ -0,0 +1,54 @@ +export default [ + { + path: "", + redirect: "/apps/email/inbox", + }, + { + path: "inbox", + name: "apps-email-inbox", + component: () => + import( + /* webpackChunkName: "apps-email-inbox" */ "@/views/app/email/pages/InboxPage.vue" + ), + }, + { + path: "send", + name: "apps-email-send", + component: () => + import( + /* webpackChunkName: "apps-email-send" */ "@/views/app/email/pages/SendPage.vue" + ), + }, + { + path: "drafts", + name: "apps-email-drafts", + component: () => + import( + /* webpackChunkName: "apps-email-drafts" */ "@/views/app/email/pages/DraftsPage.vue" + ), + }, + { + path: "starred", + name: "apps-email-starred", + component: () => + import( + /* webpackChunkName: "apps-email-starred" */ "@/views/app/email/pages/StarredPage.vue" + ), + }, + { + path: "trash", + name: "apps-email-trash", + component: () => + import( + /* webpackChunkName: "apps-email-trash" */ "@/views/app/email/pages/TrashPage.vue" + ), + }, + { + path: "inbox/:id", + name: "apps-email-view", + component: () => + import( + /* webpackChunkName: "apps-email-view" */ "@/views/app/email/pages/ViewPage.vue" + ), + }, +]; diff --git a/console-ui/src/views/app/email/emailStore.ts b/console-ui/src/views/app/email/emailStore.ts new file mode 100644 index 0000000..50710eb --- /dev/null +++ b/console-ui/src/views/app/email/emailStore.ts @@ -0,0 +1,70 @@ +import { defineStore } from "pinia"; +import { Email } from "./emailTypes"; +import { inboxList, starredList } from "./emailData"; + +export const useEmailStore = defineStore({ + id: "email", + state: () => ({ + inbox: inboxList, + starred: starredList, + currentLabel: "work", + labels: [ + { + id: "work", + title: "Work", + color: "primary", + }, + { + id: "relaxation", + title: "Relaxation", + color: "green", + }, + { + id: "shopping", + title: "Shopping", + color: "teal", + }, + ], + }), + + // persist: { + // enabled: true, + // strategies: [ + // { + // storage: localStorage, + // paths: ["todoList"], + // }, + // ], + // }, + + getters: { + getInboxList() { + return this.inbox; + }, + + getStarredList() { + return this.starred; + }, + }, + actions: { + // Add new todo + addNewEmail(todo: Email) { + const newEmail = { + id: "_" + Math.random().toString(36).substring(2, 11), + ...todo, + }; + this.inbox.push(newEmail); + }, + // update todo + updateEmail(todo: Email) { + const index = this.inbox.findIndex((item: Email) => item.id === todo.id); + this.inbox.splice(index, 1, todo); + }, + + // Delete todo By Id + deleteEmailById(todoId: number) { + const index = this.inbox.findIndex((todo: Email) => todo.id === todoId); + this.inbox.splice(index, 1); + }, + }, +}); diff --git a/console-ui/src/views/app/email/emailTypes.ts b/console-ui/src/views/app/email/emailTypes.ts new file mode 100644 index 0000000..49511dd --- /dev/null +++ b/console-ui/src/views/app/email/emailTypes.ts @@ -0,0 +1,10 @@ +export type Email = { + id: number; + read: boolean; + starred: boolean; + time: string; + subject: string; + title: string; + content: string; + labels: string[]; +}; diff --git a/console-ui/src/views/app/email/pages/DraftsPage.vue b/console-ui/src/views/app/email/pages/DraftsPage.vue new file mode 100644 index 0000000..13c13df --- /dev/null +++ b/console-ui/src/views/app/email/pages/DraftsPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/email/pages/InboxPage.vue b/console-ui/src/views/app/email/pages/InboxPage.vue new file mode 100644 index 0000000..13c13df --- /dev/null +++ b/console-ui/src/views/app/email/pages/InboxPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/email/pages/SendPage.vue b/console-ui/src/views/app/email/pages/SendPage.vue new file mode 100644 index 0000000..13c13df --- /dev/null +++ b/console-ui/src/views/app/email/pages/SendPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/email/pages/StarredPage.vue b/console-ui/src/views/app/email/pages/StarredPage.vue new file mode 100644 index 0000000..13c13df --- /dev/null +++ b/console-ui/src/views/app/email/pages/StarredPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/email/pages/TrashPage.vue b/console-ui/src/views/app/email/pages/TrashPage.vue new file mode 100644 index 0000000..13c13df --- /dev/null +++ b/console-ui/src/views/app/email/pages/TrashPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/email/pages/ViewPage.vue b/console-ui/src/views/app/email/pages/ViewPage.vue new file mode 100644 index 0000000..50fafdc --- /dev/null +++ b/console-ui/src/views/app/email/pages/ViewPage.vue @@ -0,0 +1,100 @@ + + + + + + diff --git a/console-ui/src/views/app/ikea/IkeaApp.vue b/console-ui/src/views/app/ikea/IkeaApp.vue new file mode 100644 index 0000000..51da39c --- /dev/null +++ b/console-ui/src/views/app/ikea/IkeaApp.vue @@ -0,0 +1,81 @@ + + + + + + diff --git a/console-ui/src/views/app/ikea/component/IkeaFooter.vue b/console-ui/src/views/app/ikea/component/IkeaFooter.vue new file mode 100644 index 0000000..95bc7ee --- /dev/null +++ b/console-ui/src/views/app/ikea/component/IkeaFooter.vue @@ -0,0 +1,285 @@ + + + + + + diff --git a/console-ui/src/views/app/nitori/NitoriApp.vue b/console-ui/src/views/app/nitori/NitoriApp.vue new file mode 100644 index 0000000..ae4aeab --- /dev/null +++ b/console-ui/src/views/app/nitori/NitoriApp.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/TodoApp.vue b/console-ui/src/views/app/todo/TodoApp.vue new file mode 100644 index 0000000..e3cedd1 --- /dev/null +++ b/console-ui/src/views/app/todo/TodoApp.vue @@ -0,0 +1,59 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/component/TodoCard.vue b/console-ui/src/views/app/todo/component/TodoCard.vue new file mode 100644 index 0000000..11d15ac --- /dev/null +++ b/console-ui/src/views/app/todo/component/TodoCard.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/component/TodoList.vue b/console-ui/src/views/app/todo/component/TodoList.vue new file mode 100644 index 0000000..44654c0 --- /dev/null +++ b/console-ui/src/views/app/todo/component/TodoList.vue @@ -0,0 +1,117 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/component/TodoMenu.vue b/console-ui/src/views/app/todo/component/TodoMenu.vue new file mode 100644 index 0000000..2b7b4dd --- /dev/null +++ b/console-ui/src/views/app/todo/component/TodoMenu.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/pages/CompletedPage.vue b/console-ui/src/views/app/todo/pages/CompletedPage.vue new file mode 100644 index 0000000..9325769 --- /dev/null +++ b/console-ui/src/views/app/todo/pages/CompletedPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/pages/LabelPage.vue b/console-ui/src/views/app/todo/pages/LabelPage.vue new file mode 100644 index 0000000..5852f3a --- /dev/null +++ b/console-ui/src/views/app/todo/pages/LabelPage.vue @@ -0,0 +1,25 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/pages/TasksPage.vue b/console-ui/src/views/app/todo/pages/TasksPage.vue new file mode 100644 index 0000000..533e7c9 --- /dev/null +++ b/console-ui/src/views/app/todo/pages/TasksPage.vue @@ -0,0 +1,16 @@ + + + + + + diff --git a/console-ui/src/views/app/todo/todoRoutes.ts b/console-ui/src/views/app/todo/todoRoutes.ts new file mode 100644 index 0000000..016147c --- /dev/null +++ b/console-ui/src/views/app/todo/todoRoutes.ts @@ -0,0 +1,30 @@ +export default [ + { + path: "", + redirect: "/apps/todo/tasks", + }, + { + path: "tasks", + name: "apps-todo-tasks", + component: () => + import( + /* webpackChunkName: "apps-todo-tasks" */ "@/views/app/todo/pages/TasksPage.vue" + ), + }, + { + path: "completed", + name: "apps-todo-completed", + component: () => + import( + /* webpackChunkName: "apps-todo-completed" */ "@/views/app/todo/pages/CompletedPage.vue" + ), + }, + { + path: "label/:id", + name: "apps-todo-label", + component: () => + import( + /* webpackChunkName: "apps-todo-label" */ "@/views/app/todo/pages/LabelPage.vue" + ), + }, +]; diff --git a/console-ui/src/views/app/todo/todoStore.ts b/console-ui/src/views/app/todo/todoStore.ts new file mode 100644 index 0000000..6853f9f --- /dev/null +++ b/console-ui/src/views/app/todo/todoStore.ts @@ -0,0 +1,148 @@ +import { defineStore } from "pinia"; +import { Todo } from "./todoTypes"; + +const todos = [ + { + id: 1, + title: "Write a report", + detail: "Draft the quarterly update for the team", + completed: false, + tags: ["work"], + }, + { + id: 2, + title: "Attend a meeting", + detail: "Join the conference call with the client", + completed: false, + tags: ["work"], + }, + { + id: 3, + title: "Complete a project", + detail: "Finish the coding task before the deadline", + completed: false, + tags: ["work"], + }, + { + id: 4, + title: "Take a walk", + detail: "Explore the park and enjoy the nature", + completed: false, + tags: ["relaxation"], + }, + { + id: 5, + title: "Meditate", + detail: "Practice mindfulness for 15 minutes", + completed: true, + tags: ["relaxation"], + }, + { + id: 6, + title: "Watch a movie", + detail: "Stream a comedy to lighten the mood", + completed: true, + tags: ["relaxation"], + }, + { + id: 7, + title: "Buy groceries", + detail: "Stock up on fruits, vegetables, and snacks", + completed: true, + tags: ["shopping"], + }, + { + id: 8, + title: "Shop for clothes", + detail: "Look for a new outfit for the weekend", + completed: false, + tags: ["shopping"], + }, + { + id: 9, + title: "Order supplies", + detail: "Get some office essentials for the team", + completed: false, + tags: ["shopping", "relaxation"], + }, + { + id: 10, + title: "Buy gifts", + detail: "Get presents for friends and family", + completed: false, + tags: ["shopping", "relaxation"], + }, +]; + +export const useTodoStore = defineStore({ + id: "todo", + state: () => ({ + todList: todos, + currentLabel: "work", + labels: [ + { + id: "work", + title: "Work", + color: "orange", + }, + { + id: "relaxation", + title: "Relaxation", + color: "green", + }, + { + id: "shopping", + title: "Shopping", + color: "blue", + }, + ], + }), + + // persist: { + // enabled: true, + // strategies: [ + // { + // storage: localStorage, + // paths: ["todoList"], + // }, + // ], + // }, + + getters: { + // Full list of todos + getTodoList() { + return this.todList.filter((todo: Todo) => !todo.completed); + }, + + // Completed todos + getCompletedTodos() { + return this.todList.filter((todo: Todo) => todo.completed); + }, + + // Specific Label todos + getLabelTodos() { + return this.todList.filter( + (todo: Todo) => + todo.tags && todo.tags.includes(this.currentLabel) && !todo.completed + ); + }, + }, + actions: { + // Add new todo + addNewTodo(todo: Todo) { + todo.id = "_" + Math.random().toString(36).substring(2, 11); + this.todList.push(todo); + }, + // update todo + updateTodo(todo: Todo) { + const index = this.todList.findIndex((item: Todo) => item.id === todo.id); + this.todList.splice(index, 1, todo); + }, + + // Delete todo By Id + deleteTodoById(todoId: string) { + const index = this.todList.findIndex((todo: Todo) => todo.id === todoId); + this.todList.splice(index, 1); + }, + }, +}); diff --git a/console-ui/src/views/app/todo/todoTypes.ts b/console-ui/src/views/app/todo/todoTypes.ts new file mode 100644 index 0000000..4a0c8cd --- /dev/null +++ b/console-ui/src/views/app/todo/todoTypes.ts @@ -0,0 +1,7 @@ +export interface Todo { + id: string; + title: string; + detail: string; + completed: boolean; + tags: string[]; +} diff --git a/console-ui/src/views/app/unsplash/CollectionPage.vue b/console-ui/src/views/app/unsplash/CollectionPage.vue new file mode 100644 index 0000000..331e499 --- /dev/null +++ b/console-ui/src/views/app/unsplash/CollectionPage.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/MyPage.vue b/console-ui/src/views/app/unsplash/MyPage.vue new file mode 100644 index 0000000..92b5d3e --- /dev/null +++ b/console-ui/src/views/app/unsplash/MyPage.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/PhotoDetailModal.vue b/console-ui/src/views/app/unsplash/PhotoDetailModal.vue new file mode 100644 index 0000000..ed68dc4 --- /dev/null +++ b/console-ui/src/views/app/unsplash/PhotoDetailModal.vue @@ -0,0 +1,216 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/PhotosPage.vue b/console-ui/src/views/app/unsplash/PhotosPage.vue new file mode 100644 index 0000000..99ac99c --- /dev/null +++ b/console-ui/src/views/app/unsplash/PhotosPage.vue @@ -0,0 +1,618 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/UnsplashApp.vue b/console-ui/src/views/app/unsplash/UnsplashApp.vue new file mode 100644 index 0000000..dc656f1 --- /dev/null +++ b/console-ui/src/views/app/unsplash/UnsplashApp.vue @@ -0,0 +1,22 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/UnsplashRoutes.ts b/console-ui/src/views/app/unsplash/UnsplashRoutes.ts new file mode 100644 index 0000000..bd9f32f --- /dev/null +++ b/console-ui/src/views/app/unsplash/UnsplashRoutes.ts @@ -0,0 +1,34 @@ +export default [ + { + path: "", + // redirect: "photos", + component: () => + import( + /* webpackChunkName: "unsplash-photos" */ "@/views/app/unsplash/PhotosPage.vue" + ), + }, + { + path: "user/:username", + name: "unsplash-user", + component: () => + import( + /* webpackChunkName: "unsplash-user" */ "@/views/app/unsplash/UserPage.vue" + ), + }, + { + path: "collection/:id", + name: "unsplash-collection", + component: () => + import( + /* webpackChunkName: "unsplash-collection" */ "@/views/app/unsplash/CollectionPage.vue" + ), + }, + { + path: "my-page", + name: "unsplash-my-page", + component: () => + import( + /* webpackChunkName: "unsplash-my-page" */ "@/views/app/unsplash/MyPage.vue" + ), + }, +]; diff --git a/console-ui/src/views/app/unsplash/UserPage.vue b/console-ui/src/views/app/unsplash/UserPage.vue new file mode 100644 index 0000000..635c612 --- /dev/null +++ b/console-ui/src/views/app/unsplash/UserPage.vue @@ -0,0 +1,255 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/CollectionCard.vue b/console-ui/src/views/app/unsplash/components/CollectionCard.vue new file mode 100644 index 0000000..e0cad15 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/CollectionCard.vue @@ -0,0 +1,100 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/FavoriteCard.vue b/console-ui/src/views/app/unsplash/components/FavoriteCard.vue new file mode 100644 index 0000000..185a729 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/FavoriteCard.vue @@ -0,0 +1,80 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/PhotoCard.vue b/console-ui/src/views/app/unsplash/components/PhotoCard.vue new file mode 100644 index 0000000..143a767 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/PhotoCard.vue @@ -0,0 +1,169 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/PhotoInfoChartCard.vue b/console-ui/src/views/app/unsplash/components/PhotoInfoChartCard.vue new file mode 100644 index 0000000..f982a75 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/PhotoInfoChartCard.vue @@ -0,0 +1,177 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/SearchDetailCard.vue b/console-ui/src/views/app/unsplash/components/SearchDetailCard.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/SearchDetailCard.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/components/UserCard.vue b/console-ui/src/views/app/unsplash/components/UserCard.vue new file mode 100644 index 0000000..e1da072 --- /dev/null +++ b/console-ui/src/views/app/unsplash/components/UserCard.vue @@ -0,0 +1,101 @@ + + + + + + diff --git a/console-ui/src/views/app/unsplash/unsplashConfig.ts b/console-ui/src/views/app/unsplash/unsplashConfig.ts new file mode 100644 index 0000000..b926251 --- /dev/null +++ b/console-ui/src/views/app/unsplash/unsplashConfig.ts @@ -0,0 +1,8 @@ +export const BASE_URL = "https://api.unsplash.com/"; +export const ACCESS_KEY = "mfB0t1DgccWtivNuh8KD06FMIZcun7vE_x_BSYQrfq8"; + +export const config = { + headers: { + Authorization: "Client-ID" + " " + ACCESS_KEY, + }, +}; diff --git a/console-ui/src/views/app/unsplash/unsplashStore.ts b/console-ui/src/views/app/unsplash/unsplashStore.ts new file mode 100644 index 0000000..5b10eb2 --- /dev/null +++ b/console-ui/src/views/app/unsplash/unsplashStore.ts @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import { Photo } from "./unsplashTypes"; + +export const useUnsplashStore = defineStore({ + id: "upsplash", + state: () => ({ + favoriteList: ref([]), + }), + + persist: { + enabled: true, + strategies: [{ storage: localStorage, paths: ["favoriteList"] }], + }, + + getters: {}, + actions: { + addToFavorite(payload: Photo) { + this.favoriteList.push(payload); + }, + + // This function will remove a photo from the favorite list. + removeFromFavorite(payload: Photo) { + // Find the index of the photo in the favorite list. + const index = this.favoriteList.findIndex( + (item) => item.id == payload.id + ); + // If the photo exists in the favorite list, remove it. + if (index > -1) { + this.favoriteList.splice(index, 1); + } + }, + }, +}); diff --git a/console-ui/src/views/app/unsplash/unsplashTypes.ts b/console-ui/src/views/app/unsplash/unsplashTypes.ts new file mode 100644 index 0000000..6736fce --- /dev/null +++ b/console-ui/src/views/app/unsplash/unsplashTypes.ts @@ -0,0 +1,72 @@ +export interface Photo { + id: string; + created_at: Date; + updated_at: Date; + promoted_at?: Date; + width: number; + height: number; + color: string; + blur_hash: string; + description: string; + alt_description: string; + urls: any; + links: any; + likes: number; + liked_by_user: boolean; + current_user_collections: any[]; + sponsorship?: any; + topic_submissions: any; + user: User; + tags_preview: any[]; +} + +export interface Collection { + id: string; + title: string; + description: string; + published_at: Date; + last_collected_at: Date; + updated_at: Date; + curated: boolean; + featured: boolean; + total_photos: number[]; + private: boolean; + share_key: string; + tags: any[]; + links: any; + user: User; + cover_photo: any; + preview_photos: any[]; +} + +export interface User { + id: string; + updated_at: Date; + username: string; + name: string; + first_name: string; + last_name: string; + twitter_username: string; + portfolio_url: string; + bio: string; + location: string; + links: any; + profile_image: any; + instagram_username: string; + total_collections: number; + total_likes: number; + total_photos: number; + accepted_tos: boolean; + for_hire: boolean; + social: any; + followed_by_user: boolean; + photos: any[]; + badge: any; + tags: any; + followers_count: number; + following_count: number; + allow_messages: boolean; + numeric_id: number; + downloads: number; + meta: any; +} diff --git a/console-ui/src/views/auth/ForgotPage.vue b/console-ui/src/views/auth/ForgotPage.vue new file mode 100644 index 0000000..93bb6fa --- /dev/null +++ b/console-ui/src/views/auth/ForgotPage.vue @@ -0,0 +1,3 @@ + diff --git a/console-ui/src/views/auth/ResetPage.vue b/console-ui/src/views/auth/ResetPage.vue new file mode 100644 index 0000000..4f79de4 --- /dev/null +++ b/console-ui/src/views/auth/ResetPage.vue @@ -0,0 +1,3 @@ + diff --git a/console-ui/src/views/auth/SigninPage.vue b/console-ui/src/views/auth/SigninPage.vue new file mode 100644 index 0000000..d24a106 --- /dev/null +++ b/console-ui/src/views/auth/SigninPage.vue @@ -0,0 +1,174 @@ + + diff --git a/console-ui/src/views/auth/SignupPage.vue b/console-ui/src/views/auth/SignupPage.vue new file mode 100644 index 0000000..aeb46b3 --- /dev/null +++ b/console-ui/src/views/auth/SignupPage.vue @@ -0,0 +1,190 @@ + + diff --git a/console-ui/src/views/auth/VerifyEmailPage.vue b/console-ui/src/views/auth/VerifyEmailPage.vue new file mode 100644 index 0000000..0b859fe --- /dev/null +++ b/console-ui/src/views/auth/VerifyEmailPage.vue @@ -0,0 +1,66 @@ + + + + diff --git a/console-ui/src/views/chart/ApexCharts.vue b/console-ui/src/views/chart/ApexCharts.vue new file mode 100644 index 0000000..db32147 --- /dev/null +++ b/console-ui/src/views/chart/ApexCharts.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/console-ui/src/views/chart/EchartBar.vue b/console-ui/src/views/chart/EchartBar.vue new file mode 100644 index 0000000..0a6077a --- /dev/null +++ b/console-ui/src/views/chart/EchartBar.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/console-ui/src/views/chart/EchartLine.vue b/console-ui/src/views/chart/EchartLine.vue new file mode 100644 index 0000000..50f0937 --- /dev/null +++ b/console-ui/src/views/chart/EchartLine.vue @@ -0,0 +1,183 @@ + +\ + + + diff --git a/console-ui/src/views/chart/EchartOthers.vue b/console-ui/src/views/chart/EchartOthers.vue new file mode 100644 index 0000000..709b5c4 --- /dev/null +++ b/console-ui/src/views/chart/EchartOthers.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/chart/EchartPie.vue b/console-ui/src/views/chart/EchartPie.vue new file mode 100644 index 0000000..d2d9db4 --- /dev/null +++ b/console-ui/src/views/chart/EchartPie.vue @@ -0,0 +1,123 @@ + +\ + + + diff --git a/console-ui/src/views/chart/EchartScatter.vue b/console-ui/src/views/chart/EchartScatter.vue new file mode 100644 index 0000000..cc19392 --- /dev/null +++ b/console-ui/src/views/chart/EchartScatter.vue @@ -0,0 +1,203 @@ + +\ + + + diff --git a/console-ui/src/views/chart/component/BarChart1.vue b/console-ui/src/views/chart/component/BarChart1.vue new file mode 100644 index 0000000..2b76223 --- /dev/null +++ b/console-ui/src/views/chart/component/BarChart1.vue @@ -0,0 +1,148 @@ + +\ + + + diff --git a/console-ui/src/views/chart/component/BarChart2.vue b/console-ui/src/views/chart/component/BarChart2.vue new file mode 100644 index 0000000..a227099 --- /dev/null +++ b/console-ui/src/views/chart/component/BarChart2.vue @@ -0,0 +1,123 @@ + +\ + + + diff --git a/console-ui/src/views/chatgpt/ChatBotV1.vue b/console-ui/src/views/chatgpt/ChatBotV1.vue new file mode 100644 index 0000000..03db7a1 --- /dev/null +++ b/console-ui/src/views/chatgpt/ChatBotV1.vue @@ -0,0 +1,212 @@ + + + + + + diff --git a/console-ui/src/views/chatgpt/ChatBotV2.vue b/console-ui/src/views/chatgpt/ChatBotV2.vue new file mode 100644 index 0000000..4320303 --- /dev/null +++ b/console-ui/src/views/chatgpt/ChatBotV2.vue @@ -0,0 +1,214 @@ + + + + + + diff --git a/console-ui/src/views/datatable/CollectionsDataPage.vue b/console-ui/src/views/datatable/CollectionsDataPage.vue new file mode 100644 index 0000000..7839825 --- /dev/null +++ b/console-ui/src/views/datatable/CollectionsDataPage.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/console-ui/src/views/datatable/ExpendDataPage.vue b/console-ui/src/views/datatable/ExpendDataPage.vue new file mode 100644 index 0000000..316fb63 --- /dev/null +++ b/console-ui/src/views/datatable/ExpendDataPage.vue @@ -0,0 +1,132 @@ + + + + + + diff --git a/console-ui/src/views/datatable/PhotosDataPage.vue b/console-ui/src/views/datatable/PhotosDataPage.vue new file mode 100644 index 0000000..7ad367d --- /dev/null +++ b/console-ui/src/views/datatable/PhotosDataPage.vue @@ -0,0 +1,172 @@ + + + + + + diff --git a/console-ui/src/views/datatable/TopicPhotosDataPage.vue b/console-ui/src/views/datatable/TopicPhotosDataPage.vue new file mode 100644 index 0000000..1705aab --- /dev/null +++ b/console-ui/src/views/datatable/TopicPhotosDataPage.vue @@ -0,0 +1,176 @@ + + + + + + diff --git a/console-ui/src/views/datatable/TopicsDataPage.vue b/console-ui/src/views/datatable/TopicsDataPage.vue new file mode 100644 index 0000000..f0817f6 --- /dev/null +++ b/console-ui/src/views/datatable/TopicsDataPage.vue @@ -0,0 +1,126 @@ + + + + + + diff --git a/console-ui/src/views/datatable/UsersDataPage.vue b/console-ui/src/views/datatable/UsersDataPage.vue new file mode 100644 index 0000000..a7ad5bc --- /dev/null +++ b/console-ui/src/views/datatable/UsersDataPage.vue @@ -0,0 +1,176 @@ + + + + diff --git a/console-ui/src/views/errors/NotFoundPage.vue b/console-ui/src/views/errors/NotFoundPage.vue new file mode 100644 index 0000000..afbcb9c --- /dev/null +++ b/console-ui/src/views/errors/NotFoundPage.vue @@ -0,0 +1,18 @@ + + diff --git a/console-ui/src/views/errors/UnexpectedPage.vue b/console-ui/src/views/errors/UnexpectedPage.vue new file mode 100644 index 0000000..94cf8e0 --- /dev/null +++ b/console-ui/src/views/errors/UnexpectedPage.vue @@ -0,0 +1,18 @@ + diff --git a/console-ui/src/views/landing/HomePage.vue b/console-ui/src/views/landing/HomePage.vue new file mode 100644 index 0000000..02e8ee8 --- /dev/null +++ b/console-ui/src/views/landing/HomePage.vue @@ -0,0 +1,396 @@ + + + + + diff --git a/console-ui/src/views/landing/action/ActionPage.vue b/console-ui/src/views/landing/action/ActionPage.vue new file mode 100644 index 0000000..7769a3d --- /dev/null +++ b/console-ui/src/views/landing/action/ActionPage.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/console-ui/src/views/landing/action/components/CallToAction1.vue b/console-ui/src/views/landing/action/components/CallToAction1.vue new file mode 100644 index 0000000..93492f7 --- /dev/null +++ b/console-ui/src/views/landing/action/components/CallToAction1.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/console-ui/src/views/landing/action/components/CallToAction2.vue b/console-ui/src/views/landing/action/components/CallToAction2.vue new file mode 100644 index 0000000..7e574d2 --- /dev/null +++ b/console-ui/src/views/landing/action/components/CallToAction2.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/console-ui/src/views/landing/action/components/CallToAction3.vue b/console-ui/src/views/landing/action/components/CallToAction3.vue new file mode 100644 index 0000000..0946996 --- /dev/null +++ b/console-ui/src/views/landing/action/components/CallToAction3.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/console-ui/src/views/landing/action/components/CallToAction4.vue b/console-ui/src/views/landing/action/components/CallToAction4.vue new file mode 100644 index 0000000..6ac1777 --- /dev/null +++ b/console-ui/src/views/landing/action/components/CallToAction4.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/CardPage.vue b/console-ui/src/views/landing/card/CardPage.vue new file mode 100644 index 0000000..543e6f8 --- /dev/null +++ b/console-ui/src/views/landing/card/CardPage.vue @@ -0,0 +1,48 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card1.vue b/console-ui/src/views/landing/card/components/Card1.vue new file mode 100644 index 0000000..91625ba --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card1.vue @@ -0,0 +1,84 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card2.vue b/console-ui/src/views/landing/card/components/Card2.vue new file mode 100644 index 0000000..63f1c26 --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card2.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card3.vue b/console-ui/src/views/landing/card/components/Card3.vue new file mode 100644 index 0000000..0539bd0 --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card3.vue @@ -0,0 +1,175 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card4.vue b/console-ui/src/views/landing/card/components/Card4.vue new file mode 100644 index 0000000..cc3d594 --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card4.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card5.vue b/console-ui/src/views/landing/card/components/Card5.vue new file mode 100644 index 0000000..5fdf9e8 --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card5.vue @@ -0,0 +1,59 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card6.vue b/console-ui/src/views/landing/card/components/Card6.vue new file mode 100644 index 0000000..e472146 --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card6.vue @@ -0,0 +1,106 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card7.vue b/console-ui/src/views/landing/card/components/Card7.vue new file mode 100644 index 0000000..ed0040a --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card7.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/console-ui/src/views/landing/card/components/Card8.vue b/console-ui/src/views/landing/card/components/Card8.vue new file mode 100644 index 0000000..dd5f57a --- /dev/null +++ b/console-ui/src/views/landing/card/components/Card8.vue @@ -0,0 +1,64 @@ + + + + + + diff --git a/console-ui/src/views/landing/faq/FQAPage.vue b/console-ui/src/views/landing/faq/FQAPage.vue new file mode 100644 index 0000000..628cf47 --- /dev/null +++ b/console-ui/src/views/landing/faq/FQAPage.vue @@ -0,0 +1,32 @@ + + + + + + diff --git a/console-ui/src/views/landing/faq/components/FAQ1.vue b/console-ui/src/views/landing/faq/components/FAQ1.vue new file mode 100644 index 0000000..557eb2a --- /dev/null +++ b/console-ui/src/views/landing/faq/components/FAQ1.vue @@ -0,0 +1,166 @@ + + + + + + diff --git a/console-ui/src/views/landing/faq/components/FAQ2.vue b/console-ui/src/views/landing/faq/components/FAQ2.vue new file mode 100644 index 0000000..0aa2e54 --- /dev/null +++ b/console-ui/src/views/landing/faq/components/FAQ2.vue @@ -0,0 +1,24 @@ + + + + + + diff --git a/console-ui/src/views/landing/faq/components/FAQ3.vue b/console-ui/src/views/landing/faq/components/FAQ3.vue new file mode 100644 index 0000000..33ece38 --- /dev/null +++ b/console-ui/src/views/landing/faq/components/FAQ3.vue @@ -0,0 +1,24 @@ + + + + + + diff --git a/console-ui/src/views/landing/faq/components/FAQ4.vue b/console-ui/src/views/landing/faq/components/FAQ4.vue new file mode 100644 index 0000000..c4370dc --- /dev/null +++ b/console-ui/src/views/landing/faq/components/FAQ4.vue @@ -0,0 +1,24 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/Feature.vue b/console-ui/src/views/landing/feature/Feature.vue new file mode 100644 index 0000000..966fb3a --- /dev/null +++ b/console-ui/src/views/landing/feature/Feature.vue @@ -0,0 +1,42 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/components/Feature1.vue b/console-ui/src/views/landing/feature/components/Feature1.vue new file mode 100644 index 0000000..ce5a839 --- /dev/null +++ b/console-ui/src/views/landing/feature/components/Feature1.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/components/Feature2.vue b/console-ui/src/views/landing/feature/components/Feature2.vue new file mode 100644 index 0000000..880d9aa --- /dev/null +++ b/console-ui/src/views/landing/feature/components/Feature2.vue @@ -0,0 +1,62 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/components/Feature3.vue b/console-ui/src/views/landing/feature/components/Feature3.vue new file mode 100644 index 0000000..9beb8a3 --- /dev/null +++ b/console-ui/src/views/landing/feature/components/Feature3.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/components/Feature4.vue b/console-ui/src/views/landing/feature/components/Feature4.vue new file mode 100644 index 0000000..f7fac59 --- /dev/null +++ b/console-ui/src/views/landing/feature/components/Feature4.vue @@ -0,0 +1,89 @@ + + + + + + diff --git a/console-ui/src/views/landing/feature/components/Feature5.vue b/console-ui/src/views/landing/feature/components/Feature5.vue new file mode 100644 index 0000000..0b7d9e7 --- /dev/null +++ b/console-ui/src/views/landing/feature/components/Feature5.vue @@ -0,0 +1,76 @@ + + + + + + diff --git a/console-ui/src/views/landing/footer/FooterPage.vue b/console-ui/src/views/landing/footer/FooterPage.vue new file mode 100644 index 0000000..a59b749 --- /dev/null +++ b/console-ui/src/views/landing/footer/FooterPage.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/console-ui/src/views/landing/footer/components/Footer1.vue b/console-ui/src/views/landing/footer/components/Footer1.vue new file mode 100644 index 0000000..c216c8d --- /dev/null +++ b/console-ui/src/views/landing/footer/components/Footer1.vue @@ -0,0 +1,143 @@ + + + + + + diff --git a/console-ui/src/views/landing/footer/components/Footer2.vue b/console-ui/src/views/landing/footer/components/Footer2.vue new file mode 100644 index 0000000..aec6438 --- /dev/null +++ b/console-ui/src/views/landing/footer/components/Footer2.vue @@ -0,0 +1,103 @@ + + + + + + diff --git a/console-ui/src/views/landing/footer/components/Footer3.vue b/console-ui/src/views/landing/footer/components/Footer3.vue new file mode 100644 index 0000000..8ee1943 --- /dev/null +++ b/console-ui/src/views/landing/footer/components/Footer3.vue @@ -0,0 +1,161 @@ + + + + + + diff --git a/console-ui/src/views/landing/footer/components/Footer4.vue b/console-ui/src/views/landing/footer/components/Footer4.vue new file mode 100644 index 0000000..3152cd1 --- /dev/null +++ b/console-ui/src/views/landing/footer/components/Footer4.vue @@ -0,0 +1,149 @@ + + + + + + diff --git a/console-ui/src/views/landing/hero/HeroPage.vue b/console-ui/src/views/landing/hero/HeroPage.vue new file mode 100644 index 0000000..c629423 --- /dev/null +++ b/console-ui/src/views/landing/hero/HeroPage.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/console-ui/src/views/landing/hero/components/Hero1.vue b/console-ui/src/views/landing/hero/components/Hero1.vue new file mode 100644 index 0000000..e5b4619 --- /dev/null +++ b/console-ui/src/views/landing/hero/components/Hero1.vue @@ -0,0 +1,55 @@ + + + + + + diff --git a/console-ui/src/views/landing/hero/components/Hero2.vue b/console-ui/src/views/landing/hero/components/Hero2.vue new file mode 100644 index 0000000..f8e3a45 --- /dev/null +++ b/console-ui/src/views/landing/hero/components/Hero2.vue @@ -0,0 +1,74 @@ + + + + + + diff --git a/console-ui/src/views/landing/hero/components/Hero3.vue b/console-ui/src/views/landing/hero/components/Hero3.vue new file mode 100644 index 0000000..f86c0c7 --- /dev/null +++ b/console-ui/src/views/landing/hero/components/Hero3.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/console-ui/src/views/landing/hero/components/Hero4.vue b/console-ui/src/views/landing/hero/components/Hero4.vue new file mode 100644 index 0000000..60ccfc2 --- /dev/null +++ b/console-ui/src/views/landing/hero/components/Hero4.vue @@ -0,0 +1,69 @@ + + + + + + diff --git a/console-ui/src/views/landing/logos/LogosPage.vue b/console-ui/src/views/landing/logos/LogosPage.vue new file mode 100644 index 0000000..2999d20 --- /dev/null +++ b/console-ui/src/views/landing/logos/LogosPage.vue @@ -0,0 +1,34 @@ + + + + + + diff --git a/console-ui/src/views/landing/logos/components/Logos1.vue b/console-ui/src/views/landing/logos/components/Logos1.vue new file mode 100644 index 0000000..e5a1498 --- /dev/null +++ b/console-ui/src/views/landing/logos/components/Logos1.vue @@ -0,0 +1,37 @@ + + + + + + diff --git a/console-ui/src/views/landing/logos/components/Logos2.vue b/console-ui/src/views/landing/logos/components/Logos2.vue new file mode 100644 index 0000000..e5a1498 --- /dev/null +++ b/console-ui/src/views/landing/logos/components/Logos2.vue @@ -0,0 +1,37 @@ + + + + + + diff --git a/console-ui/src/views/landing/logos/components/Logos3.vue b/console-ui/src/views/landing/logos/components/Logos3.vue new file mode 100644 index 0000000..e5a1498 --- /dev/null +++ b/console-ui/src/views/landing/logos/components/Logos3.vue @@ -0,0 +1,37 @@ + + + + + + diff --git a/console-ui/src/views/landing/logos/components/Logos4.vue b/console-ui/src/views/landing/logos/components/Logos4.vue new file mode 100644 index 0000000..e5a1498 --- /dev/null +++ b/console-ui/src/views/landing/logos/components/Logos4.vue @@ -0,0 +1,37 @@ + + + + + + diff --git a/console-ui/src/views/landing/newsletter/NewsletterPage.vue b/console-ui/src/views/landing/newsletter/NewsletterPage.vue new file mode 100644 index 0000000..33a9a56 --- /dev/null +++ b/console-ui/src/views/landing/newsletter/NewsletterPage.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/console-ui/src/views/landing/newsletter/components/Newsletter1.vue b/console-ui/src/views/landing/newsletter/components/Newsletter1.vue new file mode 100644 index 0000000..6e7ece0 --- /dev/null +++ b/console-ui/src/views/landing/newsletter/components/Newsletter1.vue @@ -0,0 +1,55 @@ + + + + + + diff --git a/console-ui/src/views/landing/newsletter/components/Newsletter2.vue b/console-ui/src/views/landing/newsletter/components/Newsletter2.vue new file mode 100644 index 0000000..818fb8d --- /dev/null +++ b/console-ui/src/views/landing/newsletter/components/Newsletter2.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/console-ui/src/views/landing/newsletter/components/Newsletter3.vue b/console-ui/src/views/landing/newsletter/components/Newsletter3.vue new file mode 100644 index 0000000..b8b5ec4 --- /dev/null +++ b/console-ui/src/views/landing/newsletter/components/Newsletter3.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/console-ui/src/views/landing/newsletter/components/Newsletter4.vue b/console-ui/src/views/landing/newsletter/components/Newsletter4.vue new file mode 100644 index 0000000..2ccd78f --- /dev/null +++ b/console-ui/src/views/landing/newsletter/components/Newsletter4.vue @@ -0,0 +1,25 @@ + + + + + + diff --git a/console-ui/src/views/landing/pricing/PricingPage.vue b/console-ui/src/views/landing/pricing/PricingPage.vue new file mode 100644 index 0000000..74710e4 --- /dev/null +++ b/console-ui/src/views/landing/pricing/PricingPage.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/console-ui/src/views/landing/pricing/components/Pricing1.vue b/console-ui/src/views/landing/pricing/components/Pricing1.vue new file mode 100644 index 0000000..44e655f --- /dev/null +++ b/console-ui/src/views/landing/pricing/components/Pricing1.vue @@ -0,0 +1,114 @@ + + + + + + diff --git a/console-ui/src/views/landing/pricing/components/Pricing2.vue b/console-ui/src/views/landing/pricing/components/Pricing2.vue new file mode 100644 index 0000000..e820903 --- /dev/null +++ b/console-ui/src/views/landing/pricing/components/Pricing2.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/console-ui/src/views/landing/pricing/components/Pricing3.vue b/console-ui/src/views/landing/pricing/components/Pricing3.vue new file mode 100644 index 0000000..0d145bf --- /dev/null +++ b/console-ui/src/views/landing/pricing/components/Pricing3.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/console-ui/src/views/landing/pricing/components/Pricing4.vue b/console-ui/src/views/landing/pricing/components/Pricing4.vue new file mode 100644 index 0000000..73e2d59 --- /dev/null +++ b/console-ui/src/views/landing/pricing/components/Pricing4.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/console-ui/src/views/landing/stats/Stats.vue b/console-ui/src/views/landing/stats/Stats.vue new file mode 100644 index 0000000..64f83b8 --- /dev/null +++ b/console-ui/src/views/landing/stats/Stats.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/console-ui/src/views/landing/stats/components/Stats1.vue b/console-ui/src/views/landing/stats/components/Stats1.vue new file mode 100644 index 0000000..42f7836 --- /dev/null +++ b/console-ui/src/views/landing/stats/components/Stats1.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/console-ui/src/views/landing/stats/components/Stats2.vue b/console-ui/src/views/landing/stats/components/Stats2.vue new file mode 100644 index 0000000..764b64e --- /dev/null +++ b/console-ui/src/views/landing/stats/components/Stats2.vue @@ -0,0 +1,75 @@ + + + + + + diff --git a/console-ui/src/views/landing/stats/components/Stats3.vue b/console-ui/src/views/landing/stats/components/Stats3.vue new file mode 100644 index 0000000..d0bb77a --- /dev/null +++ b/console-ui/src/views/landing/stats/components/Stats3.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/console-ui/src/views/landing/stats/components/Stats4.vue b/console-ui/src/views/landing/stats/components/Stats4.vue new file mode 100644 index 0000000..df976f2 --- /dev/null +++ b/console-ui/src/views/landing/stats/components/Stats4.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/console-ui/src/views/landing/team/TeamPage.vue b/console-ui/src/views/landing/team/TeamPage.vue new file mode 100644 index 0000000..57ac3d4 --- /dev/null +++ b/console-ui/src/views/landing/team/TeamPage.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/console-ui/src/views/landing/team/components/Team1.vue b/console-ui/src/views/landing/team/components/Team1.vue new file mode 100644 index 0000000..5c0c730 --- /dev/null +++ b/console-ui/src/views/landing/team/components/Team1.vue @@ -0,0 +1,60 @@ + + + + + + diff --git a/console-ui/src/views/landing/team/components/Team2.vue b/console-ui/src/views/landing/team/components/Team2.vue new file mode 100644 index 0000000..68eb65c --- /dev/null +++ b/console-ui/src/views/landing/team/components/Team2.vue @@ -0,0 +1,44 @@ + + + + + + diff --git a/console-ui/src/views/landing/team/components/Team3.vue b/console-ui/src/views/landing/team/components/Team3.vue new file mode 100644 index 0000000..885ac9a --- /dev/null +++ b/console-ui/src/views/landing/team/components/Team3.vue @@ -0,0 +1,54 @@ + + + + + + diff --git a/console-ui/src/views/landing/team/components/Team4.vue b/console-ui/src/views/landing/team/components/Team4.vue new file mode 100644 index 0000000..95d9694 --- /dev/null +++ b/console-ui/src/views/landing/team/components/Team4.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/console-ui/src/views/landing/testimonial/TestimonialPage.vue b/console-ui/src/views/landing/testimonial/TestimonialPage.vue new file mode 100644 index 0000000..f3cbc21 --- /dev/null +++ b/console-ui/src/views/landing/testimonial/TestimonialPage.vue @@ -0,0 +1,39 @@ + + + + + + diff --git a/console-ui/src/views/landing/testimonial/components/Testimonial1.vue b/console-ui/src/views/landing/testimonial/components/Testimonial1.vue new file mode 100644 index 0000000..9ddb7a4 --- /dev/null +++ b/console-ui/src/views/landing/testimonial/components/Testimonial1.vue @@ -0,0 +1,101 @@ + + + + + + diff --git a/console-ui/src/views/landing/testimonial/components/Testimonial2.vue b/console-ui/src/views/landing/testimonial/components/Testimonial2.vue new file mode 100644 index 0000000..16b29b3 --- /dev/null +++ b/console-ui/src/views/landing/testimonial/components/Testimonial2.vue @@ -0,0 +1,101 @@ + + + + + + diff --git a/console-ui/src/views/landing/testimonial/components/Testimonial3.vue b/console-ui/src/views/landing/testimonial/components/Testimonial3.vue new file mode 100644 index 0000000..19c4ebd --- /dev/null +++ b/console-ui/src/views/landing/testimonial/components/Testimonial3.vue @@ -0,0 +1,91 @@ + + + + + + diff --git a/console-ui/src/views/landing/testimonial/components/Testimonial4.vue b/console-ui/src/views/landing/testimonial/components/Testimonial4.vue new file mode 100644 index 0000000..a2cc805 --- /dev/null +++ b/console-ui/src/views/landing/testimonial/components/Testimonial4.vue @@ -0,0 +1,90 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/ToolbarPage.vue b/console-ui/src/views/landing/toolbar/ToolbarPage.vue new file mode 100644 index 0000000..6bb0981 --- /dev/null +++ b/console-ui/src/views/landing/toolbar/ToolbarPage.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/components/Toolbar1.vue b/console-ui/src/views/landing/toolbar/components/Toolbar1.vue new file mode 100644 index 0000000..e381d3d --- /dev/null +++ b/console-ui/src/views/landing/toolbar/components/Toolbar1.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/components/Toolbar2.vue b/console-ui/src/views/landing/toolbar/components/Toolbar2.vue new file mode 100644 index 0000000..41c7c99 --- /dev/null +++ b/console-ui/src/views/landing/toolbar/components/Toolbar2.vue @@ -0,0 +1,55 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/components/Toolbar3.vue b/console-ui/src/views/landing/toolbar/components/Toolbar3.vue new file mode 100644 index 0000000..57f7a16 --- /dev/null +++ b/console-ui/src/views/landing/toolbar/components/Toolbar3.vue @@ -0,0 +1,59 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/components/Toolbar4.vue b/console-ui/src/views/landing/toolbar/components/Toolbar4.vue new file mode 100644 index 0000000..0aba4df --- /dev/null +++ b/console-ui/src/views/landing/toolbar/components/Toolbar4.vue @@ -0,0 +1,72 @@ + + + + + + diff --git a/console-ui/src/views/landing/toolbar/components/Toolbar5.vue b/console-ui/src/views/landing/toolbar/components/Toolbar5.vue new file mode 100644 index 0000000..1338bcf --- /dev/null +++ b/console-ui/src/views/landing/toolbar/components/Toolbar5.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/console-ui/src/views/pages/DashBoard.vue b/console-ui/src/views/pages/DashBoard.vue new file mode 100644 index 0000000..adfbc5b --- /dev/null +++ b/console-ui/src/views/pages/DashBoard.vue @@ -0,0 +1,79 @@ + + + diff --git a/console-ui/src/views/pages/DesignNav.vue b/console-ui/src/views/pages/DesignNav.vue new file mode 100644 index 0000000..39df19d --- /dev/null +++ b/console-ui/src/views/pages/DesignNav.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/console-ui/src/views/pages/Form.vue b/console-ui/src/views/pages/Form.vue new file mode 100644 index 0000000..a369b6b --- /dev/null +++ b/console-ui/src/views/pages/Form.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/console-ui/src/views/playground/PlaygroundPage.vue b/console-ui/src/views/playground/PlaygroundPage.vue new file mode 100644 index 0000000..1ba5851 --- /dev/null +++ b/console-ui/src/views/playground/PlaygroundPage.vue @@ -0,0 +1,29 @@ + + + + + + diff --git a/console-ui/src/views/playground/components/FeatureCard.vue b/console-ui/src/views/playground/components/FeatureCard.vue new file mode 100644 index 0000000..055507e --- /dev/null +++ b/console-ui/src/views/playground/components/FeatureCard.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/console-ui/src/views/playground/components/FeatureChatBot.vue b/console-ui/src/views/playground/components/FeatureChatBot.vue new file mode 100644 index 0000000..c55e96d --- /dev/null +++ b/console-ui/src/views/playground/components/FeatureChatBot.vue @@ -0,0 +1,222 @@ + + + + + + diff --git a/console-ui/src/views/playground/components/FeatureDynamicScroller.vue b/console-ui/src/views/playground/components/FeatureDynamicScroller.vue new file mode 100644 index 0000000..c27aca2 --- /dev/null +++ b/console-ui/src/views/playground/components/FeatureDynamicScroller.vue @@ -0,0 +1,27 @@ + + + + + + diff --git a/console-ui/src/views/playground/components/FeatureLoadMore.vue b/console-ui/src/views/playground/components/FeatureLoadMore.vue new file mode 100644 index 0000000..8577808 --- /dev/null +++ b/console-ui/src/views/playground/components/FeatureLoadMore.vue @@ -0,0 +1,88 @@ + + + + + + diff --git a/console-ui/src/views/playground/components/FeatureLotte.vue b/console-ui/src/views/playground/components/FeatureLotte.vue new file mode 100644 index 0000000..9ebff95 --- /dev/null +++ b/console-ui/src/views/playground/components/FeatureLotte.vue @@ -0,0 +1,44 @@ + + + + + + diff --git a/console-ui/src/views/ui/Card.vue b/console-ui/src/views/ui/Card.vue new file mode 100644 index 0000000..8fecc61 --- /dev/null +++ b/console-ui/src/views/ui/Card.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/CardPage.vue b/console-ui/src/views/ui/CardPage.vue new file mode 100644 index 0000000..352ab18 --- /dev/null +++ b/console-ui/src/views/ui/CardPage.vue @@ -0,0 +1,195 @@ + + + diff --git a/console-ui/src/views/ui/ColorsPage.vue b/console-ui/src/views/ui/ColorsPage.vue new file mode 100644 index 0000000..003ee19 --- /dev/null +++ b/console-ui/src/views/ui/ColorsPage.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/console-ui/src/views/ui/DataTablePage.vue b/console-ui/src/views/ui/DataTablePage.vue new file mode 100644 index 0000000..9ae16ed --- /dev/null +++ b/console-ui/src/views/ui/DataTablePage.vue @@ -0,0 +1,174 @@ + + + + + + diff --git a/console-ui/src/views/ui/Feature.vue b/console-ui/src/views/ui/Feature.vue new file mode 100644 index 0000000..61c7649 --- /dev/null +++ b/console-ui/src/views/ui/Feature.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/GradientPage.vue b/console-ui/src/views/ui/GradientPage.vue new file mode 100644 index 0000000..e1b56e1 --- /dev/null +++ b/console-ui/src/views/ui/GradientPage.vue @@ -0,0 +1,238 @@ + + + diff --git a/console-ui/src/views/ui/GridsPage.vue b/console-ui/src/views/ui/GridsPage.vue new file mode 100644 index 0000000..fc43188 --- /dev/null +++ b/console-ui/src/views/ui/GridsPage.vue @@ -0,0 +1,100 @@ + + + diff --git a/console-ui/src/views/ui/Landing.vue b/console-ui/src/views/ui/Landing.vue new file mode 100644 index 0000000..8390659 --- /dev/null +++ b/console-ui/src/views/ui/Landing.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/Logos.vue b/console-ui/src/views/ui/Logos.vue new file mode 100644 index 0000000..e756615 --- /dev/null +++ b/console-ui/src/views/ui/Logos.vue @@ -0,0 +1,13 @@ + + + + + + +LOGOS diff --git a/console-ui/src/views/ui/Masonry.vue b/console-ui/src/views/ui/Masonry.vue new file mode 100644 index 0000000..c38ab1b --- /dev/null +++ b/console-ui/src/views/ui/Masonry.vue @@ -0,0 +1,64 @@ + + + diff --git a/console-ui/src/views/ui/PerfectScrollbar.vue b/console-ui/src/views/ui/PerfectScrollbar.vue new file mode 100644 index 0000000..dbd4e18 --- /dev/null +++ b/console-ui/src/views/ui/PerfectScrollbar.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/console-ui/src/views/ui/Pricing.vue b/console-ui/src/views/ui/Pricing.vue new file mode 100644 index 0000000..e79fec9 --- /dev/null +++ b/console-ui/src/views/ui/Pricing.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/Recommend.vue b/console-ui/src/views/ui/Recommend.vue new file mode 100644 index 0000000..5d3b709 --- /dev/null +++ b/console-ui/src/views/ui/Recommend.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/Stars.vue b/console-ui/src/views/ui/Stars.vue new file mode 100644 index 0000000..7f30e66 --- /dev/null +++ b/console-ui/src/views/ui/Stars.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/Team.vue b/console-ui/src/views/ui/Team.vue new file mode 100644 index 0000000..a1c549d --- /dev/null +++ b/console-ui/src/views/ui/Team.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/ui/VirtualList.vue b/console-ui/src/views/ui/VirtualList.vue new file mode 100644 index 0000000..2fb04e6 --- /dev/null +++ b/console-ui/src/views/ui/VirtualList.vue @@ -0,0 +1,116 @@ + + + diff --git a/console-ui/src/views/ui/VirtualScroller.vue b/console-ui/src/views/ui/VirtualScroller.vue new file mode 100644 index 0000000..41b66bd --- /dev/null +++ b/console-ui/src/views/ui/VirtualScroller.vue @@ -0,0 +1,73 @@ + + + + diff --git a/console-ui/src/views/ui/WaterFall.vue b/console-ui/src/views/ui/WaterFall.vue new file mode 100644 index 0000000..154851d --- /dev/null +++ b/console-ui/src/views/ui/WaterFall.vue @@ -0,0 +1,64 @@ + + + diff --git a/console-ui/src/views/users/EditUserPage.vue b/console-ui/src/views/users/EditUserPage.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/users/EditUserPage.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/users/ProfilePage.vue b/console-ui/src/views/users/ProfilePage.vue new file mode 100644 index 0000000..5513955 --- /dev/null +++ b/console-ui/src/views/users/ProfilePage.vue @@ -0,0 +1,352 @@ + + + + +Basic with Icons + + + diff --git a/console-ui/src/views/users/UsersPage.vue b/console-ui/src/views/users/UsersPage.vue new file mode 100644 index 0000000..22f2116 --- /dev/null +++ b/console-ui/src/views/users/UsersPage.vue @@ -0,0 +1,12 @@ + + + + + + diff --git a/console-ui/src/views/utility/BoardPage.vue b/console-ui/src/views/utility/BoardPage.vue new file mode 100644 index 0000000..f431275 --- /dev/null +++ b/console-ui/src/views/utility/BoardPage.vue @@ -0,0 +1,336 @@ + + + + diff --git a/console-ui/src/views/utility/HelpPage.vue b/console-ui/src/views/utility/HelpPage.vue new file mode 100644 index 0000000..63b807f --- /dev/null +++ b/console-ui/src/views/utility/HelpPage.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/console-ui/src/views/utility/MaintenancePage.vue b/console-ui/src/views/utility/MaintenancePage.vue new file mode 100644 index 0000000..d303322 --- /dev/null +++ b/console-ui/src/views/utility/MaintenancePage.vue @@ -0,0 +1,3 @@ + diff --git a/console-ui/src/views/utility/SoonPage.vue b/console-ui/src/views/utility/SoonPage.vue new file mode 100644 index 0000000..25e2576 --- /dev/null +++ b/console-ui/src/views/utility/SoonPage.vue @@ -0,0 +1,3 @@ + diff --git a/console-ui/src/views/wireFrames/PageAnchorJump.vue b/console-ui/src/views/wireFrames/PageAnchorJump.vue new file mode 100644 index 0000000..5c64520 --- /dev/null +++ b/console-ui/src/views/wireFrames/PageAnchorJump.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/console-ui/src/views/wireFrames/ThreeColumn.vue b/console-ui/src/views/wireFrames/ThreeColumn.vue new file mode 100644 index 0000000..bb90ff5 --- /dev/null +++ b/console-ui/src/views/wireFrames/ThreeColumn.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/console-ui/tsconfig.json b/console-ui/tsconfig.json new file mode 100644 index 0000000..b0f3f43 --- /dev/null +++ b/console-ui/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "target": "ESNext", + "module": "ESNext", + "lib": ["ESNext", "dom", "dom.iterable", "scripthost"], + + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "noUnusedLocals": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "paths": { + "~/*": ["./*"], + "@/*": ["./src/*"] + }, + "types": ["vitest/globals"] + } +} diff --git a/console-ui/vite.config.ts b/console-ui/vite.config.ts new file mode 100644 index 0000000..ade107e --- /dev/null +++ b/console-ui/vite.config.ts @@ -0,0 +1,48 @@ +/// +// Plugins +import vue from "@vitejs/plugin-vue"; +import vuetify from "vite-plugin-vuetify"; + +import AutoImport from "unplugin-auto-import/vite"; + +// Utilities +import { defineConfig } from "vite"; +import { fileURLToPath, URL } from "node:url"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + // https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vite-plugin + vuetify({ + autoImport: true, + styles: { configFile: "src/styles/variables.scss" }, + }), + AutoImport({ + imports: ["vue", "vue-router", "pinia"], + }), + ], + define: { "process.env": {} }, + test: { + globals: true, + environment: "happy-dom", + }, + resolve: { + alias: { + "~": fileURLToPath(new URL("./", import.meta.url)), + "@": fileURLToPath(new URL("./src", import.meta.url)), + "@data": fileURLToPath(new URL("./src/data", import.meta.url)), + }, + extensions: [".js", ".json", ".jsx", ".mjs", ".ts", ".tsx", ".vue"], + }, + server: { + port: 4399, + }, + css: { + preprocessorOptions: { + scss: { charset: false }, + css: { charset: false }, + }, + }, + cacheDir: ".vite_cache", // 将缓存目录设置为项目根目录下的 .vite_cache 文件夹 +}); diff --git a/console-ui/vue.config.js b/console-ui/vue.config.js deleted file mode 100644 index 910e297..0000000 --- a/console-ui/vue.config.js +++ /dev/null @@ -1,4 +0,0 @@ -const { defineConfig } = require('@vue/cli-service') -module.exports = defineConfig({ - transpileDependencies: true -}) diff --git a/console-ui/yarn.lock b/console-ui/yarn.lock deleted file mode 100644 index 3e1a671..0000000 --- a/console-ui/yarn.lock +++ /dev/null @@ -1,5529 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@achrinza/node-ipc@^9.2.5": - version "9.2.6" - resolved "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz#75c89e95fe38ff9e3dd33a0d2681dc28f1c31f33" - integrity sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg== - dependencies: - "@node-ipc/js-queue" "2.0.3" - event-pubsub "4.3.0" - js-message "1.0.7" - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" - integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== - -"@babel/core@^7.12.16": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" - integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.4" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.4" - "@babel/types" "^7.21.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" - integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== - dependencies: - "@babel/types" "^7.21.4" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" - integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== - dependencies: - "@babel/compat-data" "^7.21.4" - "@babel/helper-validator-option" "^7.21.0" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18" - integrity sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz#40411a8ab134258ad2cf3a3d987ec6aa0723cee5" - integrity sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.3.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== - dependencies: - "@babel/types" "^7.21.0" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" - integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== - dependencies: - "@babel/types" "^7.21.4" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.18.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" - integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" - -"@babel/plugin-proposal-async-generator-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.12.13": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz#70e0c89fdcd7465c97593edb8f628ba6e4199d63" - integrity sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.21.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" - integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz#d2b3f31c3e86fa86e16bb540b7660c55bd7d0e78" - integrity sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" - integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-async-to-generator@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" - integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-classes@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" - integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" - -"@babel/plugin-transform-destructuring@^7.21.3": - version "7.21.3" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" - integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" - integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.20.11": - version "7.20.11" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-modules-commonjs@^7.21.2": - version "7.21.2" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== - dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" - -"@babel/plugin-transform-modules-systemjs@^7.20.11": - version "7.20.11" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.20.5": - version "7.20.5" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.21.3": - version "7.21.3" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" - integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.20.5": - version "7.20.5" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-runtime@^7.12.15": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz#2e1da21ca597a7d01fc96b699b21d8d2023191aa" - integrity sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA== - dependencies: - "@babel/helper-module-imports" "^7.21.4" - "@babel/helper-plugin-utils" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.12.16": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.21.4.tgz#a952482e634a8dd8271a3fe5459a16eb10739c58" - integrity sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw== - dependencies: - "@babel/compat-data" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7" - "@babel/plugin-proposal-async-generator-functions" "^7.20.7" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.21.0" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.21.0" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.21.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.20.7" - "@babel/plugin-transform-async-to-generator" "^7.20.7" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.21.0" - "@babel/plugin-transform-classes" "^7.21.0" - "@babel/plugin-transform-computed-properties" "^7.20.7" - "@babel/plugin-transform-destructuring" "^7.21.3" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.21.0" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.20.11" - "@babel/plugin-transform-modules-commonjs" "^7.21.2" - "@babel/plugin-transform-modules-systemjs" "^7.20.11" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.21.3" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.20.5" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.20.7" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.21.4" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" - integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== - dependencies: - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.4" - "@babel/types" "^7.21.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.4.4": - version "7.21.4" - resolved "https://registry.npmmirror.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" - integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@discoveryjs/json-ext@0.5.7": - version "0.5.7" - resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.2": - version "0.3.3" - resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" - integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@node-ipc/js-queue@2.0.3": - version "2.0.3" - resolved "https://registry.npmmirror.com/@node-ipc/js-queue/-/js-queue-2.0.3.tgz#ac7fe33d766fa53e233ef8fedaf3443a01c5a4cd" - integrity sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw== - dependencies: - easy-stack "1.0.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.21" - resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" - integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== - -"@sideway/address@^4.1.3": - version "4.1.4" - resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" - integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@soda/friendly-errors-webpack-plugin@^1.8.0": - version "1.8.1" - resolved "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85" - integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg== - dependencies: - chalk "^3.0.0" - error-stack-parser "^2.0.6" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -"@soda/get-current-script@^1.0.2": - version "1.0.2" - resolved "https://registry.npmmirror.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" - integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.37.0" - resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" - integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.33" - resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.17" - resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-proxy@^1.17.8": - version "1.17.10" - resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c" - integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g== - dependencies: - "@types/node" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/mime@*": - version "3.0.1" - resolved "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "18.15.11" - resolved "https://registry.npmmirror.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" - integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.1" - resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" - integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== - dependencies: - "@types/mime" "*" - "@types/node" "*" - -"@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== - dependencies: - "@types/node" "*" - -"@types/ws@^8.5.1": - version "8.5.4" - resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" - integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== - dependencies: - "@types/node" "*" - -"@vue/babel-helper-vue-jsx-merge-props@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2" - integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA== - -"@vue/babel-helper-vue-transform-on@^1.0.2": - version "1.0.2" - resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" - integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== - -"@vue/babel-plugin-jsx@^1.0.3": - version "1.1.1" - resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz#0c5bac27880d23f89894cd036a37b55ef61ddfc1" - integrity sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - "@vue/babel-helper-vue-transform-on" "^1.0.2" - camelcase "^6.0.0" - html-tags "^3.1.0" - svg-tags "^1.0.0" - -"@vue/babel-plugin-transform-vue-jsx@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz#4d4b3d46a39ea62b7467dd6e26ce47f7ceafb2fe" - integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-app@^5.0.8": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz#ce38f76314f5265d62a89756ef264c21f1d351a1" - integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg== - dependencies: - "@babel/core" "^7.12.16" - "@babel/helper-compilation-targets" "^7.12.16" - "@babel/helper-module-imports" "^7.12.13" - "@babel/plugin-proposal-class-properties" "^7.12.13" - "@babel/plugin-proposal-decorators" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/plugin-transform-runtime" "^7.12.15" - "@babel/preset-env" "^7.12.16" - "@babel/runtime" "^7.12.13" - "@vue/babel-plugin-jsx" "^1.0.3" - "@vue/babel-preset-jsx" "^1.1.2" - babel-plugin-dynamic-import-node "^2.3.3" - core-js "^3.8.3" - core-js-compat "^3.8.3" - semver "^7.3.4" - -"@vue/babel-preset-jsx@^1.1.2": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz#f4914ba314235ab097bc4372ed67473c0780bfcc" - integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" - "@vue/babel-sugar-composition-api-inject-h" "^1.4.0" - "@vue/babel-sugar-composition-api-render-instance" "^1.4.0" - "@vue/babel-sugar-functional-vue" "^1.4.0" - "@vue/babel-sugar-inject-h" "^1.4.0" - "@vue/babel-sugar-v-model" "^1.4.0" - "@vue/babel-sugar-v-on" "^1.4.0" - -"@vue/babel-sugar-composition-api-inject-h@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz#187e1389f8871d89ece743bb50aed713be9d6c85" - integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz#2c1607ae6dffdab47e785bc01fa45ba756e992c1" - integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz#60da31068567082287c7337c66ef4df04e0a1029" - integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz#bf39aa6631fb1d0399b1c49b4c59e1c8899b4363" - integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz#a51d986609f430c4f70ada3a93cc560a2970f720" - integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz#43b7106a9672d8cbeefc0eb8afe1d376edc6166e" - integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" - camelcase "^5.0.0" - -"@vue/cli-overlay@^5.0.8": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz#b61477acdc43bbd42fce6326d228471201ecdcdd" - integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ== - -"@vue/cli-plugin-babel@~5.0.0": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz#54f9a07900f29baff54803dcfa916c602894feb7" - integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ== - dependencies: - "@babel/core" "^7.12.16" - "@vue/babel-preset-app" "^5.0.8" - "@vue/cli-shared-utils" "^5.0.8" - babel-loader "^8.2.2" - thread-loader "^3.0.0" - webpack "^5.54.0" - -"@vue/cli-plugin-router@^5.0.8", "@vue/cli-plugin-router@~5.0.0": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz#a113ec626f3d4216d20496c42d35533bce9e889f" - integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg== - dependencies: - "@vue/cli-shared-utils" "^5.0.8" - -"@vue/cli-plugin-vuex@^5.0.8", "@vue/cli-plugin-vuex@~5.0.0": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz#0d4cb3020f9102bea9288d750729dde176c66ccd" - integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== - -"@vue/cli-service@~5.0.0": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz#cf3f6f1b7bf0fba9cdab86b6bec4f9897f982dac" - integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== - dependencies: - "@babel/helper-compilation-targets" "^7.12.16" - "@soda/friendly-errors-webpack-plugin" "^1.8.0" - "@soda/get-current-script" "^1.0.2" - "@types/minimist" "^1.2.0" - "@vue/cli-overlay" "^5.0.8" - "@vue/cli-plugin-router" "^5.0.8" - "@vue/cli-plugin-vuex" "^5.0.8" - "@vue/cli-shared-utils" "^5.0.8" - "@vue/component-compiler-utils" "^3.3.0" - "@vue/vue-loader-v15" "npm:vue-loader@^15.9.7" - "@vue/web-component-wrapper" "^1.3.0" - acorn "^8.0.5" - acorn-walk "^8.0.2" - address "^1.1.2" - autoprefixer "^10.2.4" - browserslist "^4.16.3" - case-sensitive-paths-webpack-plugin "^2.3.0" - cli-highlight "^2.1.10" - clipboardy "^2.3.0" - cliui "^7.0.4" - copy-webpack-plugin "^9.0.1" - css-loader "^6.5.0" - css-minimizer-webpack-plugin "^3.0.2" - cssnano "^5.0.0" - debug "^4.1.1" - default-gateway "^6.0.3" - dotenv "^10.0.0" - dotenv-expand "^5.1.0" - fs-extra "^9.1.0" - globby "^11.0.2" - hash-sum "^2.0.0" - html-webpack-plugin "^5.1.0" - is-file-esm "^1.0.0" - launch-editor-middleware "^2.2.1" - lodash.defaultsdeep "^4.6.1" - lodash.mapvalues "^4.6.0" - mini-css-extract-plugin "^2.5.3" - minimist "^1.2.5" - module-alias "^2.2.2" - portfinder "^1.0.26" - postcss "^8.2.6" - postcss-loader "^6.1.1" - progress-webpack-plugin "^1.0.12" - ssri "^8.0.1" - terser-webpack-plugin "^5.1.1" - thread-loader "^3.0.0" - vue-loader "^17.0.0" - vue-style-loader "^4.1.3" - webpack "^5.54.0" - webpack-bundle-analyzer "^4.4.0" - webpack-chain "^6.5.1" - webpack-dev-server "^4.7.3" - webpack-merge "^5.7.3" - webpack-virtual-modules "^0.4.2" - whatwg-fetch "^3.6.2" - -"@vue/cli-shared-utils@^5.0.8": - version "5.0.8" - resolved "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz#75fc96528eba2b1c7e33cb7e989a984ddef99c8a" - integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ== - dependencies: - "@achrinza/node-ipc" "^9.2.5" - chalk "^4.1.2" - execa "^1.0.0" - joi "^17.4.0" - launch-editor "^2.2.1" - lru-cache "^6.0.0" - node-fetch "^2.6.7" - open "^8.0.2" - ora "^5.3.0" - read-pkg "^5.1.1" - semver "^7.3.4" - strip-ansi "^6.0.0" - -"@vue/compiler-sfc@2.7.14": - version "2.7.14" - resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz#3446fd2fbb670d709277fc3ffa88efc5e10284fd" - integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA== - dependencies: - "@babel/parser" "^7.18.4" - postcss "^8.4.14" - source-map "^0.6.1" - -"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0": - version "3.3.0" - resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" - integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.36" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2 || ^2.0.0" - -"@vue/vue-loader-v15@npm:vue-loader@^15.9.7": - version "15.10.1" - resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz#c451c4cd05a911aae7b5dbbbc09fb913fb3cca18" - integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -"@vue/web-component-wrapper@^1.3.0": - version "1.3.0" - resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" - integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn-walk@^8.0.0, acorn-walk@^8.0.2: - version "8.2.0" - resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.0.4, acorn@^8.0.5, acorn@^8.5.0, acorn@^8.7.1: - version "8.8.2" - resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arch@^2.1.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.2.4: - version "10.4.14" - resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" - integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== - dependencies: - browserslist "^4.21.5" - caniuse-lite "^1.0.30001464" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -babel-loader@^8.2.2: - version "8.3.0" - resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bluebird@^3.1.1: - version "3.7.2" - resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: - version "4.21.5" - resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: - version "1.0.30001480" - resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a" - integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== - -case-sensitive-paths-webpack-plugin@^2.3.0: - version "2.4.0" - resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" - integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== - -chalk@^2.0.0, chalk@^2.1.0: - version "2.4.2" - resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - 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" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - 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" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -clean-css@^5.2.2: - version "5.3.2" - resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" - integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== - dependencies: - source-map "~0.6.0" - -cli-cursor@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-highlight@^2.1.10: - version "2.1.11" - resolved "https://registry.npmmirror.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" - integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== - dependencies: - chalk "^4.0.0" - highlight.js "^10.7.1" - mz "^2.4.0" - parse5 "^5.1.1" - parse5-htmlparser2-tree-adapter "^6.0.0" - yargs "^16.0.0" - -cli-spinners@^2.5.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc" - integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ== - -clipboardy@^2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" - integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== - dependencies: - arch "^2.1.1" - execa "^1.0.0" - is-wsl "^2.1.1" - -cliui@^7.0.2, cliui@^7.0.4: - version "7.0.4" - resolved "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.20" - resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.5" - resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -copy-webpack-plugin@^9.0.1: - version "9.1.0" - resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b" - integrity sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^11.0.3" - normalize-path "^3.0.0" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - -core-js-compat@^3.25.1, core-js-compat@^3.8.3: - version "3.30.1" - resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.30.1.tgz#961541e22db9c27fc48bfc13a3cafa8734171dfe" - integrity sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw== - dependencies: - browserslist "^4.21.5" - -core-js@^3.8.3: - version "3.30.1" - resolved "https://registry.npmmirror.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" - integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-declaration-sorter@^6.3.1: - version "6.4.0" - resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" - integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== - -css-loader@^6.5.0: - version "6.7.3" - resolved "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" - integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.19" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - -css-minimizer-webpack-plugin@^3.0.2: - version "3.4.1" - resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - 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" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.0, cssnano@^5.0.6: - version "5.1.15" - resolved "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== - dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -csstype@^3.1.0: - version "3.1.2" - resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1: - version "4.3.4" - resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deepmerge@^1.5.2: - version "1.5.2" - resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" - integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.6.0" - resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" - integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^10.0.0: - version "10.0.0" - resolved "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -easy-stack@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" - integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.284: - version "1.4.368" - resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz#75901f97d3e23da2e66feb1e61fbb8e70ac96430" - integrity sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.10.0: - version "5.13.0" - resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz#26d1ecc448c02de997133217b5c1053f34a0a275" - integrity sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-module-lexer@^1.2.1: - version "1.2.1" - resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527" - integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-pubsub@4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" - integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - -express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmmirror.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - 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" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== - dependencies: - escape-string-regexp "^1.0.5" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - 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" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.2, globby@^11.0.3: - version "11.1.0" - resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - 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" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight.js@^10.7.1: - version "10.7.3" - resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g== - -html-tags@^3.1.0: - version "3.3.1" - resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -html-webpack-plugin@^5.1.0: - version "5.5.1" - resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz#826838e31b427f5f7f30971f8d8fa2422dfa6763" - integrity sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.11.0: - version "2.12.0" - resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== - dependencies: - has "^1.0.3" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-file-esm@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-file-esm/-/is-file-esm-1.0.0.tgz#987086b0f5a5318179e9d30f4f2f8d37321e1b5f" - integrity sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA== - dependencies: - read-pkg-up "^7.0.1" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -javascript-stringify@^2.0.1: - version "2.1.0" - resolved "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" - integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== - -jest-worker@^27.0.2, jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -joi@^17.4.0: - version "17.9.1" - resolved "https://registry.npmmirror.com/joi/-/joi-17.9.1.tgz#74899b9fa3646904afa984a11df648eca66c9018" - integrity sha512-FariIi9j6QODKATGBrEX7HZcja8Bsh3rfdGYy/Sb65sGlZWK/QWesU1ghk7aJWDj95knjXlQfSmzFSPPkLVsfw== - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -js-message@1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" - integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -klona@^2.0.5: - version "2.0.6" - resolved "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -launch-editor-middleware@^2.2.1: - version "2.6.0" - resolved "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz#2ba4fe4b695d7fe3d44dee86b6d46d57b8332dfd" - integrity sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA== - dependencies: - launch-editor "^2.6.0" - -launch-editor@^2.2.1, launch-editor@^2.6.0: - version "2.6.0" - resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" - integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.7.3" - -lilconfig@^2.0.3: - version "2.1.0" - resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.1.0, loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.4.2" - resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" - integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.defaultsdeep@^4.6.1: - version "4.6.1" - resolved "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" - integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== - -lodash.mapvalues@^4.6.0: - version "4.6.0" - resolved "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - integrity sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.3: - version "3.5.0" - resolved "https://registry.npmmirror.com/memfs/-/memfs-3.5.0.tgz#9da86405fca0a539addafd37dbd452344fd1c0bd" - integrity sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA== - dependencies: - fs-monkey "^1.0.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mini-css-extract-plugin@^2.5.3: - version "2.7.5" - resolved "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz#afbb344977659ec0f1f6e050c7aea456b121cfc5" - integrity sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^3.1.1: - version "3.3.6" - resolved "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -module-alias@^2.2.2: - version "2.2.2" - resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.2.tgz#151cdcecc24e25739ff0aa6e51e1c5716974c0e0" - integrity sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q== - -mrmime@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" - integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -mz@^2.4.0: - version "2.7.0" - resolved "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch@^2.6.7: - version "2.6.9" - resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0: - version "4.1.4" - resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.2, open@^8.0.9: - version "8.4.2" - resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -ora@^5.3.0: - version "5.4.1" - resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - 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" - -parse5-htmlparser2-tree-adapter@^6.0.0: - version "6.0.1" - resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" - integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== - dependencies: - parse5 "^6.0.1" - -parse5@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -portfinder@^1.0.26: - version "1.0.32" - resolved "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-loader@^6.1.1: - version "6.2.1" - resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.11" - resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.36: - version "7.0.39" - resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.19: - version "8.4.22" - resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.22.tgz#c29e6776b60ab3af602d4b513d5bd2ff9aa85dc1" - integrity sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -"prettier@^1.18.2 || ^2.0.0": - version "2.8.7" - resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" - integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress-webpack-plugin@^1.0.12: - version "1.0.16" - resolved "https://registry.npmmirror.com/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz#278f5c1afd21af783aad72c5ec95241520230fe5" - integrity sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA== - dependencies: - chalk "^2.1.0" - figures "^2.0.0" - log-update "^2.3.0" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.1.1, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.10.0, resolve@^1.14.2: - version "1.22.2" - resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.2" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99" - integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz#eb2d042df8b01f4b5c276a2dfd41ba0faab72e8d" - integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== - dependencies: - node-forge "^1" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.4, semver@^7.3.5, semver@^7.3.8: - version "7.5.0" - resolved "https://registry.npmmirror.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3: - version "1.8.1" - resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.npmmirror.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== - dependencies: - "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - 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" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - 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" - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.7: - version "5.3.7" - resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" - integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.5" - -terser@^5.10.0, terser@^5.16.5: - version "5.17.1" - resolved "https://registry.npmmirror.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" - integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -thread-loader@^3.0.0: - version "3.0.4" - resolved "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" - integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== - dependencies: - json-parse-better-errors "^1.0.2" - loader-runner "^4.1.0" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^3.0.0" - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tslib@^2.0.3: - version "2.5.0" - resolved "https://registry.npmmirror.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.10: - version "1.0.11" - resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" - integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== - -vue-loader@^17.0.0: - version "17.0.1" - resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.0.1.tgz#c0ee8875e0610a0c2d13ba9b4d50a9c8442e7a3a" - integrity sha512-/OOyugJnImKCkAKrAvdsWMuwoCqGxWT5USLsjohzWbMgOwpA5wQmzQiLMzZd7DjhIfunzAGIApTOgIylz/kwcg== - dependencies: - chalk "^4.1.0" - hash-sum "^2.0.0" - loader-utils "^2.0.0" - -vue-router@^3.5.1: - version "3.6.5" - resolved "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz#95847d52b9a7e3f1361cb605c8e6441f202afad8" - integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ== - -vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: - version "4.1.3" - resolved "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" - integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.14: - version "2.7.14" - resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" - integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== - dependencies: - de-indent "^1.0.2" - he "^1.2.0" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@^2.6.14: - version "2.7.14" - resolved "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz#3743dcd248fd3a34d421ae456b864a0246bafb17" - integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ== - dependencies: - "@vue/compiler-sfc" "2.7.14" - csstype "^3.1.0" - -vuex@^3.6.2: - version "3.6.2" - resolved "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" - integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webpack-bundle-analyzer@^4.4.0: - version "4.8.0" - resolved "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz#951b8aaf491f665d2ae325d8b84da229157b1d04" - integrity sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg== - dependencies: - "@discoveryjs/json-ext" "0.5.7" - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^7.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - -webpack-chain@^6.5.1: - version "6.5.1" - resolved "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" - integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== - dependencies: - deepmerge "^1.5.2" - javascript-stringify "^2.0.1" - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.7.3: - version "4.13.3" - resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz#9feb740b8b56b886260bae1360286818a221bae8" - integrity sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-merge@^5.7.3: - version "5.8.0" - resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack-virtual-modules@^0.4.2: - version "0.4.6" - resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45" - integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA== - -webpack@^5.54.0: - version "5.79.0" - resolved "https://registry.npmmirror.com/webpack/-/webpack-5.79.0.tgz#8552b5da5a26e4e25842c08a883e08fc7740547a" - integrity sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@^7.3.1: - version "7.5.9" - resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: - version "8.13.0" - resolved "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.0.0: - version "16.2.0" - resolved "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2"