From 0309b5568a366cad97354dd93b5c7e6d1dfe4097 Mon Sep 17 00:00:00 2001 From: Marcel Domke Date: Thu, 25 Jan 2024 14:49:49 +0100 Subject: [PATCH] Updated SCAYLE Panel Demo Add-On to version 1.0 - Updated to latest SCAYLE Panel Icon Library - Updated to latest SCAYLE Component Library - Adjusted Readme --- .editorconfig | 15 + .env.example | 7 + .eslintrc.cjs | 66 ++ .gitignore | 37 + .lintstagedrc.cjs | 6 + LICENSE | 21 + README.md | 58 +- package-lock.json | 844 ++++++++++-------- package.json | 36 +- server-ssl/default.crt | 19 + server-ssl/default.key | 27 + src/app.css | 4 + src/components.d.ts | 13 +- .../ColumnTemplates/ImageColumnTemplate.vue | 2 +- .../ProductActionsColumnTemplate.vue | 79 ++ .../ProductStockColumnTemplate.vue | 4 +- .../ColumnTemplates/StatusColumnTemplate.vue | 3 +- .../LoadingOverlay/LoadingOverlay.vue | 17 + .../ProductsListingBody.css | 39 + .../ProductsListingBody.vue | 88 ++ .../ProductsListing/ProductDetail.vue | 9 + .../ProductsListing/ProductsListing.css | 52 ++ .../ProductsListing/ProductsListing.unit.ts | 6 +- .../ProductsListing/ProductsListing.vue | 215 ++--- .../ProductsListingFiltersModal.vue | 84 -- .../ProductsListingFiltersModal.vue | 129 +++ .../ProductsListingHeader.vue | 129 +++ .../ProductsListing/ProductsPage.vue | 41 + src/components/UserForm/UserForm.vue | 9 +- src/composables/useDeleteProductMutation.ts | 15 + src/composables/useDeleteProductsMutation.ts | 34 + src/composables/useFetchProductsQuery.ts | 76 +- src/composables/useProductListingFilters.ts | 22 + src/index.html | 44 +- src/manifest.ts | 83 +- src/mocks/products.ts | 29 + src/pages/AlertsPage.vue | 14 +- src/pages/TableListing.vue | 40 +- src/pages/TableListingDetail.vue | 48 + src/router.ts | 108 ++- src/types/{ProductsData.ts => Product.ts} | 7 +- src/types/index.ts | 3 + src/utils.ts | 14 +- tsconfig.json | 2 + .../aboutYouGlobalWindowEventLoader.ts | 105 +++ vite-plugins/aboutYouStyleLoader.ts | 53 +- vite-plugins/aboutYouVueStyleLoader.ts | 7 +- vite.config.ts | 4 + 48 files changed, 1964 insertions(+), 803 deletions(-) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .eslintrc.cjs create mode 100644 .gitignore create mode 100644 .lintstagedrc.cjs create mode 100644 LICENSE create mode 100644 server-ssl/default.crt create mode 100644 server-ssl/default.key create mode 100644 src/components/ColumnTemplates/ProductActionsColumnTemplate.vue create mode 100644 src/components/LoadingOverlay/LoadingOverlay.vue create mode 100644 src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.css create mode 100644 src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.vue create mode 100644 src/components/ProductsListing/ProductDetail.vue create mode 100644 src/components/ProductsListing/ProductsListing.css delete mode 100644 src/components/ProductsListing/ProductsListingFiltersModal.vue create mode 100644 src/components/ProductsListing/ProductsListingHeader/ProductsListingFiltersModal.vue create mode 100644 src/components/ProductsListing/ProductsListingHeader/ProductsListingHeader.vue create mode 100644 src/components/ProductsListing/ProductsPage.vue create mode 100644 src/composables/useDeleteProductMutation.ts create mode 100644 src/composables/useDeleteProductsMutation.ts create mode 100644 src/composables/useProductListingFilters.ts create mode 100644 src/mocks/products.ts create mode 100644 src/pages/TableListingDetail.vue rename src/types/{ProductsData.ts => Product.ts} (59%) create mode 100644 src/types/index.ts create mode 100644 vite-plugins/aboutYouGlobalWindowEventLoader.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6fd2b36 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.yml] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..97b4f03 --- /dev/null +++ b/.env.example @@ -0,0 +1,7 @@ +# ENV not exposed to application +CONFIG_SERVER_HOST=demo-add-on.cloud-panel.aboutyou.test +CONFIG_SERVER_PORT=8082 + +# ENV exposed application (with PANEL_, prefix) +PANEL_ADDON_IDENTIFIER=demo +PANEL_USE_SHADOW_DOM=true diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..5188d86 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,66 @@ +module.exports = { + root: false, + env: { + browser: true, + es6: true, + node: true, + }, + plugins: ['unicorn'], + extends: [ + 'plugin:import/errors', + 'plugin:import/warnings', + 'plugin:vue/vue3-recommended', + 'eslint:recommended', + ], + settings: { + 'import/resolver': { + typescript: {}, + }, + }, + parser: 'vue-eslint-parser', + parserOptions: { + parser: { + ts: '@typescript-eslint/parser', + }, + sourceType: 'module', + }, + rules: { + 'vue/require-explicit-emits': [ + 'error', + { + allowProps: false, + }, + ], + 'vue/attributes-order': 'error', + 'vue/multi-word-component-names': 'off', + 'vue/component-name-in-template-casing': ['error', 'PascalCase'], + 'vue/html-self-closing': ['error', { + 'html': { + 'void': 'always', + 'normal': 'always', + 'component': 'always' + }, + 'svg': 'always', + 'math': 'always' + }], + 'vue/html-closing-bracket-spacing': [ + 'error', + { + startTag: 'never', + endTag: 'never', + selfClosingTag: 'always', + }, + ], + // eslint-plugin-import + 'import/first': 'error', + 'import/order': [ + 'error', + { + groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object'], + }, + ], + 'import/no-mutable-exports': 'error', + 'import/no-unresolved': 'off', + 'no-unused-vars': ['off'], + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..69a56de --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +server-ssl/* +!server-ssl/README.md +!server-ssl/generate-ssl.sh +!server-ssl/default.conf + +.env +coverage +junit.xml + +# ignore types generated from unit tests (src are the vital ones) +auto-imports.d.ts +components.d.ts diff --git a/.lintstagedrc.cjs b/.lintstagedrc.cjs new file mode 100644 index 0000000..c00fce4 --- /dev/null +++ b/.lintstagedrc.cjs @@ -0,0 +1,6 @@ +module.exports = { + '*.{ts,js,cjs,vue}': [ + 'bash -c "vue-tsc --noEmit"', + 'eslint --fix' + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5867eae --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 ABOUTYOU / Public + +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/README.md b/README.md index afe1bd0..b270027 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,53 @@ -## Initial Setup +![scayle-logo-cr](https://cdn-prod.scayle.com/public/media/general/SCAYLE-Commerce-Engine-header.png) + +

+ SCAYLE Panel Demo Add-On +

+ +

+ Documentation | + Website +

+ +

+ The SCAYLE Panel Demo Add-On is showcasing how to write an Add-On in combination with the SCAYLE Component Library. +

+ +

+ SCAYLE's *Component Library* is released under the MIT license. +

+ + +## Getting Started + +Visit the [Add-On Developer Guide](https://scayle.dev/en/dev/add-on/introduction) to learn more on how to use the Panel icons. + +Visit the [Docs](https://scayle.dev) to learn more about our system requirements. + +## What is Scayle ? + +[SCAYLE](https://scayle.com) is a full-featured e-commerce software solution that comes with flexible APIs. Within SCAYLE, you can manage all aspects of your shop, such as products, stocks, customers, and transactions. + +Learn more about [Scayles’s architecture](https://scayle.dev/en/dev/getting-started/introduction) and [commerce modules](https://scayle.dev/en/dev/getting-started/introduction) in the Docs. + + +## Installation Before running the application, you need to configure your hosts file with the add-on's hostname. You'll also need to create an SSL key pair for this domain. It's also recommended to install [Volta](https://volta.sh/) in order to use the correct versions of node.js and npm. -1. Add `127.0.0.1 {hostname from .env}` (replace everything including the {}) to `/etc/hosts` -2. `npm ci` -3. **Make sure you have `openssl` installed on your computer for this step**. Generate ssl certificates with `npm run generate:ssl`. The domain name (aka hostname) is retrieved from `CONFIG_SERVER_HOST` in `.env`. +```shell +# Add +127.0.0.1 {hostname from .env}` (replace everything including the {}) to `/etc/hosts` + +# Execute +npm ci + +# !! Make sure you have openssl installed on your computer for this step. !! +# Generate a ssl certificates with the following command. The domain name (aka hostname) is retrieved from `CONFIG_SERVER_HOST` in `.env`. +npm run generate:ssl +``` ## Scripts @@ -31,3 +72,12 @@ Check types: `npm run typecheck` ## Shadow DOM To inject addon in it's own isolated container we can use [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM). To enable it you must set in .env `PANEL_USE_SHADOW_DOM=true`. + +## Other channels + +- [LinkedIn](https://www.linkedin.com/company/scaylecommerce/) +- [Jobs](https://careers.smartrecruiters.com/ABOUTYOUGmbH/scayle) +- [AboutYou Tech Blog](https://aboutyou.tech/) + +## License +Licensed under the [MIT](https://opensource.org/license/mit/) diff --git a/package-lock.json b/package-lock.json index 7b0b771..58372bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,19 +10,19 @@ "license": "proprietary", "dependencies": { "@scayle/add-on-utils": "^2.0.0", - "@scayle/components": "^1.0.2", - "@scayle/panel-icons": "^1.0.0", + "@scayle/components": "^1.6.0", + "@scayle/panel-icons": "^1.2.0", "@scayle/single-spa-vue": "^2.6.2", - "@scayle/tailwind-base": "^1.0.2", + "@scayle/tailwind-base": "^1.1.1", "@tanstack/vue-query": "^4.14.3", "@vueuse/core": "^9.4.0", - "element-plus": "^2.2.20", + "element-plus": "^2.3.4", "vue": "^3.2.41", "vue-router": "^4.1.6" }, "devDependencies": { "@types/node": "^18.11.9", - "@typescript-eslint/parser": "^5.42.0", + "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitest/coverage-c8": "^0.24.5", "@vue/test-utils": "^2.2.1", @@ -31,7 +31,7 @@ "eslint": "^8.27.0", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-unicorn": "^45.0.0", + "eslint-plugin-unicorn": "^48.0.0", "eslint-plugin-vue": "^9.7.0", "husky": "^8.0.1", "jsdom": "^20.0.2", @@ -47,13 +47,22 @@ "typescript": "^4.8.4", "unplugin-auto-import": "^0.11.4", "unplugin-icons": "0.14.13", - "unplugin-vue-components": "^0.22.9", + "unplugin-vue-components": "^0.24.1", "vite": "^3.2.2", "vite-tsconfig-paths": "^3.5.2", "vitest": "^0.24.5", "vue-tsc": "^0.40.13" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@antfu/install-pkg": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz", @@ -178,9 +187,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -310,16 +319,40 @@ "vue": "^3.2.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -333,6 +366,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@floating-ui/core": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", @@ -347,9 +389,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -523,17 +565,17 @@ "integrity": "sha512-F5NSDZiOjPowxkl60kIxK2NOJ1oytOs8YTZLVQ7MDPnLV1ynq24HAk9an9h3RzQ5EGuY3YutbVfHib/OskwPBQ==" }, "node_modules/@scayle/components": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@scayle/components/-/components-1.0.2.tgz", - "integrity": "sha512-ReTnIjxEDjwvpXRMzJ/wIKk7cg4/gXvFpL0798pwI0U2SrgPzMHRnRLaVXJdY58sxeRZkb37ODctUY+6vC9uXQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scayle/components/-/components-1.6.2.tgz", + "integrity": "sha512-hQ6W9qMx/zKvG0+LG/z0gAbzZgdJZjxnzYRJqNLA2vX/vGChdEAjMG+iIh+OQ7SN58/Q80z1Jgi4Kd8PrscCuA==", "peerDependencies": { "vue": ">= 3.2.0" } }, "node_modules/@scayle/panel-icons": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scayle/panel-icons/-/panel-icons-1.0.0.tgz", - "integrity": "sha512-t8EJw+1bJyXdWtg1OyvzH2/F2U+pCcMPWl7IxmY1CWbuoCeCmJpfI7FBqb8lyMBp0Gfp9h3pGSzLkRPP9revew==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@scayle/panel-icons/-/panel-icons-1.2.0.tgz", + "integrity": "sha512-iQJTJLtcZxp3QrK91DcWILOP7zl9hiApYPXWHwTo7FsaNoR1o4RviV0zQRPWDVNvMNZ4Z2G8eWe2KXxGM29iaw==" }, "node_modules/@scayle/single-spa-vue": { "version": "2.6.2", @@ -541,12 +583,12 @@ "integrity": "sha512-0B6mB5bApa1iOmPI4yWXab6k3u4TwUDz8oHYSygFR3I5RRdAz+wx4b5Nq8jAX7uu2QCmYMksWZDudroJw6np/g==" }, "node_modules/@scayle/tailwind-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@scayle/tailwind-base/-/tailwind-base-1.0.2.tgz", - "integrity": "sha512-mapMpZDax2W7dTHWPVFIakLmnOxqCsBTT45STrX4TL3CPoRpDVdpe+8AGqnV0NOLfqdzSpNH4f73vsqyqc2krA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scayle/tailwind-base/-/tailwind-base-1.1.1.tgz", + "integrity": "sha512-sXvZlCBy7EpHDTaO6yXzJn41fiuLouZJc608eemAyOsrUFPkDPsVuMygm5gKioAVq9KoA+XD66Ym4KsOcZ0jmQ==", "dependencies": { - "@scayle/panel-icons": "^1.0.0", - "color": "4.2.3" + "@scayle/panel-icons": "^1.2.0", + "color": "^4.2.3" }, "peerDependencies": { "tailwindcss": ">=3.1.0" @@ -704,25 +746,26 @@ "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" }, "node_modules/@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.0.0.tgz", + "integrity": "sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "6.0.0", + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/typescript-estree": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -731,16 +774,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.0.0.tgz", + "integrity": "sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -748,12 +791,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.0.0.tgz", + "integrity": "sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -761,21 +804,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.0.0.tgz", + "integrity": "sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.0", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -788,16 +831,16 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.0.0.tgz", + "integrity": "sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.0.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1120,9 +1163,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1645,10 +1688,16 @@ } }, "node_modules/ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { "node": ">=8" } @@ -2110,9 +2159,9 @@ "dev": true }, "node_modules/element-plus": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.2.20.tgz", - "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.4.tgz", + "integrity": "sha512-SQr0J9z7N4z48WYk/l9NE2tizl8Q7j2OhqlpTc42k4pGncry3+rVX6dsmcsglFynn6vt3NzYxWJqmLFyDKQq+g==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -2391,13 +2440,16 @@ } }, "node_modules/eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", - "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", + "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -2406,34 +2458,29 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -2602,36 +2649,35 @@ "dev": true }, "node_modules/eslint-plugin-unicorn": { - "version": "45.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.0.tgz", - "integrity": "sha512-iP8cMRxXKHonKioOhnCoCcqVhoqhAp6rB+nsoLjXFDxTHz3btWMAp8xwzjHA0B1K6YV/U/Yvqn1bUXZt8sJPuQ==", + "version": "48.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.0.tgz", + "integrity": "sha512-8fk/v3p1ro34JSVDBEmtOq6EEQRpMR0iTir79q69KnXFZ6DJyPkT3RAi+ZoTqhQMdDSpGh8BGR68ne1sP5cnAA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.19.1", - "ci-info": "^3.6.1", + "@babel/helper-validator-identifier": "^7.22.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", "clean-regexp": "^1.0.0", - "eslint-utils": "^3.0.0", - "esquery": "^1.4.0", + "esquery": "^1.5.0", "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.0", - "jsesc": "3.0.2", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", - "regjsparser": "0.9.1", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", "strip-indent": "^3.0.0" }, "engines": { - "node": ">=14.18" + "node": ">=16" }, "funding": { "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.28.0" + "eslint": ">=8.44.0" } }, "node_modules/eslint-plugin-vue": { @@ -2656,9 +2702,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -2666,6 +2712,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-utils": { @@ -2696,23 +2745,26 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2735,9 +2787,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -3112,9 +3164,9 @@ "dev": true }, "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3164,10 +3216,10 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has": { @@ -3444,9 +3496,9 @@ } }, "node_modules/is-builtin-module": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", - "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { "builtin-modules": "^3.3.0" @@ -3728,12 +3780,6 @@ "node": ">=8" } }, - "node_modules/js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4016,9 +4062,9 @@ } }, "node_modules/local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "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, "engines": { "node": ">=14" @@ -4719,17 +4765,17 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -5362,9 +5408,9 @@ "dev": true }, "node_modules/regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, "bin": { "regexp-tree": "bin/regexp-tree" @@ -5387,22 +5433,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -5578,15 +5612,6 @@ "tslib": "^2.1.0" } }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -5626,9 +5651,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6265,6 +6290,18 @@ "node": ">=12" } }, + "node_modules/ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -6283,27 +6320,6 @@ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6508,21 +6524,21 @@ } }, "node_modules/unplugin-vue-components": { - "version": "0.22.9", - "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.9.tgz", - "integrity": "sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", + "integrity": "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==", "dev": true, "dependencies": { - "@antfu/utils": "^0.6.0", + "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", "chokidar": "^3.5.3", "debug": "^4.3.4", "fast-glob": "^3.2.12", - "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", - "minimatch": "^5.1.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "minimatch": "^7.4.2", "resolve": "^1.22.1", - "unplugin": "^0.10.1" + "unplugin": "^1.1.0" }, "engines": { "node": ">=14" @@ -6532,18 +6548,22 @@ }, "peerDependencies": { "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", "vue": "2 || 3" }, "peerDependenciesMeta": { "@babel/parser": { "optional": true + }, + "@nuxt/kit": { + "optional": true } } }, "node_modules/unplugin-vue-components/node_modules/@antfu/utils": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.6.0.tgz", - "integrity": "sha512-VauUKmo22NYo3y6fIjGjVU7LJyhaedYL9kyabdvIIIl7P+qbNPbQiaLwwk4UOU4McFfA2eg+aIWpEYhkHzsE9Q==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", "dev": true, "funding": { "url": "https://github.com/sponsors/antfu" @@ -6558,18 +6578,51 @@ "balanced-match": "^1.0.0" } }, + "node_modules/unplugin-vue-components/node_modules/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, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/unplugin-vue-components/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/unplugin-vue-components/node_modules/unplugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz", + "integrity": "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-vue-components/node_modules/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 + }, "node_modules/update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -7148,6 +7201,12 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@antfu/install-pkg": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz", @@ -7235,9 +7294,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, "@babel/highlight": { @@ -7337,16 +7396,31 @@ "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==", "requires": {} }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -7354,6 +7428,12 @@ "strip-json-comments": "^3.1.1" } }, + "@eslint/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "dev": true + }, "@floating-ui/core": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", @@ -7368,9 +7448,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -7497,15 +7577,15 @@ "integrity": "sha512-F5NSDZiOjPowxkl60kIxK2NOJ1oytOs8YTZLVQ7MDPnLV1ynq24HAk9an9h3RzQ5EGuY3YutbVfHib/OskwPBQ==" }, "@scayle/components": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@scayle/components/-/components-1.0.2.tgz", - "integrity": "sha512-ReTnIjxEDjwvpXRMzJ/wIKk7cg4/gXvFpL0798pwI0U2SrgPzMHRnRLaVXJdY58sxeRZkb37ODctUY+6vC9uXQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scayle/components/-/components-1.6.2.tgz", + "integrity": "sha512-hQ6W9qMx/zKvG0+LG/z0gAbzZgdJZjxnzYRJqNLA2vX/vGChdEAjMG+iIh+OQ7SN58/Q80z1Jgi4Kd8PrscCuA==", "requires": {} }, "@scayle/panel-icons": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scayle/panel-icons/-/panel-icons-1.0.0.tgz", - "integrity": "sha512-t8EJw+1bJyXdWtg1OyvzH2/F2U+pCcMPWl7IxmY1CWbuoCeCmJpfI7FBqb8lyMBp0Gfp9h3pGSzLkRPP9revew==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@scayle/panel-icons/-/panel-icons-1.2.0.tgz", + "integrity": "sha512-iQJTJLtcZxp3QrK91DcWILOP7zl9hiApYPXWHwTo7FsaNoR1o4RviV0zQRPWDVNvMNZ4Z2G8eWe2KXxGM29iaw==" }, "@scayle/single-spa-vue": { "version": "2.6.2", @@ -7513,12 +7593,12 @@ "integrity": "sha512-0B6mB5bApa1iOmPI4yWXab6k3u4TwUDz8oHYSygFR3I5RRdAz+wx4b5Nq8jAX7uu2QCmYMksWZDudroJw6np/g==" }, "@scayle/tailwind-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@scayle/tailwind-base/-/tailwind-base-1.0.2.tgz", - "integrity": "sha512-mapMpZDax2W7dTHWPVFIakLmnOxqCsBTT45STrX4TL3CPoRpDVdpe+8AGqnV0NOLfqdzSpNH4f73vsqyqc2krA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scayle/tailwind-base/-/tailwind-base-1.1.1.tgz", + "integrity": "sha512-sXvZlCBy7EpHDTaO6yXzJn41fiuLouZJc608eemAyOsrUFPkDPsVuMygm5gKioAVq9KoA+XD66Ym4KsOcZ0jmQ==", "requires": { - "@scayle/panel-icons": "^1.0.0", - "color": "4.2.3" + "@scayle/panel-icons": "^1.2.0", + "color": "^4.2.3" } }, "@tanstack/match-sorter-utils": { @@ -7629,56 +7709,57 @@ "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" }, "@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.0.0.tgz", + "integrity": "sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "6.0.0", + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/typescript-estree": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.0.0.tgz", + "integrity": "sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0" } }, "@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.0.0.tgz", + "integrity": "sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.0.0.tgz", + "integrity": "sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", + "@typescript-eslint/types": "6.0.0", + "@typescript-eslint/visitor-keys": "6.0.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.0", + "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.0.0.tgz", + "integrity": "sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.0.0", + "eslint-visitor-keys": "^3.4.1" } }, "@vitejs/plugin-vue": { @@ -7946,9 +8027,9 @@ "dev": true }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, "acorn-globals": { @@ -8304,9 +8385,9 @@ } }, "ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true }, "clean-regexp": { @@ -8667,9 +8748,9 @@ "dev": true }, "element-plus": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.2.20.tgz", - "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.4.tgz", + "integrity": "sha512-SQr0J9z7N4z48WYk/l9NE2tizl8Q7j2OhqlpTc42k4pGncry3+rVX6dsmcsglFynn6vt3NzYxWJqmLFyDKQq+g==", "requires": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -8880,13 +8961,16 @@ } }, "eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", - "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", + "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -8895,34 +8979,29 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" } }, @@ -9051,26 +9130,25 @@ } }, "eslint-plugin-unicorn": { - "version": "45.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.0.tgz", - "integrity": "sha512-iP8cMRxXKHonKioOhnCoCcqVhoqhAp6rB+nsoLjXFDxTHz3btWMAp8xwzjHA0B1K6YV/U/Yvqn1bUXZt8sJPuQ==", + "version": "48.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.0.tgz", + "integrity": "sha512-8fk/v3p1ro34JSVDBEmtOq6EEQRpMR0iTir79q69KnXFZ6DJyPkT3RAi+ZoTqhQMdDSpGh8BGR68ne1sP5cnAA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.19.1", - "ci-info": "^3.6.1", + "@babel/helper-validator-identifier": "^7.22.5", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", "clean-regexp": "^1.0.0", - "eslint-utils": "^3.0.0", - "esquery": "^1.4.0", + "esquery": "^1.5.0", "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.0", - "jsesc": "3.0.2", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", - "regjsparser": "0.9.1", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.5.4", "strip-indent": "^3.0.0" } }, @@ -9090,9 +9168,9 @@ } }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -9117,20 +9195,20 @@ } }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" } }, "esprima": { @@ -9140,9 +9218,9 @@ "dev": true }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -9418,9 +9496,9 @@ "dev": true }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -9458,10 +9536,10 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has": { @@ -9660,9 +9738,9 @@ } }, "is-builtin-module": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", - "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "requires": { "builtin-modules": "^3.3.0" @@ -9842,12 +9920,6 @@ "istanbul-lib-report": "^3.0.0" } }, - "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -10065,9 +10137,9 @@ } }, "local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "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": { @@ -10586,17 +10658,17 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -11018,9 +11090,9 @@ } }, "regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true }, "regexp.prototype.flags": { @@ -11034,16 +11106,10 @@ "functions-have-names": "^1.2.2" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -11163,15 +11229,6 @@ "tslib": "^2.1.0" } }, - "safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "requires": { - "regexp-tree": "~0.1.1" - } - }, "safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -11205,9 +11262,9 @@ "dev": true }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -11675,6 +11732,13 @@ "punycode": "^2.1.1" } }, + "ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "requires": {} + }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -11693,23 +11757,6 @@ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -11846,27 +11893,27 @@ } }, "unplugin-vue-components": { - "version": "0.22.9", - "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.9.tgz", - "integrity": "sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz", + "integrity": "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==", "dev": true, "requires": { - "@antfu/utils": "^0.6.0", + "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", "chokidar": "^3.5.3", "debug": "^4.3.4", "fast-glob": "^3.2.12", - "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", - "minimatch": "^5.1.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "minimatch": "^7.4.2", "resolve": "^1.22.1", - "unplugin": "^0.10.1" + "unplugin": "^1.1.0" }, "dependencies": { "@antfu/utils": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.6.0.tgz", - "integrity": "sha512-VauUKmo22NYo3y6fIjGjVU7LJyhaedYL9kyabdvIIIl7P+qbNPbQiaLwwk4UOU4McFfA2eg+aIWpEYhkHzsE9Q==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", "dev": true }, "brace-expansion": { @@ -11878,14 +11925,41 @@ "balanced-match": "^1.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" + } + }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", "dev": true, "requires": { "brace-expansion": "^2.0.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" + } + }, + "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 } } }, diff --git a/package.json b/package.json index 6769475..15c78c1 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,15 @@ { "name": "demo-add-on-vite", + "description": "The SCAYLE Panel Demo Add-On is showcasing how to write an Add-On in combination with the SCAYLE Component Library.", + "homepage": "https://www.scayle.com/", "private": true, - "version": "0.0.0", + "version": "1.0.0", "type": "module", "scripts": { "dev": "vite", "unit": "vitest run", "coverage": "vitest run --coverage", - "typecheck": "vue-tsc", + "typecheck": "vue-tsc --noEmit", "preview": "vite preview", "build": "vue-tsc --noEmit && vite build", "build:watch": "vite build --watch --mode development", @@ -17,23 +19,33 @@ "code-lint": "eslint --fix 'src/**/*.{ts,tsx,vue,js}'", "lint-staged": "lint-staged" }, - "author": "ABOUT YOU", - "license": "proprietary", + "keywords": [ + "scayle", + "scayle panel", + "panel", + "scayle panel components", + "panel components", + "scayle panel add-on", + "panel-add-on", + "add-on" + ], + "author": "SCAYLE", + "license": "MIT", "dependencies": { "@scayle/add-on-utils": "^2.0.0", - "@scayle/components": "^1.0.2", - "@scayle/panel-icons": "^1.0.0", + "@scayle/components": "^1.6.0", + "@scayle/panel-icons": "^1.2.0", "@scayle/single-spa-vue": "^2.6.2", - "@scayle/tailwind-base": "^1.0.2", + "@scayle/tailwind-base": "^1.1.1", "@tanstack/vue-query": "^4.14.3", "@vueuse/core": "^9.4.0", - "element-plus": "^2.2.20", + "element-plus": "^2.3.4", "vue": "^3.2.41", "vue-router": "^4.1.6" }, "devDependencies": { "@types/node": "^18.11.9", - "@typescript-eslint/parser": "^5.42.0", + "@typescript-eslint/parser": "^6.0.0", "@vitejs/plugin-vue": "^3.2.0", "@vitest/coverage-c8": "^0.24.5", "@vue/test-utils": "^2.2.1", @@ -42,7 +54,7 @@ "eslint": "^8.27.0", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-unicorn": "^45.0.0", + "eslint-plugin-unicorn": "^48.0.0", "eslint-plugin-vue": "^9.7.0", "husky": "^8.0.1", "jsdom": "^20.0.2", @@ -58,7 +70,7 @@ "typescript": "^4.8.4", "unplugin-auto-import": "^0.11.4", "unplugin-icons": "0.14.13", - "unplugin-vue-components": "^0.22.9", + "unplugin-vue-components": "^0.24.1", "vite": "^3.2.2", "vite-tsconfig-paths": "^3.5.2", "vitest": "^0.24.5", @@ -66,6 +78,6 @@ }, "volta": { "node": "18.12.1", - "npm": "8.19.3" + "npm": "9.1.1" } } diff --git a/server-ssl/default.crt b/server-ssl/default.crt new file mode 100644 index 0000000..fb446dc --- /dev/null +++ b/server-ssl/default.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIJAMYHn13FfqJtMA0GCSqGSIb3DQEBCwUAMDAxLjAsBgNV +BAMMJWRlbW8tYWRkLW9uLmNsb3VkLXBhbmVsLmFib3V0eW91LnRlc3QwHhcNMjIx +MDI3MDczMDU1WhcNMzIxMDI0MDczMDU1WjAwMS4wLAYDVQQDDCVkZW1vLWFkZC1v +bi5jbG91ZC1wYW5lbC5hYm91dHlvdS50ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAsgyLwaQzuz5xHPHaNNKzhzup8MogQLhRBaZyLKbpDelyHelJ +8UcFlDevqwYvpOud7U3ew7/+I/ptf693sKhgZ1Dvb9xmyoW+SoO1tDZidCCFmDnU +jYDOvum8bsy7GNCjPtZuRyLpDki/gWF6sHFQ72ZlJ8SneaBvUTY8WVgG0lG+92Ql +RgScrH21ipX1ulPRHWIMz143qvvZUguk5T0ya6GXHzUGKuz9K9JiQyhezH/syNT5 +OOxn9o7LHIxvqpWo/+ItEupxrhb8/4ucG2sHZEbxYBORGfrrrB8yqtBE8JwTwpXR +rCKcTj7hMYxC7ksVToe3UtvNNSTYfUihiYoIgQIDAQABozQwMjAwBgNVHREEKTAn +giVkZW1vLWFkZC1vbi5jbG91ZC1wYW5lbC5hYm91dHlvdS50ZXN0MA0GCSqGSIb3 +DQEBCwUAA4IBAQBIynHOQJwV5WINt4+dDCBivEbCa5QcyAPXRNpeXSMnNDhq1Jjm +ctSdf415axmXqPoLffM0HrOZe31c5O+QccIdqToXICwEwFvgFHPgejDcx+VeW5ZA +tZcUkFa5rb26aFQL+tvZjwgAwNtaSkSTKYUOYH5D7nRGFZJWNQ1XB8fKtYuxw2kz +dSqgOYyFE6HZKpD1y/5KFqtDO29SW87QtJHuuvkECEpbSt/hwyq4E9RWhXRiyjM8 +WpIwqxP2LEMvCI5RcImGcgB+dmENzWrKfAFD2NgHkAZYULbJ46Py/Xuqfet1lSB+ +13sKRsKxG7wJ7thzZQbhcQsUwReV7okxx4lG +-----END CERTIFICATE----- diff --git a/server-ssl/default.key b/server-ssl/default.key new file mode 100644 index 0000000..caaa642 --- /dev/null +++ b/server-ssl/default.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAsgyLwaQzuz5xHPHaNNKzhzup8MogQLhRBaZyLKbpDelyHelJ +8UcFlDevqwYvpOud7U3ew7/+I/ptf693sKhgZ1Dvb9xmyoW+SoO1tDZidCCFmDnU +jYDOvum8bsy7GNCjPtZuRyLpDki/gWF6sHFQ72ZlJ8SneaBvUTY8WVgG0lG+92Ql +RgScrH21ipX1ulPRHWIMz143qvvZUguk5T0ya6GXHzUGKuz9K9JiQyhezH/syNT5 +OOxn9o7LHIxvqpWo/+ItEupxrhb8/4ucG2sHZEbxYBORGfrrrB8yqtBE8JwTwpXR +rCKcTj7hMYxC7ksVToe3UtvNNSTYfUihiYoIgQIDAQABAoIBAEwRHhgxrcQ+Thb+ +oKnWpsqMy/LKd/MOi9btIHRBLuo5pP5wb528KP8Et3FKqEo+O29pyFU7DjmSwPs/ +HNSFawJYyqKwt92oO/8bvCJs5a0VQ94gPtXhhPJ9a3quzvQwFr4+4EhV+tmWbPK6 +ka8WCmztAyR1WNOWnlhE4o2NFQT/HrvORR4p+vYwmK5N7E4QIxyNijc/ACwJDMDN +8FTb3v/c0sI9IO7nbdDTNOnqlYVyXMQQtxn2FYzGzAIP3A8a5wYmihZuVHQjSZAL +Vi7Qifk7OyMLycCWAxguNYIbBJrxjUPKk/F+zlxN/lybI1Bv9RM5s63A8KzUeyre +Q3Nk59ECgYEA5b6ySDVEVkaeDlkFY4omNV4w/IlgMQH70izucm27ofkGUhbhyIqt +byI7kICtVFihTavhyc1RdEefmksVq4WKFU9AuKvXcNxzKUY0c0iJE+HbImMDsXMB +m74PMFZVieh+9M93lLC1PeKaEUNsAf41NX8pHFrwPTIv29Xcxnfmiq0CgYEAxmV1 +s7v5fexF+cRAoGpFGHsiCx5dHtWbkIXMASHOIWyn6wt0AiGHkbFBst91wIeaBwV+ +R2o9wofmH2SBfXMu563Dgsj+cPSt0sLLoeV7fqAGXuZS1xTnjyA4IdpSWQkQLm9i +cuPB/9xUjnDzhEyvZIySTUGgeYyBb3Y1cRWRI6UCgYAXCso8vcLt2EVP8RO+SQPO +BHVrTqfsImPMT59WsLTJ6Pz+TLc2cto0ND2/H3jC5eS/soaBw+rwe6KBShiRTGJu +ArXeD7Ya5rFSKW1nRpYg/V0KFN4w9PTrVuOVGIOZwkzBZvF6Y0K6QzjqlFWH2aQi +im9oHaLMsHTmWou7CBmCPQKBgFcYxaJhHHd2mYW77W8/GBRWQizFaLYXqpK42kWI +9LhhvhoGzif9VknUmnYPed9K6Ii6laR+dJyJErKnad2MCoR1GUa6PFGUaRcEo2bw +mtWNJR7WWHnJ2JpR17Ks6MfjnbH0/jBX4pwTux9JYO6sx7cJq1S1QeD6mPw41d9O +S4htAoGAb4WmtfmLwmDvfvhYXK7A9LcfaLleTPXa/m0BQk76VR2FCmtZLM7ibAI9 +Bm93bzsFmd4BDo6U4jHaTqmcjdmLNuT+Gyjb81mcty4i6Xlbd1g76BsSx98PMZCg +TSWt6aEoIi5bffwx0TdOLvVxdIPhB9YxsxaEZwIJ7h9ODlPBGRw= +-----END RSA PRIVATE KEY----- diff --git a/src/app.css b/src/app.css index b267934..8a442f0 100644 --- a/src/app.css +++ b/src/app.css @@ -28,3 +28,7 @@ height: 60px; width: 60px; } + +.single-spa-container { + --el-color-primary: #0dcc8d !important; +} diff --git a/src/components.d.ts b/src/components.d.ts index 6fa04bc..89b1e57 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -1,5 +1,7 @@ -// generated by unplugin-vue-components -// We suggest you to commit this file into source control +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by unplugin-vue-components // Read more: https://github.com/vuejs/core/pull/3399 import '@vue/runtime-core' @@ -10,6 +12,7 @@ declare module '@vue/runtime-core' { AyCountrySelect: typeof import('@scayle/components')['CountrySelect'] AyCurrencyBehavior: typeof import('@scayle/components')['CurrencyBehavior'] AyCurrencyInput: typeof import('@scayle/components')['CurrencyInput'] + AyDangerousActionModal: typeof import('@scayle/components')['DangerousActionModal'] AyDashboardList: typeof import('@scayle/components')['DashboardList'] AyDashboardListItem: typeof import('@scayle/components')['DashboardListItem'] AyDashboardStatistic: typeof import('@scayle/components')['DashboardStatistic'] @@ -18,6 +21,7 @@ declare module '@vue/runtime-core' { AyOffCanvas: typeof import('@scayle/components')['OffCanvas'] AyOption: typeof import('@scayle/components')['Option'] AyPaginationLayout: typeof import('@scayle/components')['PaginationLayout'] + AySearchInput: typeof import('@scayle/components')['SearchInput'] AySelect: typeof import('@scayle/components')['Select'] AySpinner: typeof import('@scayle/components')['Spinner'] AyTab: typeof import('@scayle/components')['Tab'] @@ -26,17 +30,14 @@ declare module '@vue/runtime-core' { ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] IconArrowRight: typeof import('~icons/panel/arrow-right')['default'] + IconClose: typeof import('~icons/panel/close')['default'] IconFilter: typeof import('~icons/panel/filter')['default'] IconImageSingle: typeof import('~icons/panel/image-single')['default'] IconMoney: typeof import('~icons/panel/money')['default'] IconParcel: typeof import('~icons/panel/parcel')['default'] IconQuestionFill: typeof import('~icons/panel/question-fill')['default'] - IconShirt: typeof import('~icons/panel/shirt')['default'] IconTrash: typeof import('~icons/panel/trash')['default'] IconUser: typeof import('~icons/panel/user')['default'] - LabeledComponent: typeof import('~icons/la/beled-component')['default'] - LabeledInput: typeof import('~icons/la/beled-input')['default'] - LabelInput: typeof import('~icons/la/bel-input')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] } diff --git a/src/components/ColumnTemplates/ImageColumnTemplate.vue b/src/components/ColumnTemplates/ImageColumnTemplate.vue index 5c77a8e..8d6cb44 100644 --- a/src/components/ColumnTemplates/ImageColumnTemplate.vue +++ b/src/components/ColumnTemplates/ImageColumnTemplate.vue @@ -3,7 +3,7 @@ diff --git a/src/components/ColumnTemplates/ProductActionsColumnTemplate.vue b/src/components/ColumnTemplates/ProductActionsColumnTemplate.vue new file mode 100644 index 0000000..6707107 --- /dev/null +++ b/src/components/ColumnTemplates/ProductActionsColumnTemplate.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/components/ColumnTemplates/ProductStockColumnTemplate.vue b/src/components/ColumnTemplates/ProductStockColumnTemplate.vue index 09d29df..b00de6a 100644 --- a/src/components/ColumnTemplates/ProductStockColumnTemplate.vue +++ b/src/components/ColumnTemplates/ProductStockColumnTemplate.vue @@ -15,7 +15,7 @@ import { defineComponent, PropType } from 'vue'; /** * Internal dependencies. */ -import { ProductsData } from '@/types/ProductsData'; +import { Product } from '@/types/Product'; export default defineComponent({ name: 'ProductStockColumnTemplate', @@ -29,7 +29,7 @@ export default defineComponent({ }, payload: { - type: Object as PropType, + type: Object as PropType, required: true, }, diff --git a/src/components/ColumnTemplates/StatusColumnTemplate.vue b/src/components/ColumnTemplates/StatusColumnTemplate.vue index bf60efe..b7cc1a5 100644 --- a/src/components/ColumnTemplates/StatusColumnTemplate.vue +++ b/src/components/ColumnTemplates/StatusColumnTemplate.vue @@ -12,6 +12,7 @@ * External dependencies. */ import { computed, defineComponent, toRefs } from 'vue'; +import { firstLetterToUpper } from '@/utils'; /** * Internal dependencies. @@ -29,7 +30,7 @@ export default defineComponent({ setup(props) { const { payload } = toRefs(props); - const statusLabel = computed(() => payload.value.slice(0, 1).toUpperCase() + payload.value.slice(1)); + const statusLabel = computed(() => firstLetterToUpper(payload.value)); const bulletClass = computed(() => { let status = ''; diff --git a/src/components/LoadingOverlay/LoadingOverlay.vue b/src/components/LoadingOverlay/LoadingOverlay.vue new file mode 100644 index 0000000..486d737 --- /dev/null +++ b/src/components/LoadingOverlay/LoadingOverlay.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.css b/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.css new file mode 100644 index 0000000..73e33a9 --- /dev/null +++ b/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.css @@ -0,0 +1,39 @@ +.el-table :deep(.el-table__cell) { + @apply text-black; + font-size: 13px; + padding: 12px 10px; + border-top: none; + border-bottom: none; + vertical-align: middle; +} + +.el-table :deep(.el-scrollbar) { + @apply overflow-auto; +} + +.el-table :deep(.table-column-names-row th) { + @apply bg-light text-black; + + border-top: 1px solid #e9eaec; + border-bottom: none; + font-size: 13px; + font-weight: bold; + padding: 5px 10px; +} + +.el-table :deep(.table-column-names-row .cell) { + @apply inline-flex; + line-height: 1; +} + +.el-table :deep(.table-column-names-row .cell .column-name-wrapper) { + padding: 0; + line-height: 1.5; + width: 100%; +} + +.el-table :deep(.table-column-names-row .cell .column-name-wrapper .column-name) { + vertical-align: middle; + padding: 0; + line-height: 1.5; +} diff --git a/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.vue b/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.vue new file mode 100644 index 0000000..edd4ba7 --- /dev/null +++ b/src/components/ProductsListing/PrdocutsListingBody/ProductsListingBody.vue @@ -0,0 +1,88 @@ + + + + + +