From 70b920a79b302137da411ced6d66b22e21045b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=BF=97=E4=BC=9F?= <2055572879@qq.com> Date: Thu, 28 Mar 2024 19:44:10 +0800 Subject: [PATCH 1/5] fix styles --- seatunnel-ui/.eslintrc.js | 3 +- seatunnel-ui/package.json | 79 +- seatunnel-ui/pnpm-lock.yaml | 3168 ++++++++++------- seatunnel-ui/src/App.tsx | 34 +- .../src/components/checkbox-tree/index.tsx | 6 +- .../components/column-selector/dealColumns.ts | 1 - .../dynamic-form/dynamic-form-item.tsx | 14 +- .../dynamic-form/use-form-request.ts | 4 +- .../dynamic-form/use-form-structure.ts | 2 +- .../dynamic-form/use-form-validate.ts | 2 +- .../src/components/log-modal/index.tsx | 13 +- .../src/components/resource-auth/index.tsx | 5 +- seatunnel-ui/src/directives/permission.ts | 28 +- seatunnel-ui/src/hooks/use-source-type.ts | 2 +- seatunnel-ui/src/hooks/use-table-link.ts | 46 +- seatunnel-ui/src/hooks/use-table-operation.ts | 129 +- .../layouts/dashboard/header/menu/use-menu.ts | 3 +- .../layouts/dashboard/header/user/index.tsx | 8 +- seatunnel-ui/src/layouts/dashboard/index.tsx | 19 +- .../src/layouts/dashboard/sidebar/index.tsx | 18 +- seatunnel-ui/src/locales/en_US/common.ts | 2 +- seatunnel-ui/src/locales/en_US/menu.ts | 2 +- seatunnel-ui/src/locales/en_US/project.ts | 11 +- seatunnel-ui/src/locales/zh_CN/common.ts | 2 +- seatunnel-ui/src/locales/zh_CN/data-pipes.ts | 3 +- seatunnel-ui/src/locales/zh_CN/datasource.ts | 2 +- seatunnel-ui/src/locales/zh_CN/menu.ts | 2 +- seatunnel-ui/src/locales/zh_CN/project.ts | 2 +- seatunnel-ui/src/locales/zh_CN/user-manage.ts | 3 +- seatunnel-ui/src/router/index.ts | 4 +- seatunnel-ui/src/router/tasks.ts | 4 +- seatunnel-ui/src/router/user-manage.ts | 2 +- seatunnel-ui/src/router/virtual-tables.ts | 6 +- seatunnel-ui/src/service/data-source/index.ts | 11 +- seatunnel-ui/src/service/data-source/types.ts | 1 - seatunnel-ui/src/service/service.ts | 2 +- .../src/service/sync-task-definition/index.ts | 6 +- .../src/service/task-instances/index.ts | 4 +- seatunnel-ui/src/themes/modules/dark.ts | 4 +- seatunnel-ui/src/themes/modules/light.ts | 3 +- seatunnel-ui/src/utils/time.ts | 18 +- .../src/views/datasource/create/index.tsx | 59 +- .../src/views/datasource/create/use-detail.ts | 9 +- .../src/views/datasource/create/use-form.ts | 13 +- .../src/views/datasource/list/index.tsx | 11 +- .../src/views/datasource/list/use-columns.ts | 20 +- .../src/views/datasource/list/use-source.ts | 1 - .../src/views/datasource/list/use-table.ts | 7 +- seatunnel-ui/src/views/login/use-form.ts | 1 - seatunnel-ui/src/views/setting/index.tsx | 2 +- .../src/views/setting/theme/index.tsx | 15 +- .../src/views/setting/theme/use-theme.ts | 6 +- .../dag/canvas/index.tsx | 36 +- .../dag/canvas/node.tsx | 6 +- .../dag/canvas/use-dag-graph.ts | 33 +- .../dag/canvas/use-dag-resize.ts | 2 +- .../dag/configuration-form.tsx | 24 +- .../dag/node-model.tsx | 20 +- .../dag/sidebar/use-sidebar.ts | 10 +- .../dag/split-modal.tsx | 8 +- .../dag/toolbar/task-setting-modal.tsx | 8 +- .../dag/toolbar/use-task-setting-modal.ts | 10 +- .../dag/use-configuration-form.ts | 14 +- .../dag/use-model-columns.ts | 183 +- .../dag/use-model.ts | 302 +- .../dag/use-node-setting.ts | 140 +- .../task/synchronization-definition/index.tsx | 14 +- .../synchronization-definition/task-modal.tsx | 9 +- .../synchronization-definition/use-table.ts | 74 +- .../use-task-modal.ts | 5 +- .../detail/dag/dag-setting.ts | 1 - .../detail/dag/use-dag-graph.ts | 13 +- .../detail/dag/use-dag-resize.ts | 2 +- .../detail/running-instance.tsx | 8 +- .../detail/task-definition.tsx | 31 +- .../task/synchronization-instance/index.tsx | 7 +- .../synchronization-instance/sync-task.tsx | 65 +- .../synchronization-instance/use-sync-task.ts | 182 +- .../src/views/virtual-tables/detail.tsx | 1 - .../src/views/virtual-tables/list/index.tsx | 80 +- .../views/virtual-tables/list/use-columns.ts | 10 +- .../views/virtual-tables/list/use-table.ts | 4 +- .../views/virtual-tables/step-one-form.tsx | 2 +- .../views/virtual-tables/step-two-table.tsx | 8 +- .../src/views/virtual-tables/use-detail.ts | 3 - 85 files changed, 2970 insertions(+), 2167 deletions(-) diff --git a/seatunnel-ui/.eslintrc.js b/seatunnel-ui/.eslintrc.js index b772b7cce..9983d79f5 100644 --- a/seatunnel-ui/.eslintrc.js +++ b/seatunnel-ui/.eslintrc.js @@ -66,6 +66,7 @@ module.exports = { 'vue/component-definition-name-casing': 'off', 'vue/require-valid-default-prop': 'off', 'no-console': 'error', - 'vue/no-setup-props-destructure': 'off' + 'vue/no-setup-props-destructure': 'off', + 'vue/one-component-per-file': 'off' } } diff --git a/seatunnel-ui/package.json b/seatunnel-ui/package.json index 7df06eded..c93f7d53c 100644 --- a/seatunnel-ui/package.json +++ b/seatunnel-ui/package.json @@ -9,49 +9,54 @@ "prettier": "prettier --write \"src/**/*.{vue,ts,tsx}\"" }, "dependencies": { - "@antv/layout": "0.1.31", - "@antv/x6": "1.30.1", - "@antv/x6-vue-shape": "1.5.3", - "@vueuse/core": "^9.13.0", - "autoprefixer": "^10.4.13", - "axios": "^1.3.4", - "date-fns": "^2.29.3", - "date-fns-tz": "^2.0.0", - "echarts": "^5.4.1", + "@antv/layout": "0.3.25", + "@antv/x6": "2.18.1", + "@antv/x6-plugin-history": "^2.2.4", + "@antv/x6-plugin-keyboard": "^2.2.3", + "@antv/x6-plugin-minimap": "^2.0.7", + "@antv/x6-plugin-scroller": "^2.0.10", + "@antv/x6-plugin-selection": "^2.2.2", + "@antv/x6-vue-shape": "2.1.2", + "@vueuse/core": "^10.9.0", + "autoprefixer": "^10.4.19", + "axios": "^1.6.8", + "date-fns": "^3.6.0", + "date-fns-tz": "^2.0.1", + "echarts": "^5.5.0", "lodash": "^4.17.21", - "monaco-editor": "^0.36.1", - "naive-ui": "2.34.3", + "monaco-editor": "^0.47.0", + "naive-ui": "2.38.1", "nprogress": "^0.2.0", - "pinia": "^2.0.32", - "pinia-plugin-persistedstate": "^3.1.0", - "postcss": "^8.4.21", - "screenfull": "6.0.1", - "tailwindcss": "^3.2.7", - "vue": "^3.2.47", - "vue-i18n": "^9.2.2", - "vue-router": "^4.1.6" + "pinia": "^2.1.7", + "pinia-plugin-persistedstate": "^3.2.1", + "postcss": "^8.4.38", + "screenfull": "6.0.2", + "tailwindcss": "^3.4.1", + "vue": "^3.4.21", + "vue-i18n": "^9.10.2", + "vue-router": "^4.3.0" }, "devDependencies": { - "@types/lodash": "^4.14.191", - "@types/node": "^18.14.6", - "@types/nprogress": "^0.2.0", - "@typescript-eslint/eslint-plugin": "^5.54.0", - "@typescript-eslint/parser": "^5.54.0", + "@types/lodash": "^4.17.0", + "@types/node": "^20.11.30", + "@types/nprogress": "^0.2.3", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", "@vicons/antd": "^0.12.0", - "@vitejs/plugin-vue": "^4.0.0", - "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vitejs/plugin-vue": "^5.0.4", + "@vitejs/plugin-vue-jsx": "^3.1.0", "dart-sass": "^1.25.0", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.9.0", - "prettier": "^2.8.4", - "sass": "^1.58.3", - "sass-loader": "^13.2.0", - "typescript": "^4.9.5", - "typescript-plugin-css-modules": "^4.2.2", - "vite": "^4.1.4", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.24.0", + "prettier": "^3.2.5", + "sass": "^1.72.0", + "sass-loader": "^14.1.1", + "typescript": "^5.4.3", + "typescript-plugin-css-modules": "^5.1.0", + "vite": "^5.2.6", "vite-plugin-compression": "^0.5.1", - "vue-tsc": "^1.2.0" + "vue-tsc": "^2.0.7" } } diff --git a/seatunnel-ui/pnpm-lock.yaml b/seatunnel-ui/pnpm-lock.yaml index daee7b323..c22547f18 100644 --- a/seatunnel-ui/pnpm-lock.yaml +++ b/seatunnel-ui/pnpm-lock.yaml @@ -1,412 +1,606 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -lockfileVersion: 5.4 - -specifiers: - '@types/lodash': ^4.14.191 - '@types/node': ^18.14.6 - '@types/nprogress': ^0.2.0 - '@typescript-eslint/eslint-plugin': ^5.54.0 - '@typescript-eslint/parser': ^5.54.0 - '@vicons/antd': ^0.12.0 - '@vitejs/plugin-vue': ^4.0.0 - '@vitejs/plugin-vue-jsx': ^3.0.0 - '@vueuse/core': ^9.13.0 - autoprefixer: ^10.4.13 - axios: ^1.3.4 - dart-sass: ^1.25.0 - date-fns: ^2.29.3 - date-fns-tz: ^2.0.0 - echarts: ^5.4.1 - eslint: ^8.35.0 - eslint-config-prettier: ^8.6.0 - eslint-plugin-prettier: ^4.2.1 - eslint-plugin-vue: ^9.9.0 - lodash: ^4.17.21 - monaco-editor: ^0.36.1 - naive-ui: 2.34.3 - nprogress: ^0.2.0 - pinia: ^2.0.32 - pinia-plugin-persistedstate: ^3.1.0 - postcss: ^8.4.21 - prettier: ^2.8.4 - sass: ^1.58.3 - sass-loader: ^13.2.0 - tailwindcss: ^3.2.7 - typescript: ^4.9.5 - typescript-plugin-css-modules: ^4.2.2 - vfonts: ^0.0.3 - vite: ^4.1.4 - vite-plugin-compression: ^0.5.1 - vue: ^3.2.47 - vue-i18n: ^9.2.2 - vue-router: ^4.1.6 - vue-tsc: ^1.2.0 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@vueuse/core': 9.13.0_vue@3.2.47 - autoprefixer: 10.4.13_postcss@8.4.21 - axios: 1.3.4 - date-fns: 2.29.3 - date-fns-tz: 2.0.0_date-fns@2.29.3 - echarts: 5.4.1 - lodash: 4.17.21 - monaco-editor: 0.36.1 - naive-ui: 2.34.3_vue@3.2.47 - nprogress: 0.2.0 - pinia: 2.0.32_hmuptsblhheur2tugfgucj7gc4 - pinia-plugin-persistedstate: 3.1.0_pinia@2.0.32 - postcss: 8.4.21 - tailwindcss: 3.2.7_postcss@8.4.21 - vfonts: 0.0.3 - vue: 3.2.47 - vue-i18n: 9.2.2_vue@3.2.47 - vue-router: 4.1.6_vue@3.2.47 + '@antv/layout': + specifier: 0.3.25 + version: 0.3.25(dagre@0.8.5) + '@antv/x6': + specifier: 2.18.1 + version: 2.18.1 + '@antv/x6-plugin-history': + specifier: ^2.2.4 + version: 2.2.4(@antv/x6@2.18.1) + '@antv/x6-plugin-keyboard': + specifier: ^2.2.3 + version: 2.2.3(@antv/x6@2.18.1) + '@antv/x6-plugin-minimap': + specifier: ^2.0.7 + version: 2.0.7(@antv/x6@2.18.1) + '@antv/x6-plugin-scroller': + specifier: ^2.0.10 + version: 2.0.10(@antv/x6@2.18.1) + '@antv/x6-plugin-selection': + specifier: ^2.2.2 + version: 2.2.2(@antv/x6@2.18.1) + '@antv/x6-vue-shape': + specifier: 2.1.2 + version: 2.1.2(@antv/x6@2.18.1)(vue@3.4.21) + '@vueuse/core': + specifier: ^10.9.0 + version: 10.9.0(vue@3.4.21) + autoprefixer: + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) + axios: + specifier: ^1.6.8 + version: 1.6.8 + date-fns: + specifier: ^3.6.0 + version: 3.6.0 + date-fns-tz: + specifier: ^2.0.1 + version: 2.0.1(date-fns@3.6.0) + echarts: + specifier: ^5.5.0 + version: 5.5.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + monaco-editor: + specifier: ^0.47.0 + version: 0.47.0 + naive-ui: + specifier: 2.38.1 + version: 2.38.1(vue@3.4.21) + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.4.3)(vue@3.4.21) + pinia-plugin-persistedstate: + specifier: ^3.2.1 + version: 3.2.1(pinia@2.1.7) + postcss: + specifier: ^8.4.38 + version: 8.4.38 + screenfull: + specifier: 6.0.2 + version: 6.0.2 + tailwindcss: + specifier: ^3.4.1 + version: 3.4.1 + vue: + specifier: ^3.4.21 + version: 3.4.21(typescript@5.4.3) + vue-i18n: + specifier: ^9.10.2 + version: 9.10.2(vue@3.4.21) + vue-router: + specifier: ^4.3.0 + version: 4.3.0(vue@3.4.21) devDependencies: - '@types/lodash': 4.14.191 - '@types/node': 18.14.6 - '@types/nprogress': 0.2.0 - '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi - '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu - '@vicons/antd': 0.12.0 - '@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.47 - '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.1.4+vue@3.2.47 - dart-sass: 1.25.0 - eslint: 8.35.0 - eslint-config-prettier: 8.6.0_eslint@8.35.0 - eslint-plugin-prettier: 4.2.1_u2zha4kiojzs42thzpgwygphmy - eslint-plugin-vue: 9.9.0_eslint@8.35.0 - prettier: 2.8.4 - sass: 1.58.3 - sass-loader: 13.2.0_sass@1.58.3 - typescript: 4.9.5 - typescript-plugin-css-modules: 4.2.2_typescript@4.9.5 - vite: 4.1.4_tbu6ibuzbmq2zng52hwcifltki - vite-plugin-compression: 0.5.1_vite@4.1.4 - vue-tsc: 1.2.0_typescript@4.9.5 + '@types/lodash': + specifier: ^4.17.0 + version: 4.17.0 + '@types/node': + specifier: ^20.11.30 + version: 20.11.30 + '@types/nprogress': + specifier: ^0.2.3 + version: 0.2.3 + '@typescript-eslint/eslint-plugin': + specifier: ^7.4.0 + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': + specifier: ^7.4.0 + version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@vicons/antd': + specifier: ^0.12.0 + version: 0.12.0 + '@vitejs/plugin-vue': + specifier: ^5.0.4 + version: 5.0.4(vite@5.2.6)(vue@3.4.21) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.2.6)(vue@3.4.21) + dart-sass: + specifier: ^1.25.0 + version: 1.25.0 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-vue: + specifier: ^9.24.0 + version: 9.24.0(eslint@8.57.0) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + sass: + specifier: ^1.72.0 + version: 1.72.0 + sass-loader: + specifier: ^14.1.1 + version: 14.1.1(sass@1.72.0) + typescript: + specifier: ^5.4.3 + version: 5.4.3 + typescript-plugin-css-modules: + specifier: ^5.1.0 + version: 5.1.0(typescript@5.4.3) + vite: + specifier: ^5.2.6 + version: 5.2.6(@types/node@20.11.30)(sass@1.72.0) + vite-plugin-compression: + specifier: ^0.5.1 + version: 0.5.1(vite@5.2.6) + vue-tsc: + specifier: ^2.0.7 + version: 2.0.7(typescript@5.4.3) packages: - /@adobe/css-tools/4.2.0: - resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@adobe/css-tools@4.3.3: + resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} dev: true - /@ampproject/remapping/2.2.0: + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: false + + /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + /@antv/g-webgpu-core@0.7.2: + resolution: {integrity: sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w==} + dependencies: + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + lodash: 4.17.21 + probe.gl: 3.6.0 + dev: false + + /@antv/g-webgpu-engine@0.7.2: + resolution: {integrity: sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg==} + dependencies: + '@antv/g-webgpu-core': 0.7.2 + gl-matrix: 3.4.3 + lodash: 4.17.21 + regl: 1.7.0 + dev: false + + /@antv/g-webgpu@0.7.2: + resolution: {integrity: sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ==} + dependencies: + '@antv/g-webgpu-core': 0.7.2 + '@antv/g-webgpu-engine': 0.7.2 + gl-matrix: 3.4.3 + gl-vec2: 1.3.0 + lodash: 4.17.21 + dev: false + + /@antv/graphlib@1.2.0: + resolution: {integrity: sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==} + dev: false + + /@antv/layout@0.3.25(dagre@0.8.5): + resolution: {integrity: sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g==} + dependencies: + '@antv/g-webgpu': 0.7.2 + '@antv/graphlib': 1.2.0 + '@antv/util': 3.3.7 + d3-force: 2.1.1 + d3-quadtree: 2.0.0 + dagre-compound: 0.0.11(dagre@0.8.5) + ml-matrix: 6.5.0 + transitivePeerDependencies: + - dagre + dev: false + + /@antv/util@3.3.7: + resolution: {integrity: sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==} + dependencies: + fast-deep-equal: 3.1.3 + gl-matrix: 3.4.3 + tslib: 2.5.0 + dev: false + + /@antv/x6-common@2.0.17: + resolution: {integrity: sha512-37g7vmRkNdYzZPdwjaMSZEGv/MMH0S4r70/Jwoab1mioycmuIBN73iyziX8m56BvJSDucZ3J/6DU07otWqzS6A==} + dependencies: + lodash-es: 4.17.21 + utility-types: 3.11.0 + dev: false + + /@antv/x6-geometry@2.0.5: + resolution: {integrity: sha512-MId6riEQkxphBpVeTcL4ZNXL4lScyvDEPLyIafvWMcWNTGK0jgkK7N20XSzqt8ltJb0mGUso5s56mrk8ysHu2A==} + dev: false + + /@antv/x6-plugin-history@2.2.4(@antv/x6@2.18.1): + resolution: {integrity: sha512-9gHHvEW4Fla+1hxUV49zNgJyIMoV9CjVM52MrFgAJcvyRn1Kvxz4MfxiKlG+DEZUs+/zvfjl9pS6gJOd8laRkg==} + peerDependencies: + '@antv/x6': ^2.x + dependencies: + '@antv/x6': 2.18.1 + dev: false + + /@antv/x6-plugin-keyboard@2.2.3(@antv/x6@2.18.1): + resolution: {integrity: sha512-pnCIC+mDyKKfkcDyLePfGxKVIqXBcldTgannITkHC1kc0IafRS1GMvzpvuDGrM5haRYd6Nwz8kjkJyHkJE4GPA==} + peerDependencies: + '@antv/x6': ^2.x + dependencies: + '@antv/x6': 2.18.1 + mousetrap: 1.6.5 + dev: false + + /@antv/x6-plugin-minimap@2.0.7(@antv/x6@2.18.1): + resolution: {integrity: sha512-8zzESCx0jguFPCOKCA0gPFb6JmRgq81CXXtgJYe34XhySdZ6PB23I5Po062lNsEuTjTjnzli4lju8vvU+jzlGw==} + peerDependencies: + '@antv/x6': ^2.x + dependencies: + '@antv/x6': 2.18.1 + dev: false + + /@antv/x6-plugin-scroller@2.0.10(@antv/x6@2.18.1): + resolution: {integrity: sha512-CrC5zCbtPe7LJEKK8ucLcDN+9lMtTJNApFmFObAiR/y2LO1QFCHz8GGLVeNOZaIEmJbR/Z/etpJkvc1LE7WhTg==} + peerDependencies: + '@antv/x6': ^2.x + dependencies: + '@antv/x6': 2.18.1 + dev: false + + /@antv/x6-plugin-selection@2.2.2(@antv/x6@2.18.1): + resolution: {integrity: sha512-s2gtR9Onlhr7HOHqyqg0d+4sG76JCcQEbvrZZ64XmSChlvieIPlC3YtH4dg1KMNhYIuBmBmpSum6S0eVTEiPQw==} + peerDependencies: + '@antv/x6': ^2.x + dependencies: + '@antv/x6': 2.18.1 + dev: false + + /@antv/x6-vue-shape@2.1.2(@antv/x6@2.18.1)(vue@3.4.21): + resolution: {integrity: sha512-lfLNJ2ztK8NP2JBAWTD6m5Wol0u6tOqj2KdOhWZoT8EtEw9rMmAdxsr8uTi9MRJO9pDMM0nbsR3cidnMh7VeDQ==} + peerDependencies: + '@antv/x6': ^2.x + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@antv/x6': 2.18.1 + vue: 3.4.21(typescript@5.4.3) + vue-demi: 0.14.7(vue@3.4.21) + dev: false + + /@antv/x6@2.18.1: + resolution: {integrity: sha512-FkWdbLOpN9J7dfJ+kiBxzowSx2N6syBily13NMVdMs+wqC6Eo5sLXWCZjQHateTFWgFw7ZGi2y9o3Pmdov1sXw==} + dependencies: + '@antv/x6-common': 2.0.17 + '@antv/x6-geometry': 2.0.5 + utility-types: 3.11.0 + dev: false + + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 dev: true - /@babel/compat-data/7.21.0: - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.21.0: - resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.2 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/generator/7.21.1: - resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure/7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0: - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 + '@babel/compat-data': 7.24.1 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0: - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.0 - '@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 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 dev: true - /@babel/helper-environment-visitor/7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name/7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 dev: true - /@babel/helper-hoist-variables/7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-member-expression-to-functions/7.21.0: - resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-imports/7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-transforms/7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} 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 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-optimise-call-expression/7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-plugin-utils/7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers/7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access/7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-skip-transparent-expression-wrappers/7.20.0: - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-split-export-declaration/7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 dev: true - /@babel/helper-string-parser/7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier/7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 dev: true - /@babel/parser/7.21.2: - resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.24.0 - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0: - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0: - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript/7.21.0_@babel+core@7.21.0: - resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==} + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/template/7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/runtime@7.24.1: + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 dev: true - /@babel/traverse/7.21.2: - resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.1 - '@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.2 - '@babel/types': 7.21.2 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.21.2: - resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@css-render/plugin-bem/0.15.12_css-render@0.15.12: + /@css-render/plugin-bem@0.15.12(css-render@0.15.12): resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==} peerDependencies: css-render: ~0.15.12 @@ -414,29 +608,29 @@ packages: css-render: 0.15.12 dev: false - /@css-render/vue3-ssr/0.15.12_vue@3.2.47: + /@css-render/vue3-ssr@0.15.12(vue@3.4.21): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 dependencies: - vue: 3.2.47 + vue: 3.4.21(typescript@5.4.3) dev: false - /@emotion/hash/0.8.0: + /@emotion/hash@0.8.0: resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} dev: false - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} - cpu: [arm] - os: [android] + cpu: [ppc64] + os: [aix] requiresBuild: true dev: true optional: true - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -444,8 +638,17 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -453,8 +656,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -462,8 +665,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -471,8 +674,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -480,8 +683,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -489,26 +692,26 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -516,8 +719,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -525,8 +728,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -534,8 +737,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -543,8 +746,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -552,8 +755,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -561,8 +764,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -570,8 +773,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -579,8 +782,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -588,8 +791,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -597,8 +800,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -606,8 +809,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -615,8 +818,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -624,13 +827,28 @@ packages: dev: true optional: true - /@eslint/eslintrc/2.0.0: - resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -641,531 +859,679 @@ packages: - supports-color dev: true - /@eslint/js/8.35.0: - resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array/0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true - /@humanwhocodes/module-importer/1.0.1: + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema/1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true - /@intlify/core-base/9.2.2: - resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==} - engines: {node: '>= 14'} - dependencies: - '@intlify/devtools-if': 9.2.2 - '@intlify/message-compiler': 9.2.2 - '@intlify/shared': 9.2.2 - '@intlify/vue-devtools': 9.2.2 - dev: false - - /@intlify/devtools-if/9.2.2: - resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} - engines: {node: '>= 14'} + /@intlify/core-base@9.10.2: + resolution: {integrity: sha512-HGStVnKobsJL0DoYIyRCGXBH63DMQqEZxDUGrkNI05FuTcruYUtOAxyL3zoAZu/uDGO6mcUvm3VXBaHG2GdZCg==} + engines: {node: '>= 16'} dependencies: - '@intlify/shared': 9.2.2 + '@intlify/message-compiler': 9.10.2 + '@intlify/shared': 9.10.2 dev: false - /@intlify/message-compiler/9.2.2: - resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} - engines: {node: '>= 14'} + /@intlify/message-compiler@9.10.2: + resolution: {integrity: sha512-ntY/kfBwQRtX5Zh6wL8cSATujPzWW2ZQd1QwKyWwAy5fMqJyyixHMeovN4fmEyCqSu+hFfYOE63nU94evsy4YA==} + engines: {node: '>= 16'} dependencies: - '@intlify/shared': 9.2.2 - source-map: 0.6.1 + '@intlify/shared': 9.10.2 + source-map-js: 1.0.2 dev: false - /@intlify/shared/9.2.2: - resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} - engines: {node: '>= 14'} + /@intlify/shared@9.10.2: + resolution: {integrity: sha512-ttHCAJkRy7R5W2S9RVnN9KYQYPIpV2+GiS79T4EE37nrPyH6/1SrOh3bmdCRC1T3ocL8qCDx7x2lBJ0xaITU7Q==} + engines: {node: '>= 16'} dev: false - /@intlify/vue-devtools/9.2.2: - resolution: {integrity: sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==} - engines: {node: '>= 14'} + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: - '@intlify/core-base': 9.2.2 - '@intlify/shared': 9.2.2 + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: false - /@jridgewell/gen-mapping/0.1.1: + /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - dev: true + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/trace-mapping/0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@juggle/resize-observer/3.4.0: + /@juggle/resize-observer@3.4.0: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} dev: false - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@types/json-schema/7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: false + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@probe.gl/env@3.6.0: + resolution: {integrity: sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==} + dependencies: + '@babel/runtime': 7.24.1 + dev: false + + /@probe.gl/log@3.6.0: + resolution: {integrity: sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==} + dependencies: + '@babel/runtime': 7.24.1 + '@probe.gl/env': 3.6.0 + dev: false + + /@probe.gl/stats@3.6.0: + resolution: {integrity: sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==} + dependencies: + '@babel/runtime': 7.24.1 + dev: false + + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/katex/0.14.0: - resolution: {integrity: sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==} + /@types/katex@0.16.7: + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} dev: false - /@types/lodash-es/4.17.6: - resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: - '@types/lodash': 4.14.191 + '@types/lodash': 4.17.0 dev: false - /@types/lodash/4.14.191: - resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} + /@types/lodash@4.17.0: + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} - /@types/node/18.14.6: - resolution: {integrity: sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + dependencies: + undici-types: 5.26.5 dev: true - /@types/nprogress/0.2.0: - resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} + /@types/nprogress@0.2.3: + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} dev: true - /@types/postcss-modules-local-by-default/4.0.0: - resolution: {integrity: sha512-0VLab/pcLTLcfbxi6THSIMVYcw9hEUBGvjwwaGpW77mMgRXfGF+a76t7BxTGyLh1y68tBvrffp8UWnqvm76+yg==} + /@types/postcss-modules-local-by-default@4.0.2: + resolution: {integrity: sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==} dependencies: - postcss: 8.4.21 + postcss: 8.4.38 dev: true - /@types/postcss-modules-scope/3.0.1: - resolution: {integrity: sha512-LNkp3c4ML9EQj2dgslp4i80Jxj72YK3HjYzrTn6ftUVylW1zaKFGqrMlNIyqBmPWmIhZ/Y5r0Y4T49Hk1IuDUg==} + /@types/postcss-modules-scope@3.0.4: + resolution: {integrity: sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==} dependencies: - postcss: 8.4.21 + postcss: 8.4.38 dev: true - /@types/semver/7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@types/web-bluetooth/0.0.16: - resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: false - /@typescript-eslint/eslint-plugin/5.54.0_6mj2wypvdnknez7kws2nfdgupi: - resolution: {integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/type-utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu - '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 - eslint: 8.35.0 - grapheme-splitter: 1.0.4 + eslint: 8.57.0 + graphemer: 1.4.0 ignore: 5.2.4 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 - eslint: 8.35.0 - typescript: 4.9.5 + eslint: 8.57.0 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.54.0: - resolution: {integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.4.0: + resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/visitor-keys': 5.54.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 dev: true - /@typescript-eslint/type-utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4 - eslint: 8.35.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.54.0: - resolution: {integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@7.4.0: + resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree/5.54.0_typescript@4.9.5: - resolution: {integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3): + resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/visitor-keys': 5.54.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu: - resolution: {integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.54.0 - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 - eslint: 8.35.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 - semver: 7.3.8 + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.54.0: - resolution: {integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@7.4.0: + resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 5.54.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 7.4.0 + eslint-visitor-keys: 3.4.3 dev: true - /@vicons/antd/0.12.0: + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vicons/antd@0.12.0: resolution: {integrity: sha512-C0p6aO1EmGG1QHrqgUWQS1No20934OdWSRQshM5NIDK5H1On6tC26U0hT6Rmp40KfUsvhvX5YW8BoWJdNFifPg==} dev: true - /@vitejs/plugin-vue-jsx/3.0.0_vite@4.1.4+vue@3.2.47: - resolution: {integrity: sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew==} + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/plugin-transform-typescript': 7.21.0_@babel+core@7.21.0 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.21.0 - vite: 4.1.4_tbu6ibuzbmq2zng52hwcifltki - vue: 3.2.47 + '@babel/core': 7.24.3 + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.3) + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.47: - resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} - engines: {node: ^14.18.0 || >=16.0.0} + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.1.4_tbu6ibuzbmq2zng52hwcifltki - vue: 3.2.47 + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) + vue: 3.4.21(typescript@5.4.3) dev: true - /@volar/language-core/1.3.0-alpha.0: - resolution: {integrity: sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==} + /@volar/language-core@2.1.5: + resolution: {integrity: sha512-u1OHmVkCFsJqNdaM2GKuMhE67TxcEnOqJNF+VtYv2Ji8DnrUaF4FAFSNxY+MRGICl+873CsSJVKas9TQtW14LA==} dependencies: - '@volar/source-map': 1.3.0-alpha.0 + '@volar/source-map': 2.1.5 dev: true - /@volar/source-map/1.3.0-alpha.0: - resolution: {integrity: sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==} + /@volar/source-map@2.1.5: + resolution: {integrity: sha512-GIkAM6fHgDcTXcdH4i10fAiAZzO0HLIer8/pt3oZ9A0n7n4R5d1b2F8Xxzh/pgmgNoL+SrHX3MFxs35CKgfmtA==} dependencies: - muggle-string: 0.2.2 + muggle-string: 0.4.1 dev: true - /@volar/typescript/1.3.0-alpha.0: - resolution: {integrity: sha512-5UItyW2cdH2mBLu4RrECRNJRgtvvzKrSCn2y3v/D61QwIDkGx4aeil6x8RFuUL5TFtV6QvVHXnsOHxNgd+sCow==} + /@volar/typescript@2.1.5: + resolution: {integrity: sha512-zo9a3NrNMSkufIvHuExDGTfYv+zO7C5p2wg8fyP7vcqF/Qo0ztjb0ZfOgq/A85EO/MBc1Kj2Iu7PaOBtP++NMw==} dependencies: - '@volar/language-core': 1.3.0-alpha.0 + '@volar/language-core': 2.1.5 + path-browserify: 1.0.1 dev: true - /@volar/vue-language-core/1.2.0: - resolution: {integrity: sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==} - dependencies: - '@volar/language-core': 1.3.0-alpha.0 - '@volar/source-map': 1.3.0-alpha.0 - '@vue/compiler-dom': 3.2.47 - '@vue/compiler-sfc': 3.2.47 - '@vue/reactivity': 3.2.47 - '@vue/shared': 3.2.47 - minimatch: 6.2.0 - muggle-string: 0.2.2 - vue-template-compiler: 2.7.14 + /@vue/babel-helper-vue-transform-on@1.2.2: + resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==} dev: true - /@volar/vue-typescript/1.2.0: - resolution: {integrity: sha512-zjmRi9y3J1EkG+pfuHp8IbHmibihrKK485cfzsHjiuvJMGrpkWvlO5WVEk8oslMxxeGC5XwBFE9AOlvh378EPA==} - dependencies: - '@volar/typescript': 1.3.0-alpha.0 - '@volar/vue-language-core': 1.2.0 - dev: true - - /@vue/babel-helper-vue-transform-on/1.0.2: - resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} - dev: true - - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.21.0: - resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + /@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.3): + resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true dependencies: - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - '@vue/babel-helper-vue-transform-on': 1.0.2 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@vue/babel-helper-vue-transform-on': 1.2.2 + '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.24.3) camelcase: 6.3.0 - html-tags: 3.2.0 + html-tags: 3.3.1 svg-tags: 1.0.0 transitivePeerDependencies: - - '@babel/core' - supports-color dev: true - /@vue/compiler-core/3.2.47: - resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + /@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.24.3): + resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/parser': 7.21.2 - '@vue/shared': 3.2.47 + '@babel/code-frame': 7.24.2 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/parser': 7.24.1 + '@vue/compiler-sfc': 3.4.21 + dev: true + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + dependencies: + '@babel/parser': 7.24.1 + '@vue/shared': 3.4.21 + entities: 4.5.0 estree-walker: 2.0.2 - source-map: 0.6.1 + source-map-js: 1.0.2 - /@vue/compiler-dom/3.2.47: - resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 - /@vue/compiler-sfc/3.2.47: - resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.21.2 - '@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 + '@babel/parser': 7.24.1 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.21 - source-map: 0.6.1 + magic-string: 0.30.8 + postcss: 8.4.38 + source-map-js: 1.0.2 - /@vue/compiler-ssr/3.2.47: - resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} dependencies: - '@vue/compiler-dom': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 - /@vue/devtools-api/6.5.0: + /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: false - /@vue/reactivity-transform/3.2.47: - resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + dev: false + + /@vue/language-core@2.0.7(typescript@5.4.3): + resolution: {integrity: sha512-Vh1yZX3XmYjn9yYLkjU8DN6L0ceBtEcapqiyclHne8guG84IaTzqtvizZB1Yfxm3h6m7EIvjerLO5fvOZO6IIQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@babel/parser': 7.21.2 - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 - estree-walker: 2.0.2 - magic-string: 0.25.9 + '@volar/language-core': 2.1.5 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + path-browserify: 1.0.1 + typescript: 5.4.3 + vue-template-compiler: 2.7.14 + dev: true - /@vue/reactivity/3.2.47: - resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: - '@vue/shared': 3.2.47 + '@vue/shared': 3.4.21 - /@vue/runtime-core/3.2.47: - resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} dependencies: - '@vue/reactivity': 3.2.47 - '@vue/shared': 3.2.47 + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 - /@vue/runtime-dom/3.2.47: - resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} dependencies: - '@vue/runtime-core': 3.2.47 - '@vue/shared': 3.2.47 - csstype: 2.6.21 + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 - /@vue/server-renderer/3.2.47_vue@3.2.47: - resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: - vue: 3.2.47 + vue: 3.4.21 dependencies: - '@vue/compiler-ssr': 3.2.47 - '@vue/shared': 3.2.47 - vue: 3.2.47 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.3) - /@vue/shared/3.2.47: - resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - /@vueuse/core/9.13.0_vue@3.2.47: - resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: - '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0_vue@3.2.47 - vue-demi: 0.13.11_vue@3.2.47 + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/metadata/9.13.0: - resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: false - /@vueuse/shared/9.13.0_vue@3.2.47: - resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.13.11_vue@3.2.47 + vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /acorn-jsx/5.3.2_acorn@8.8.2: + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.11.3 dev: true - /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - dev: false - - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: false + acorn: 8.8.2 + dev: true - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - dev: false + dev: true - /acorn/8.8.2: + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -1174,139 +1540,149 @@ packages: uri-js: 4.4.1 dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-styles/3.2.1: + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true - /anymatch/3.1.3: + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: false + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - /arg/5.0.2: + /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: false - /argparse/2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-union/2.1.0: + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true - /async-validator/4.2.5: + /async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} dev: false - /asynckit/0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false - /autoprefixer/10.4.13_postcss@8.4.21: - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001460 - fraction.js: 4.2.0 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001600 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.21 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: false - /axios/1.3.4: - resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /boolbase/1.0.0: + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true - /brace-expansion/2.0.1: + /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - /browserslist/4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001460 - electron-to-chromium: 1.4.320 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.717 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true - /camelcase-css/2.0.1: + /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} dev: false - /camelcase/6.3.0: + /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001460: - resolution: {integrity: sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ==} + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -1315,7 +1691,7 @@ packages: supports-color: 5.5.0 dev: true - /chalk/4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: @@ -1323,7 +1699,7 @@ packages: supports-color: 7.2.0 dev: true - /chokidar/3.5.3: + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: @@ -1335,78 +1711,121 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false - /concat-map/0.0.1: + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: false + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /copy-anything/2.0.6: + /copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} dependencies: is-what: 3.14.1 dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /css-render/0.15.12: + /css-render@0.15.12: resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} dependencies: '@emotion/hash': 0.8.0 csstype: 3.0.11 dev: false - /cssesc/3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - /csstype/2.6.21: - resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - - /csstype/3.0.11: + /csstype@3.0.11: resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} dev: false - /dart-sass/1.25.0: + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /d3-dispatch@2.0.0: + resolution: {integrity: sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==} + dev: false + + /d3-force@2.1.1: + resolution: {integrity: sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==} + dependencies: + d3-dispatch: 2.0.0 + d3-quadtree: 2.0.0 + d3-timer: 2.0.0 + dev: false + + /d3-quadtree@2.0.0: + resolution: {integrity: sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==} + dev: false + + /d3-timer@2.0.0: + resolution: {integrity: sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==} + dev: false + + /dagre-compound@0.0.11(dagre@0.8.5): + resolution: {integrity: sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==} + engines: {node: '>=6.0.0'} + peerDependencies: + dagre: ^0.8.5 + dependencies: + dagre: 0.8.5 + dev: false + + /dagre@0.8.5: + resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + dependencies: + graphlib: 2.1.8 + lodash: 4.17.21 + dev: false + + /dart-sass@1.25.0: resolution: {integrity: sha512-syNOAstJXAmvD3RifcDk3fiPMyYE2fY8so6w9gf2/wNlKpG0zyH+oiXubEYVOy1WAWkzOc72pbAxwx+3OU4JJA==} engines: {node: '>=8.9.0'} deprecated: This package has been renamed to 'sass'. @@ -1415,33 +1834,40 @@ packages: chokidar: 3.5.3 dev: true - /date-fns-tz/1.3.8_date-fns@2.29.3: - resolution: {integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==} + /date-fns-tz@2.0.1(date-fns@2.30.0): + resolution: {integrity: sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA==} peerDependencies: - date-fns: '>=2.0.0' + date-fns: 2.x dependencies: - date-fns: 2.29.3 + date-fns: 2.30.0 dev: false - /date-fns-tz/2.0.0_date-fns@2.29.3: - resolution: {integrity: sha512-OAtcLdB9vxSXTWHdT8b398ARImVwQMyjfYGkKD2zaGpHseG2UPHbHjXELReErZFxWdSLph3c2zOaaTyHfOhERQ==} + /date-fns-tz@2.0.1(date-fns@3.6.0): + resolution: {integrity: sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA==} peerDependencies: - date-fns: '>=2.0.0' + date-fns: 2.x dependencies: - date-fns: 2.29.3 + date-fns: 3.6.0 dev: false - /date-fns/2.29.3: - resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} + /date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} + dependencies: + '@babel/runtime': 7.24.1 dev: false - /de-indent/1.0.2: + /date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + dev: false + + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true - /debug/3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + requiresBuild: true peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -1452,7 +1878,7 @@ packages: dev: true optional: true - /debug/4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1464,67 +1890,69 @@ packages: ms: 2.1.2 dev: true - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /defined/1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - dev: false - - /delayed-stream/1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: false - /detective/5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.1 - minimist: 1.2.8 - dev: false - - /didyoumean/1.2.2: + /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: false - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true - /dlv/1.1.3: + /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: false - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true - /dotenv/16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} dev: true - /echarts/5.4.1: - resolution: {integrity: sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==} + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: false + + /echarts@5.5.0: + resolution: {integrity: sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==} dependencies: tslib: 2.3.0 - zrender: 5.4.1 + zrender: 5.5.0 dev: false - /electron-to-chromium/1.4.320: - resolution: {integrity: sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q==} + /electron-to-chromium@1.4.717: + resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==} + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: false + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false - /errno/0.1.8: + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true requiresBuild: true @@ -1533,103 +1961,101 @@ packages: dev: true optional: true - /esbuild/0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 - dev: true - - /escalade/3.1.1: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} dev: true - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.6.0_eslint@8.35.0: - resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.35.0 + eslint: 8.57.0 dev: true - /eslint-plugin-prettier/4.2.1_u2zha4kiojzs42thzpgwygphmy: - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=7.28.0' + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' eslint-config-prettier: '*' - prettier: '>=2.0.0' + prettier: '>=3.0.0' peerDependenciesMeta: + '@types/eslint': + optional: true eslint-config-prettier: optional: true dependencies: - eslint: 8.35.0 - eslint-config-prettier: 8.6.0_eslint@8.35.0 - prettier: 2.8.4 + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 dev: true - /eslint-plugin-vue/9.9.0_eslint@8.35.0: - resolution: {integrity: sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==} + /eslint-plugin-vue@9.24.0(eslint@8.57.0): + resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.35.0 - eslint-utils: 3.0.0_eslint@8.35.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.11 - semver: 7.3.8 - vue-eslint-parser: 9.1.0_eslint@8.35.0 + postcss-selector-parser: 6.0.16 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope/7.1.1: + /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -1637,46 +2063,46 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.35.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - eslint: 8.35.0 - eslint-visitor-keys: 2.1.0 + esrecurse: 4.3.0 + estraverse: 5.3.0 dev: true - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + /eslint-visitor-keys@3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.35.0: - resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 2.0.0 - '@eslint/js': 8.35.0 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.35.0 - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1684,82 +2110,85 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.3.0 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.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree/9.4.1: + /espree@9.4.1: resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 - acorn-jsx: 5.3.2_acorn@8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) eslint-visitor-keys: 3.3.0 dev: true - /esquery/1.5.0: + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} dev: true - /estree-walker/2.0.2: + /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} dev: true - /evtd/0.2.4: + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /evtd@0.2.4: resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} dev: false - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-diff/1.2.0: + /fast-diff@1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true - /fast-glob/3.2.12: + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: @@ -1768,34 +2197,46 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: false - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastq/1.15.0: + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - /find-up/5.0.0: + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: @@ -1803,7 +2244,7 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: @@ -1811,12 +2252,12 @@ packages: rimraf: 3.0.2 dev: true - /flatted/3.2.7: + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /follow-redirects/1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -1825,7 +2266,15 @@ packages: optional: true dev: false - /form-data/4.0.0: + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: false + + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} dependencies: @@ -1834,11 +2283,11 @@ packages: mime-types: 2.1.35 dev: false - /fraction.js/4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: false - /fs-extra/10.1.0: + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: @@ -1847,38 +2296,59 @@ packages: universalify: 2.0.0 dev: true - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true optional: true - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: false - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} dev: true - /glob-parent/5.1.2: + /gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /gl-vec2@1.3.0: + resolution: {integrity: sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==} + dev: false + + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - /glob-parent/6.0.2: + /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - /glob/7.2.3: + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: false + + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 @@ -1889,19 +2359,26 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} dev: true - /globals/13.20.0: + /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globby/11.1.0: + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: @@ -1913,68 +2390,82 @@ packages: slash: 3.0.0 dev: true - /graceful-fs/4.2.10: + /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true - /grapheme-splitter/1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + requiresBuild: true + dev: true + optional: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /has-flag/3.0.0: + /graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + dependencies: + lodash: 4.17.21 + dev: false + + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 + dev: false - /he/1.2.0: + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true - /highlight.js/11.7.0: - resolution: {integrity: sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==} + /highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} engines: {node: '>=12.0.0'} dev: false - /html-tags/3.2.0: - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} dev: true - /iconv-lite/0.6.3: + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: safer-buffer: 2.1.2 dev: true optional: true - /icss-utils/5.1.0_postcss@8.4.21: + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.38 dev: true - /ignore/5.2.4: + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} dev: true - /image-size/0.5.5: + /image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -1982,11 +2473,11 @@ packages: dev: true optional: true - /immutable/4.2.4: + /immutable@4.2.4: resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} dev: true - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: @@ -1994,110 +2485,124 @@ packages: resolve-from: 4.0.0 dev: true - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /is-binary-path/2.1.0: + /is-any-array@2.0.1: + resolution: {integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==} + dev: false + + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - /is-core-module/2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - has: 1.0.3 + hasown: 2.0.2 + dev: false - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - /is-glob/4.0.3: + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: false + + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-path-inside/3.0.3: + /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} dev: true - /is-what/3.14.1: + /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - /js-sdsl/4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: false - /js-tokens/4.0.0: + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: false + + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml/4.1.0: + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 dev: true - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true dev: true - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5/2.2.3: + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true dev: true - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true - /klona/2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - dev: true - - /less/4.1.3: - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + /less@4.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} engines: {node: '>=6'} hasBin: true dependencies: @@ -2106,7 +2611,7 @@ packages: tslib: 2.5.0 optionalDependencies: errno: 0.1.8 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 @@ -2116,7 +2621,7 @@ packages: - supports-color dev: true - /levn/0.4.1: + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -2124,51 +2629,66 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.1.0: + /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - /locate-path/6.0.0: + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + dev: false + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: false + + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true - /lodash-es/4.17.21: + /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false - /lodash.camelcase/4.3.0: + /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /lru-cache/5.1.1: + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: false + + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 dev: true - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true - /magic-string/0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.15 - /make-dir/2.1.0: + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} requiresBuild: true @@ -2178,30 +2698,30 @@ packages: dev: true optional: true - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /micromatch/4.0.5: + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 - /mime-db/1.52.0: + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: false - /mime-types/2.1.35: + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true @@ -2209,79 +2729,120 @@ packages: dev: true optional: true - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true - /minimatch/6.2.0: - resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} - engines: {node: '>=10'} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - dev: true - /minimist/1.2.8: + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: false - /monaco-editor/0.36.1: - resolution: {integrity: sha512-/CaclMHKQ3A6rnzBzOADfwdSJ25BFoFT0Emxsc4zYVyav5SkK9iA6lEtIeuN/oRYbwPgviJT+t3l+sjFa28jYg==} + /ml-array-max@1.2.4: + resolution: {integrity: sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==} + dependencies: + is-any-array: 2.0.1 + dev: false + + /ml-array-min@1.2.3: + resolution: {integrity: sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==} + dependencies: + is-any-array: 2.0.1 + dev: false + + /ml-array-rescale@1.3.7: + resolution: {integrity: sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==} + dependencies: + is-any-array: 2.0.1 + ml-array-max: 1.2.4 + ml-array-min: 1.2.3 + dev: false + + /ml-matrix@6.5.0: + resolution: {integrity: sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg==} + dependencies: + ml-array-rescale: 1.3.7 + dev: false + + /monaco-editor@0.47.0: + resolution: {integrity: sha512-VabVvHvQ9QmMwXu4du008ZDuyLnHs9j7ThVFsiJoXSOQk18+LF89N4ADzPbFenm0W4V2bGHnFBztIRQTgBfxzw==} dev: false - /ms/2.1.2: + /mousetrap@1.6.5: + resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} + dev: false + + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + requiresBuild: true dev: true optional: true - /muggle-string/0.2.2: - resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} + /muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} dev: true - /naive-ui/2.34.3_vue@3.2.47: - resolution: {integrity: sha512-fUMr0dzb/iGsOTWgoblPVobY5X5dihQ1eam5dA+H74oyLYAvgX4pL96xQFPBLIYqvyRFBAsN85kHN5pLqdtpxA==} + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: false + + /naive-ui@2.38.1(vue@3.4.21): + resolution: {integrity: sha512-AnU1FQ7K/CbhguAX++V4kCFjk7h7RvWt4nvZPRjORMpq+fUIlzD+EcQ5Cv1VqDloNF8+eMv4Akc2Ogacc9S+5A==} peerDependencies: vue: ^3.0.0 dependencies: - '@css-render/plugin-bem': 0.15.12_css-render@0.15.12 - '@css-render/vue3-ssr': 0.15.12_vue@3.2.47 - '@types/katex': 0.14.0 - '@types/lodash': 4.14.191 - '@types/lodash-es': 4.17.6 + '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) + '@types/katex': 0.16.7 + '@types/lodash': 4.17.0 + '@types/lodash-es': 4.17.12 async-validator: 4.2.5 css-render: 0.15.12 - date-fns: 2.29.3 - date-fns-tz: 1.3.8_date-fns@2.29.3 + csstype: 3.1.3 + date-fns: 2.30.0 + date-fns-tz: 2.0.1(date-fns@2.30.0) evtd: 0.2.4 - highlight.js: 11.7.0 + highlight.js: 11.9.0 lodash: 4.17.21 lodash-es: 4.17.21 - seemly: 0.3.6 + seemly: 0.3.8 treemate: 0.3.11 - vdirs: 0.1.8_vue@3.2.47 - vooks: 0.2.12_vue@3.2.47 - vue: 3.2.47 - vueuc: 0.4.51_vue@3.2.47 + vdirs: 0.1.8(vue@3.4.21) + vooks: 0.2.12(vue@3.4.21) + vue: 3.4.21(typescript@5.4.3) + vueuc: 0.4.58(vue@3.4.21) dev: false - /nanoid/3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /natural-compare-lite/1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /needle/3.2.0: + /needle@3.2.0: resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} engines: {node: '>= 4.4.x'} hasBin: true @@ -2295,136 +2856,154 @@ packages: dev: true optional: true - /neo-async/2.6.2: + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /node-releases/2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /normalize-range/0.1.2: + /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} dev: false - /nprogress/0.2.0: + /nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: false - /nth-check/2.1.1: + /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 dev: true - /object-hash/3.0.0: + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + + /object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} dev: false - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true - /p-locate/5.0.0: + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: true - /parse-node-version/1.0.1: + /parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} dev: true - /path-exists/4.0.0: + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: false + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pify/2.3.0: + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: false - /pify/4.0.1: + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + requiresBuild: true dev: true optional: true - /pinia-plugin-persistedstate/3.1.0_pinia@2.0.32: - resolution: {integrity: sha512-8UN+vYMEPBdgNLwceY08mi5olI0wkYaEb8b6hD6xW7SnBRuPydWHlEhZvUWgNb/ibuf4PvufpvtS+dmhYjJQOw==} + /pinia-plugin-persistedstate@3.2.1(pinia@2.1.7): + resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==} peerDependencies: pinia: ^2.0.0 dependencies: - pinia: 2.0.32_hmuptsblhheur2tugfgucj7gc4 + pinia: 2.1.7(typescript@5.4.3)(vue@3.4.21) dev: false - /pinia/2.0.32_hmuptsblhheur2tugfgucj7gc4: - resolution: {integrity: sha512-8Tw4OrpCSJ028UUyp0gYPP/wyjigLoEceuO/x1G+FlHVf73337e5vLm4uDmrRIoBG1hvaed/eSHnrCFjOc4nkA==} + /pinia@2.1.7(typescript@5.4.3)(vue@3.4.21): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 + vue: ^2.6.14 || ^3.3.0 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -2432,34 +3011,39 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.5.0 - typescript: 4.9.5 - vue: 3.2.47 - vue-demi: 0.13.11_vue@3.2.47 + typescript: 5.4.3 + vue: 3.4.21(typescript@5.4.3) + vue-demi: 0.14.7(vue@3.4.21) + dev: false + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} dev: false - /postcss-import/14.1.0_postcss@8.4.21: - resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} - engines: {node: '>=10.0.0'} + /postcss-import@15.1.0(postcss@8.4.38): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.8 dev: false - /postcss-js/4.0.1_postcss@8.4.21: + /postcss-js@4.0.1(postcss@8.4.38): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.21 + postcss: 8.4.38 dev: false - /postcss-load-config/3.1.4_postcss@8.4.21: + /postcss-load-config@3.1.4(postcss@8.4.38): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -2472,173 +3056,233 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.21 + postcss: 8.4.38 yaml: 1.10.2 + dev: true + + /postcss-load-config@4.0.2(postcss@8.4.38): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.1.1 + postcss: 8.4.38 + yaml: 2.4.1 + dev: false + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.21: - resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + /postcss-modules-local-by-default@4.0.4(postcss@8.4.38): + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.21: - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + /postcss-modules-scope@3.1.1(postcss@8.4.38): + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.38 postcss-selector-parser: 6.0.11 dev: true - /postcss-nested/6.0.0_postcss@8.4.21: - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + /postcss-nested@6.0.1(postcss@8.4.38): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.21 + postcss: 8.4.38 postcss-selector-parser: 6.0.11 dev: false - /postcss-selector-parser/6.0.11: + /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-value-parser/4.2.0: + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss/8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} dev: true - /prettier-linter-helpers/1.0.0: + /prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} dependencies: fast-diff: 1.2.0 dev: true - /prettier/2.8.4: - resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} - engines: {node: '>=10.13.0'} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true - /proxy-from-env/1.1.0: + /probe.gl@3.6.0: + resolution: {integrity: sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g==} + dependencies: + '@babel/runtime': 7.24.1 + '@probe.gl/env': 3.6.0 + '@probe.gl/log': 3.6.0 + '@probe.gl/stats': 3.6.0 + dev: false + + /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /prr/1.0.1: + /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + requiresBuild: true dev: true optional: true - /punycode/2.3.0: + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: true - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: false - - /read-cache/1.0.0: + /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 dev: false - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: false + + /regl@1.7.0: + resolution: {integrity: sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==} + dev: false - /reserved-words/0.1.2: + /reserved-words@0.1.2: resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} dev: true - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.11.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: false - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup/3.18.0: - resolution: {integrity: sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - fsevents: 2.3.2 - dev: true - - /run-parallel/1.2.0: + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + requiresBuild: true dev: true optional: true - /sass-loader/13.2.0_sass@1.58.3: - resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} - engines: {node: '>= 14.15.0'} + /sass-loader@14.1.1(sass@1.72.0): + resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} + engines: {node: '>= 18.12.0'} peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + '@rspack/core': 0.x || 1.x + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: '*' webpack: ^5.0.0 peerDependenciesMeta: - fibers: + '@rspack/core': optional: true node-sass: optional: true @@ -2646,15 +3290,16 @@ packages: optional: true sass-embedded: optional: true + webpack: + optional: true dependencies: - klona: 2.0.6 neo-async: 2.6.2 - sass: 1.58.3 + sass: 1.72.0 dev: true - /sass/1.58.3: - resolution: {integrity: sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==} - engines: {node: '>=12.0.0'} + /sass@1.72.0: + resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 @@ -2662,173 +3307,261 @@ packages: source-map-js: 1.0.2 dev: true - /sax/1.2.4: + /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + requiresBuild: true + dev: true + optional: true + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} dev: true - /seemly/0.3.6: - resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==} + /screenfull@6.0.2: + resolution: {integrity: sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==} + engines: {node: ^14.13.1 || >=16.0.0} dev: false - /semver/5.7.1: + /seemly@0.3.8: + resolution: {integrity: sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA==} + dev: false + + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true + requiresBuild: true dev: true optional: true - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true - /semver/7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true - /slash/3.0.0: + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map/0.6.1: + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + requiresBuild: true + dev: true + optional: true - /source-map/0.7.4: + /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: false + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: false - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: true - /strip-bom/3.0.0: + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: true - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true - /stylus/0.59.0: - resolution: {integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==} + /stylus@0.62.0: + resolution: {integrity: sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==} hasBin: true dependencies: - '@adobe/css-tools': 4.2.0 + '@adobe/css-tools': 4.3.3 debug: 4.3.4 glob: 7.2.3 - sax: 1.2.4 + sax: 1.3.0 source-map: 0.7.4 transitivePeerDependencies: - supports-color dev: true - /supports-color/5.5.0: + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: false + + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + dev: false - /svg-tags/1.0.0: + /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true - /tailwindcss/3.2.7_postcss@8.4.21: - resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} - engines: {node: '>=12.13.0'} + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tailwindcss@3.4.1: + resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} + engines: {node: '>=14.0.0'} hasBin: true - peerDependencies: - postcss: ^8.0.9 dependencies: + '@alloc/quick-lru': 5.2.0 arg: 5.0.2 chokidar: 3.5.3 - color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.12 + fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 + jiti: 1.21.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.21 - postcss-import: 14.1.0_postcss@8.4.21 - postcss-js: 4.0.1_postcss@8.4.21 - postcss-load-config: 3.1.4_postcss@8.4.21 - postcss-nested: 6.0.0_postcss@8.4.21 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - quick-lru: 5.1.1 - resolve: 1.22.1 + resolve: 1.22.8 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node dev: false - /text-table/0.2.0: + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /to-fast-properties/2.0.0: + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: false + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: false + + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - /treemate/0.3.11: + /treemate@0.3.11: resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} dev: false - /tsconfig-paths/4.1.2: - resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} + /ts-api-utils@1.3.0(typescript@5.4.3): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.3 + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: false + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} dependencies: json5: 2.2.3 @@ -2836,109 +3569,104 @@ packages: strip-bom: 3.0.0 dev: true - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib/2.3.0: + /tslib@2.3.0: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} dev: false - /tslib/2.5.0: + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - /tsutils/3.21.0_typescript@4.9.5: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - 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' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /type-check/0.4.0: + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: true - /typescript-plugin-css-modules/4.2.2_typescript@4.9.5: - resolution: {integrity: sha512-X5OYGkX96ENq2c7xFJO4tgtiMTlBkOMoRmVHQXH2H4CGFcVODKGieDqPU2B0IV0I+AyvKYDFdKh4ZKtKxAcAww==} + /typescript-plugin-css-modules@5.1.0(typescript@5.4.3): + resolution: {integrity: sha512-6h+sLBa4l+XYSTn/31vZHd/1c3SvAbLpobY6FxDiUOHJQG1eD9Gh3eCs12+Eqc+TCOAdxcO+zAPvUq0jBfdciw==} peerDependencies: - typescript: '>=3.9.0' + typescript: '>=4.0.0' dependencies: - '@types/postcss-modules-local-by-default': 4.0.0 - '@types/postcss-modules-scope': 3.0.1 - dotenv: 16.0.3 - icss-utils: 5.1.0_postcss@8.4.21 - less: 4.1.3 + '@types/postcss-modules-local-by-default': 4.0.2 + '@types/postcss-modules-scope': 3.0.4 + dotenv: 16.4.5 + icss-utils: 5.1.0(postcss@8.4.38) + less: 4.2.0 lodash.camelcase: 4.3.0 - postcss: 8.4.21 - postcss-load-config: 3.1.4_postcss@8.4.21 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 - postcss-modules-scope: 3.0.0_postcss@8.4.21 + postcss: 8.4.38 + postcss-load-config: 3.1.4(postcss@8.4.38) + postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.38) + postcss-modules-scope: 3.1.1(postcss@8.4.38) reserved-words: 0.1.2 - sass: 1.58.3 + sass: 1.72.0 source-map-js: 1.0.2 - stylus: 0.59.0 - tsconfig-paths: 4.1.2 - typescript: 4.9.5 + stylus: 0.62.0 + tsconfig-paths: 4.2.0 + typescript: 5.4.3 transitivePeerDependencies: - supports-color - ts-node dev: true - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} hasBin: true - /universalify/2.0.0: + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true - /update-browserslist-db/1.0.10_browserslist@4.21.5: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 + browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 dev: true - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /vdirs/0.1.8_vue@3.2.47: + /utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + dev: false + + /vdirs@0.1.8(vue@3.4.21): resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.2.47 - dev: false - - /vfonts/0.0.3: - resolution: {integrity: sha512-nguyw8L6Un8eelg1vQ31vIU2ESxqid7EYmy8V+MDeMaHBqaRSkg3dTBToC1PR00D89UzS/SLkfYPnx0Wf23IQQ==} + vue: 3.4.21(typescript@5.4.3) dev: false - /vite-plugin-compression/0.5.1_vite@4.1.4: + /vite-plugin-compression@0.5.1(vite@5.2.6): resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} peerDependencies: vite: '>=2.0.0' @@ -2946,18 +3674,19 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.1.4_tbu6ibuzbmq2zng52hwcifltki + vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0) transitivePeerDependencies: - supports-color dev: true - /vite/4.1.4_tbu6ibuzbmq2zng52hwcifltki: - resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} - engines: {node: ^14.18.0 || >=16.0.0} + /vite@5.2.6(@types/node@20.11.30)(sass@1.72.0): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -2967,6 +3696,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -2976,27 +3707,26 @@ packages: terser: optional: true dependencies: - '@types/node': 18.14.6 - esbuild: 0.16.17 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.18.0 - sass: 1.58.3 + '@types/node': 20.11.30 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.0 + sass: 1.72.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /vooks/0.2.12_vue@3.2.47: + /vooks@0.2.12(vue@3.4.21): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.2.47 + vue: 3.4.21(typescript@5.4.3) dev: false - /vue-demi/0.13.11_vue@3.2.47: - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -3007,137 +3737,157 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.47 + vue: 3.4.21(typescript@5.4.3) dev: false - /vue-eslint-parser/9.1.0_eslint@8.35.0: - resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} + /vue-eslint-parser@9.4.2(eslint@8.57.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.35.0 + eslint: 8.57.0 eslint-scope: 7.1.1 eslint-visitor-keys: 3.3.0 espree: 9.4.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.3.8 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true - /vue-i18n/9.2.2_vue@3.2.47: - resolution: {integrity: sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==} - engines: {node: '>= 14'} + /vue-i18n@9.10.2(vue@3.4.21): + resolution: {integrity: sha512-ECJ8RIFd+3c1d3m1pctQ6ywG5Yj8Efy1oYoAKQ9neRdkLbuKLVeW4gaY5HPkD/9ssf1pOnUrmIFjx2/gkGxmEw==} + engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 dependencies: - '@intlify/core-base': 9.2.2 - '@intlify/shared': 9.2.2 - '@intlify/vue-devtools': 9.2.2 + '@intlify/core-base': 9.10.2 + '@intlify/shared': 9.10.2 '@vue/devtools-api': 6.5.0 - vue: 3.2.47 + vue: 3.4.21(typescript@5.4.3) dev: false - /vue-router/4.1.6_vue@3.2.47: - resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} + /vue-router@4.3.0(vue@3.4.21): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.5.0 - vue: 3.2.47 + '@vue/devtools-api': 6.6.1 + vue: 3.4.21(typescript@5.4.3) dev: false - /vue-template-compiler/2.7.14: + /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: de-indent: 1.0.2 he: 1.2.0 dev: true - /vue-tsc/1.2.0_typescript@4.9.5: - resolution: {integrity: sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==} + /vue-tsc@2.0.7(typescript@5.4.3): + resolution: {integrity: sha512-LYa0nInkfcDBB7y8jQ9FQ4riJTRNTdh98zK/hzt4gEpBZQmf30dPhP+odzCa+cedGz6B/guvJEd0BavZaRptjg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-language-core': 1.2.0 - '@volar/vue-typescript': 1.2.0 - typescript: 4.9.5 + '@volar/typescript': 2.1.5 + '@vue/language-core': 2.0.7(typescript@5.4.3) + semver: 7.6.0 + typescript: 5.4.3 dev: true - /vue/3.2.47: - resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} + /vue@3.4.21(typescript@5.4.3): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@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@3.2.47 - '@vue/shared': 3.2.47 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.3 - /vueuc/0.4.51_vue@3.2.47: - resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} + /vueuc@0.4.58(vue@3.4.21): + resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} peerDependencies: vue: ^3.0.11 dependencies: - '@css-render/vue3-ssr': 0.15.12_vue@3.2.47 + '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 - seemly: 0.3.6 - vdirs: 0.1.8_vue@3.2.47 - vooks: 0.2.12_vue@3.2.47 - vue: 3.2.47 + seemly: 0.3.8 + vdirs: 0.1.8(vue@3.4.21) + vooks: 0.2.12(vue@3.4.21) + vue: 3.4.21(typescript@5.4.3) dev: false - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 - dev: true - /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: false + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: false - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /xml-name-validator/4.0.0: + /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} dev: true - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: false - - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + dev: true + + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + dev: false - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - /zrender/5.4.1: - resolution: {integrity: sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==} + /zrender@5.5.0: + resolution: {integrity: sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==} dependencies: tslib: 2.3.0 dev: false diff --git a/seatunnel-ui/src/App.tsx b/seatunnel-ui/src/App.tsx index cd9ecf549..84e62297b 100644 --- a/seatunnel-ui/src/App.tsx +++ b/seatunnel-ui/src/App.tsx @@ -15,24 +15,25 @@ * limitations under the License. */ -import { defineComponent, computed, watch, ref } from 'vue' +import { useSettingStore } from '@/store/setting' +import { useThemeStore } from '@/store/theme' +import themeList from '@/themes' import { NConfigProvider, - NMessageProvider, NDialogProvider, + NMessageProvider, darkTheme, - dateZhCN, dateEnUS, - zhCN, - enUS + dateZhCN, + enUS, + zhCN } from 'naive-ui' -import { useThemeStore } from '@/store/theme' -import { useSettingStore } from '@/store/setting' +import type { + CustomThemeCommonVars, + ThemeCommonVars +} from 'naive-ui/es/config-provider/src/interface' +import { computed, defineComponent, watch } from 'vue' import { useI18n } from 'vue-i18n' -import themeList from '@/themes' -import type { GlobalThemeOverrides } from 'naive-ui' -import type { Ref } from 'vue' -import type { CustomThemeCommonVars, ThemeCommonVars } from 'naive-ui/es/config-provider/src/interface' const App = defineComponent({ setup() { @@ -41,10 +42,15 @@ const App = defineComponent({ const currentTheme = computed(() => themeStore.getDarkTheme ? darkTheme : undefined ) - const themeOverrides = computed(() => themeList[currentTheme.value ? 'dark' : 'light']) + const themeOverrides = computed( + () => themeList[currentTheme.value ? 'dark' : 'light'] + ) const setBorderRadius = (v: number) => { - (themeOverrides.value.common as Partial).borderRadius = - v + 'px' + ;( + themeOverrides.value.common as Partial< + ThemeCommonVars & CustomThemeCommonVars + > + ).borderRadius = v + 'px' } settingStore.getFilletValue && setBorderRadius(settingStore.getFilletValue) diff --git a/seatunnel-ui/src/components/checkbox-tree/index.tsx b/seatunnel-ui/src/components/checkbox-tree/index.tsx index e8a975d1a..a2e67fb48 100644 --- a/seatunnel-ui/src/components/checkbox-tree/index.tsx +++ b/seatunnel-ui/src/components/checkbox-tree/index.tsx @@ -29,7 +29,6 @@ import { computed, defineComponent, PropType, ref } from 'vue' import { TreeOption } from 'naive-ui' import { useI18n } from 'vue-i18n' import styles from './index.module.scss' -import { useUserStore } from '@/store/user' import { SearchOutlined } from '@vicons/antd' const props = { @@ -65,7 +64,6 @@ const CheckboxTree = defineComponent({ emits: ['cancel', 'confirm'], setup(props, ctx) { const { t } = useI18n() - const userStore = useUserStore() const pattern = ref('') const checkedValue = ref(props.defaultChecked) @@ -132,9 +130,7 @@ const CheckboxTree = defineComponent({ style={{ marginTop: '10px', marginBottom: '10px' }} > {t('resource.auth.public_resource')} - + )} diff --git a/seatunnel-ui/src/components/column-selector/dealColumns.ts b/seatunnel-ui/src/components/column-selector/dealColumns.ts index 08a97700a..036bdf4ad 100644 --- a/seatunnel-ui/src/components/column-selector/dealColumns.ts +++ b/seatunnel-ui/src/components/column-selector/dealColumns.ts @@ -122,7 +122,6 @@ export function getCheckboxList( return checkboxList } - export function setColumns(key: string, value: any) { localStorage.setItem(`col_${key}`, JSON.stringify(value)) } diff --git a/seatunnel-ui/src/components/dynamic-form/dynamic-form-item.tsx b/seatunnel-ui/src/components/dynamic-form/dynamic-form-item.tsx index e29727fb9..b32160184 100644 --- a/seatunnel-ui/src/components/dynamic-form/dynamic-form-item.tsx +++ b/seatunnel-ui/src/components/dynamic-form/dynamic-form-item.tsx @@ -119,14 +119,12 @@ const DynamicFormItem = defineComponent({ )}`} placeholder={f.placeholder ? this.t(f.placeholder) : ''} v-model={[(this.model as any)[f.field], 'value']} - options={ - f.options.map((o: SelectOption) => { - return { - label: this.t(o.label as string), - value: o.value - } - }) - } + options={f.options.map((o: SelectOption) => { + return { + label: this.t(o.label as string), + value: o.value + } + })} /> )} {f.type === 'checkbox' && diff --git a/seatunnel-ui/src/components/dynamic-form/use-form-request.ts b/seatunnel-ui/src/components/dynamic-form/use-form-request.ts index 6ba882e93..0681f0257 100644 --- a/seatunnel-ui/src/components/dynamic-form/use-form-request.ts +++ b/seatunnel-ui/src/components/dynamic-form/use-form-request.ts @@ -25,7 +25,7 @@ const reqFunction = (url: string, method: string) => { } export function useFormRequest(apis: any, forms: Array): Array { - forms.map(f => { + forms.map((f) => { if (f.api) { reqFunction(apis[f.api].url, apis[f.api].method).then((res: any) => { f.options = res.map((r: any) => { @@ -36,4 +36,4 @@ export function useFormRequest(apis: any, forms: Array): Array { }) return forms -} \ No newline at end of file +} diff --git a/seatunnel-ui/src/components/dynamic-form/use-form-structure.ts b/seatunnel-ui/src/components/dynamic-form/use-form-structure.ts index 34166ac65..931ae44b1 100644 --- a/seatunnel-ui/src/components/dynamic-form/use-form-structure.ts +++ b/seatunnel-ui/src/components/dynamic-form/use-form-structure.ts @@ -22,4 +22,4 @@ export function useFormStructure(forms: Array) { return f }) -} \ No newline at end of file +} diff --git a/seatunnel-ui/src/components/dynamic-form/use-form-validate.ts b/seatunnel-ui/src/components/dynamic-form/use-form-validate.ts index 86be15ae4..50b55fbde 100644 --- a/seatunnel-ui/src/components/dynamic-form/use-form-validate.ts +++ b/seatunnel-ui/src/components/dynamic-form/use-form-validate.ts @@ -27,7 +27,7 @@ export function useFormValidate(forms: Array, model: any, t: any) { } if (validate.type === 'non-empty') { - data['validator'] = (rule: FormItemRule, value: string) => { + data['validator'] = () => { if (!model[field]) { return Error(t(validate.message)) } diff --git a/seatunnel-ui/src/components/log-modal/index.tsx b/seatunnel-ui/src/components/log-modal/index.tsx index 6d282c50b..cabf702d9 100644 --- a/seatunnel-ui/src/components/log-modal/index.tsx +++ b/seatunnel-ui/src/components/log-modal/index.tsx @@ -119,7 +119,7 @@ export default defineComponent({ screenfull.on('change', change) }) - const headerLinks:any = ref([ + const headerLinks: any = ref([ { text: t('project.workflow.download_log'), show: props.showDownloadLog, @@ -158,16 +158,7 @@ export default defineComponent({ } }, render() { - const { - t, - renderIcon, - refreshLogs, - downloadLogs, - isFullscreen, - handleFullScreen, - showDownloadLog, - setLogPosition - } = this + const { t, setLogPosition, isFullscreen } = this return ( 2 && codeItems[0] === 'project') { - // module = 'project' - // } - - // const functionPermissions = usePermissionStore().getPermissions( - // module, - // 'function' - // ) - - // const hasPermission = functionPermissions.has(code) - - // if (hasPermission) return - - // if (el.parentElement?.children.length === 1) { - // el.parentElement.style = 'display: none' - // } - - // el.parentElement.removeChild(el) - } -} +export const permission: Directive = {} diff --git a/seatunnel-ui/src/hooks/use-source-type.ts b/seatunnel-ui/src/hooks/use-source-type.ts index f5c6a098d..b75f62e3c 100644 --- a/seatunnel-ui/src/hooks/use-source-type.ts +++ b/seatunnel-ui/src/hooks/use-source-type.ts @@ -19,7 +19,7 @@ import { getDatasourceType } from '@/service/data-source' import { useI18n } from 'vue-i18n' import type { SelectOption } from 'naive-ui' -type Key = '1' | '2' | '3' | '4' | '5' +// type Key = '1' | '2' | '3' | '4' | '5' type IType = { type: string label: string diff --git a/seatunnel-ui/src/hooks/use-table-link.ts b/seatunnel-ui/src/hooks/use-table-link.ts index 280d3fc79..0fc1ea5c9 100644 --- a/seatunnel-ui/src/hooks/use-table-link.ts +++ b/seatunnel-ui/src/hooks/use-table-link.ts @@ -40,7 +40,7 @@ interface ITableLinkParams { } export const useTableLink = ( - params: ITableLinkParams, + params: ITableLinkParams // module?: IPermissionModule ) => { // const functionPermissions = usePermissionStore().getPermissions( @@ -56,29 +56,27 @@ export const useTableLink = ( const maxWidth = params.width ? params.width - 24 : params.width const textColor = params.textColor ? params.textColor(rowData) || '' : '' return h( - ButtonLink, - { - href: params.button.getHref ? params.button.getHref(rowData) : null, - onClick: () => - params.button.onClick && params.button.onClick(rowData), - disabled: params.button.disabled && params.button.disabled(rowData) - }, - { - default: () => - h( - NEllipsis, - { style: `max-width: ${maxWidth}px; color: ${textColor}` }, - () => { - if (!params.showEmpty) { - return rowData[params.key] - } else { - return rowData[params.key] || '-' - } - } - ) - } - ) - + ButtonLink, + { + href: params.button.getHref ? params.button.getHref(rowData) : null, + onClick: () => params.button.onClick && params.button.onClick(rowData), + disabled: params.button.disabled && params.button.disabled(rowData) + }, + { + default: () => + h( + NEllipsis, + { style: `max-width: ${maxWidth}px; color: ${textColor}` }, + () => { + if (!params.showEmpty) { + return rowData[params.key] + } else { + return rowData[params.key] || '-' + } + } + ) + } + ) } return { diff --git a/seatunnel-ui/src/hooks/use-table-operation.ts b/seatunnel-ui/src/hooks/use-table-operation.ts index 9c05849c2..253d04a83 100644 --- a/seatunnel-ui/src/hooks/use-table-operation.ts +++ b/seatunnel-ui/src/hooks/use-table-operation.ts @@ -28,42 +28,38 @@ import { import { DeleteOutlined } from '@vicons/antd' import { COLUMN_WIDTH_CONFIG } from '@/common/column-width-config' - -export const useTableOperation = ( - params: { - title: string - key: string - preRender?: (rowData: any, buttonVnodes: VNode[], index: number) => any - width?: number - noPermission?: boolean - itemNum?: number - buttons: { - isDelete?: boolean - isAuth?: boolean - isSwitch?: boolean - isCustom?: boolean - isHidden?: (rowData: any) => boolean - negativeText?: string - positiveText?: string - popTips?: string - text: string | ((rowData: any) => string) - icon?: VNode | ((rowData: any) => VNode) - auth?: any - // accessType?: accessTypeKey - disabled?: boolean | ((rowData: any) => boolean) - class?: string - value?: string | number | boolean | undefined - checkedValue?: string | boolean | number - uncheckedValue?: string | boolean | number - onPositiveClick?: (rowData: any, index: number) => void - onClick?: (rowData: any) => void - onUpdateValue?: (value: any, rowData: any) => void - customFunc?: (rowData: any) => VNode, - show?: any - }[] - }, -) => { - +export const useTableOperation = (params: { + title: string + key: string + preRender?: (rowData: any, buttonVnodes: VNode[], index: number) => any + width?: number + noPermission?: boolean + itemNum?: number + buttons: { + isDelete?: boolean + isAuth?: boolean + isSwitch?: boolean + isCustom?: boolean + isHidden?: (rowData: any) => boolean + negativeText?: string + positiveText?: string + popTips?: string + text: string | ((rowData: any) => string) + icon?: VNode | ((rowData: any) => VNode) + auth?: any + // accessType?: accessTypeKey + disabled?: boolean | ((rowData: any) => boolean) + class?: string + value?: string | number | boolean | undefined + checkedValue?: string | boolean | number + uncheckedValue?: string | boolean | number + onPositiveClick?: (rowData: any, index: number) => void + onClick?: (rowData: any) => void + onUpdateValue?: (value: any, rowData: any) => void + customFunc?: (rowData: any) => VNode + show?: any + }[] +}) => { const getButtonVnodes = (rowData: any, index: number) => { // const showPopover = ref(false) return params.buttons @@ -124,22 +120,22 @@ export const useTableOperation = ( if (button.isAuth) { return h(button.auth, { ...commonProps, - row: rowData, + row: rowData // accessType: button.accessType }) } if (button.isSwitch) { return h(NTooltip, null, { trigger: () => - h(NSwitch, { - value: rowData.status, - checkedValue: button.checkedValue, - uncheckedValue: button.uncheckedValue, - onUpdateValue: (value) => - button.onUpdateValue - ? void button.onUpdateValue(value, rowData) - : () => {} - }), + h(NSwitch, { + value: rowData.status, + checkedValue: button.checkedValue, + uncheckedValue: button.uncheckedValue, + onUpdateValue: (value) => + button.onUpdateValue + ? void button.onUpdateValue(value, rowData) + : () => {} + }), default: () => buttonText }) } @@ -149,23 +145,30 @@ export const useTableOperation = ( } // show btn - const show = typeof button.show === 'function' ? button.show.call(this, rowData) : button.show === undefined ? true : !!button.show - return show ? h(NTooltip, null, { - trigger: () => - h( - NButton, - { - ...commonProps, - type: 'info', - onClick: () => - button.onClick ? void button.onClick(rowData) : () => {} - }, - { - default: () => h(NIcon, null, { default: () => buttonIcon }) - } - ), - default: () => buttonText - }) : h('') + const show = + typeof button.show === 'function' + ? button.show.call(this, rowData) + : button.show === undefined + ? true + : !!button.show + return show + ? h(NTooltip, null, { + trigger: () => + h( + NButton, + { + ...commonProps, + type: 'info', + onClick: () => + button.onClick ? void button.onClick(rowData) : () => {} + }, + { + default: () => h(NIcon, null, { default: () => buttonIcon }) + } + ), + default: () => buttonText + }) + : h('') }) } diff --git a/seatunnel-ui/src/layouts/dashboard/header/menu/use-menu.ts b/seatunnel-ui/src/layouts/dashboard/header/menu/use-menu.ts index c09835530..223b22d91 100644 --- a/seatunnel-ui/src/layouts/dashboard/header/menu/use-menu.ts +++ b/seatunnel-ui/src/layouts/dashboard/header/menu/use-menu.ts @@ -32,7 +32,8 @@ export function useMenu() { key: 'datasource' }, { - label: () => h(NEllipsis, null, { default: () => t('menu.virtual_tables') }), + label: () => + h(NEllipsis, null, { default: () => t('menu.virtual_tables') }), key: 'virtual-tables' }, { diff --git a/seatunnel-ui/src/layouts/dashboard/header/user/index.tsx b/seatunnel-ui/src/layouts/dashboard/header/user/index.tsx index 26f9e104c..198a622f4 100644 --- a/seatunnel-ui/src/layouts/dashboard/header/user/index.tsx +++ b/seatunnel-ui/src/layouts/dashboard/header/user/index.tsx @@ -19,7 +19,13 @@ import { Component, defineComponent, h } from 'vue' import { NSpace, NDropdown, NIcon, NButton } from 'naive-ui' import { useUserDropdown } from './use-user-dropdown' import { useUserStore } from '@/store/user' -import { DownOutlined, LogoutOutlined, QuestionCircleOutlined, SettingOutlined, UserOutlined } from '@vicons/antd' +import { + DownOutlined, + LogoutOutlined, + QuestionCircleOutlined, + SettingOutlined, + UserOutlined +} from '@vicons/antd' import { useI18n } from 'vue-i18n' import type { UserDetail } from '@/service/user/types' diff --git a/seatunnel-ui/src/layouts/dashboard/index.tsx b/seatunnel-ui/src/layouts/dashboard/index.tsx index ffa80ea3c..30a0e83a4 100644 --- a/seatunnel-ui/src/layouts/dashboard/index.tsx +++ b/seatunnel-ui/src/layouts/dashboard/index.tsx @@ -15,15 +15,15 @@ * limitations under the License. */ -import { defineComponent, watch, watchEffect, ref, Ref, onMounted } from 'vue' -import { useRoute, useRouter, RouteLocationMatched } from 'vue-router' import { NLayout, - NLayoutHeader, NLayoutContent, - useMessage, - NSpace + NLayoutHeader, + NSpace, + useMessage } from 'naive-ui' +import { defineComponent, ref, watch } from 'vue' +import { useRoute } from 'vue-router' import Header from './header' import Sidebar from './sidebar' @@ -31,7 +31,7 @@ const Dashboard = defineComponent({ setup() { window.$message = useMessage() const route = useRoute() - let showSide = ref(false) + const showSide = ref(false) const menuKey = ref(route.meta.activeMenu as string) @@ -59,7 +59,7 @@ const Dashboard = defineComponent({ - { this.showSide && } + {this.showSide && } - + diff --git a/seatunnel-ui/src/layouts/dashboard/sidebar/index.tsx b/seatunnel-ui/src/layouts/dashboard/sidebar/index.tsx index e979dd27f..76c051125 100644 --- a/seatunnel-ui/src/layouts/dashboard/sidebar/index.tsx +++ b/seatunnel-ui/src/layouts/dashboard/sidebar/index.tsx @@ -15,29 +15,21 @@ * limitations under the License. */ -import { defineComponent, ref, PropType, onMounted, watch, h } from 'vue' -import { NLayoutSider, NMenu, NIcon, NDropdown, NEllipsis } from 'naive-ui' import { useThemeStore } from '@/store/theme' -import styles from './index.module.scss' -import { PartitionOutlined, ProjectOutlined, RightOutlined } from '@vicons/antd' -import { useRoute, useRouter, RouterLink } from 'vue-router' -import { MenuOption } from 'naive-ui' +import { NLayoutSider, NMenu } from 'naive-ui' +import { PropType, defineComponent, h, onMounted, ref } from 'vue' import { useI18n } from 'vue-i18n' +import { RouterLink, useRoute } from 'vue-router' const Sidebar = defineComponent({ name: 'Sidebar', props: { - sideMenuOptions: { - type: Array as PropType, - default: [] - }, sideKey: { type: String as PropType, default: '' } }, setup() { - const router = useRouter() const collapsedRef = ref(false) const defaultExpandedKeys = [''] const route = useRoute() @@ -87,8 +79,8 @@ const Sidebar = defineComponent({ menuStyle, themeStore, showDrop, - sideMenuOptions, - route + route, + sideMenuOptions } }, render() { diff --git a/seatunnel-ui/src/locales/en_US/common.ts b/seatunnel-ui/src/locales/en_US/common.ts index 092cf9ad9..048025343 100644 --- a/seatunnel-ui/src/locales/en_US/common.ts +++ b/seatunnel-ui/src/locales/en_US/common.ts @@ -19,5 +19,5 @@ export default { success_tips: 'Success', hour: 'h', min: 'm', - second: 's', + second: 's' } diff --git a/seatunnel-ui/src/locales/en_US/menu.ts b/seatunnel-ui/src/locales/en_US/menu.ts index 6a87b2b0c..093797af4 100644 --- a/seatunnel-ui/src/locales/en_US/menu.ts +++ b/seatunnel-ui/src/locales/en_US/menu.ts @@ -25,5 +25,5 @@ export default { virtual_tables: 'Virtual Tables', sync_task_definition: 'Syncing Task Definition', sync_task_instance: 'Syncing Task Instance', - synchronization_instance: 'Syncing Task Instance', + synchronization_instance: 'Syncing Task Instance' } diff --git a/seatunnel-ui/src/locales/en_US/project.ts b/seatunnel-ui/src/locales/en_US/project.ts index b28b497b8..702c12c4d 100644 --- a/seatunnel-ui/src/locales/en_US/project.ts +++ b/seatunnel-ui/src/locales/en_US/project.ts @@ -998,7 +998,8 @@ export default { file_tips: 'Please select an excel file.' }, synchronization_definition: { - node_prev_check_tips: 'The current node is not connected to the previous node', + node_prev_check_tips: + 'The current node is not connected to the previous node', create_synchronization_task: 'Create Synchronization Task', edit_synchronization_task: 'Edit Synchronization Task', synchronization_task_name: 'Synchronization Task Name', @@ -1091,13 +1092,13 @@ export default { separator: 'Separator', separator_tips: 'Please enter a separator', segmented_fields: 'Segmented fields', - segmented_fields_placeholder: 'If two fields are separated, you can fill in field1, field2', + segmented_fields_placeholder: + 'If two fields are separated, you can fill in field1, field2', copy_field: 'Copy Field', check_model: 'Please check the model information', sql_content_label: 'sql', sql_content_label_placeholder: 'please input the SQL statement', - query_validate: 'please input the SQL statement', - + query_validate: 'please input the SQL statement' }, synchronization_instance: { pipeline_id: 'Pipeline Id', @@ -1142,7 +1143,7 @@ export default { confirm: 'Confirm', cancel: 'Cancel', delete: 'Delete', - delete_confirm: 'Delete?', + delete_confirm: 'Delete?' }, menu: { fav: 'Favorites', diff --git a/seatunnel-ui/src/locales/zh_CN/common.ts b/seatunnel-ui/src/locales/zh_CN/common.ts index 4289aa2c7..759c7d106 100644 --- a/seatunnel-ui/src/locales/zh_CN/common.ts +++ b/seatunnel-ui/src/locales/zh_CN/common.ts @@ -19,5 +19,5 @@ export default { success_tips: '操作成功', hour: '时', min: '分', - second: '秒', + second: '秒' } diff --git a/seatunnel-ui/src/locales/zh_CN/data-pipes.ts b/seatunnel-ui/src/locales/zh_CN/data-pipes.ts index 70b0de793..5481be6ec 100644 --- a/seatunnel-ui/src/locales/zh_CN/data-pipes.ts +++ b/seatunnel-ui/src/locales/zh_CN/data-pipes.ts @@ -38,8 +38,7 @@ export default { key: '键', value: '值', name_tips: '必填字段,数字,字母大小写,100个字符', - data_pipes_delete_tips: - '是否删除数据管道,删除后无法恢复', + data_pipes_delete_tips: '是否删除数据管道,删除后无法恢复', data_pipes_publish_tips: '是否发布数据管道', model_validate_tips: '必填字段' } diff --git a/seatunnel-ui/src/locales/zh_CN/datasource.ts b/seatunnel-ui/src/locales/zh_CN/datasource.ts index 6222fd05b..bc1475eda 100644 --- a/seatunnel-ui/src/locales/zh_CN/datasource.ts +++ b/seatunnel-ui/src/locales/zh_CN/datasource.ts @@ -20,7 +20,7 @@ export default { datasource: '数据源', create_datasource: '创建源', choose_datasource_type: '选择源类型', - search:'搜索', + search: '搜索', search_input_tips: '请输入关键字', select: '更改', datasource_name: '源名称', diff --git a/seatunnel-ui/src/locales/zh_CN/menu.ts b/seatunnel-ui/src/locales/zh_CN/menu.ts index 36a9b5a49..84c027705 100644 --- a/seatunnel-ui/src/locales/zh_CN/menu.ts +++ b/seatunnel-ui/src/locales/zh_CN/menu.ts @@ -25,5 +25,5 @@ export default { virtual_tables: '虚拟表', sync_task_definition: '同步任务定义', sync_task_instance: '同步任务实例', - synchronization_instance: '同步任务实例', + synchronization_instance: '同步任务实例' } diff --git a/seatunnel-ui/src/locales/zh_CN/project.ts b/seatunnel-ui/src/locales/zh_CN/project.ts index a490f38d9..ef439f2fd 100644 --- a/seatunnel-ui/src/locales/zh_CN/project.ts +++ b/seatunnel-ui/src/locales/zh_CN/project.ts @@ -1109,7 +1109,7 @@ export default { confirm: '确定', cancel: '取消', delete: '删除', - delete_confirm: '确定删除吗?', + delete_confirm: '确定删除吗?' }, menu: { fav: '收藏组件', diff --git a/seatunnel-ui/src/locales/zh_CN/user-manage.ts b/seatunnel-ui/src/locales/zh_CN/user-manage.ts index 46a60c6f4..bcc62abe8 100644 --- a/seatunnel-ui/src/locales/zh_CN/user-manage.ts +++ b/seatunnel-ui/src/locales/zh_CN/user-manage.ts @@ -34,6 +34,5 @@ export default { model_validate_tips: '必填字段', username_tips: '必填字段,数字,字母大小写,50 个字符', password_tips: '必填字段,数字,字母大小写,6 个字符', - user_delete_tips: - '是否删除用户? 删除后无法恢复' + user_delete_tips: '是否删除用户? 删除后无法恢复' } diff --git a/seatunnel-ui/src/router/index.ts b/seatunnel-ui/src/router/index.ts index 2a88a6940..30f3d55ac 100644 --- a/seatunnel-ui/src/router/index.ts +++ b/seatunnel-ui/src/router/index.ts @@ -22,7 +22,7 @@ import 'nprogress/nprogress.css' const router = createRouter({ history: createWebHashHistory( - import.meta.env.MODE === 'production' ? '/ui/' : '/' + import.meta.env.MODE === 'production' ? '/ui/' : '/' ), routes }) @@ -31,4 +31,4 @@ router.afterEach(() => { NProgress.done() }) -export default router \ No newline at end of file +export default router diff --git a/seatunnel-ui/src/router/tasks.ts b/seatunnel-ui/src/router/tasks.ts index e683ae8cc..faa9959ba 100644 --- a/seatunnel-ui/src/router/tasks.ts +++ b/seatunnel-ui/src/router/tasks.ts @@ -49,7 +49,7 @@ export default { title: 'synchronization-definition-dag', activeMenu: 'tasks', activeSide: 'synchronization-definition', - showSide: true, + showSide: true } }, { @@ -71,7 +71,7 @@ export default { title: 'synchronization-instance-detail', activeMenu: 'tasks', activeSide: 'synchronization-instance', - showSide: true, + showSide: true } } ] diff --git a/seatunnel-ui/src/router/user-manage.ts b/seatunnel-ui/src/router/user-manage.ts index e1803faac..118c3ec2d 100644 --- a/seatunnel-ui/src/router/user-manage.ts +++ b/seatunnel-ui/src/router/user-manage.ts @@ -36,7 +36,7 @@ export default { component: components['user-manage-list'], meta: { title: 'user-manage-list', - activeMenu: 'user-manage', + activeMenu: 'user-manage' } } ] diff --git a/seatunnel-ui/src/router/virtual-tables.ts b/seatunnel-ui/src/router/virtual-tables.ts index 82378424c..c523d5f8f 100644 --- a/seatunnel-ui/src/router/virtual-tables.ts +++ b/seatunnel-ui/src/router/virtual-tables.ts @@ -36,7 +36,7 @@ export default { component: components['virtual-tables-list'], meta: { title: 'virtual-tables-list', - activeMenu: 'virtual-tables', + activeMenu: 'virtual-tables' } }, { @@ -45,7 +45,7 @@ export default { component: components['virtual-tables-detail'], meta: { title: 'virtual-tables-create', - activeMenu: 'virtual-tables', + activeMenu: 'virtual-tables' } }, { @@ -54,7 +54,7 @@ export default { component: components['virtual-tables-detail'], meta: { title: 'virtual-tables-editor', - activeMenu: 'virtual-tables', + activeMenu: 'virtual-tables' } } ] diff --git a/seatunnel-ui/src/service/data-source/index.ts b/seatunnel-ui/src/service/data-source/index.ts index 58228e469..f37676e45 100644 --- a/seatunnel-ui/src/service/data-source/index.ts +++ b/seatunnel-ui/src/service/data-source/index.ts @@ -16,11 +16,7 @@ */ import { axios } from '@/service/service' -import { - DatasourceListParameters, - DataSourceDetail, - DatasourceTestConnectParameters -} from './types' +import { DatasourceListParameters, DataSourceDetail } from './types' const DATASOURCE_BASE_URL = '/datasource' @@ -90,7 +86,10 @@ export function getDynamicFormItems(pluginName: string): any { }) } -export function getDatasourceTablesById(datasourceId: string, database: string): any { +export function getDatasourceTablesById( + datasourceId: string, + database: string +): any { return axios({ url: `/data-quality/tables/${datasourceId}`, method: 'get', diff --git a/seatunnel-ui/src/service/data-source/types.ts b/seatunnel-ui/src/service/data-source/types.ts index e3e304558..bf53f102e 100644 --- a/seatunnel-ui/src/service/data-source/types.ts +++ b/seatunnel-ui/src/service/data-source/types.ts @@ -36,7 +36,6 @@ export interface DatasourceTestConnectParameters { datasourceConfig?: string } - export interface DatasourceTypeList { name: string icon: string diff --git a/seatunnel-ui/src/service/service.ts b/seatunnel-ui/src/service/service.ts index 2ca1580b1..e02f28cf2 100644 --- a/seatunnel-ui/src/service/service.ts +++ b/seatunnel-ui/src/service/service.ts @@ -76,7 +76,7 @@ service.interceptors.response.use((res: AxiosResponse) => { switch (res.data.code) { case 0: return res.data.data - + default: handleError(res) throw new Error() diff --git a/seatunnel-ui/src/service/sync-task-definition/index.ts b/seatunnel-ui/src/service/sync-task-definition/index.ts index 3abcc37aa..c48b14c9a 100644 --- a/seatunnel-ui/src/service/sync-task-definition/index.ts +++ b/seatunnel-ui/src/service/sync-task-definition/index.ts @@ -226,7 +226,7 @@ export function getTableByDatabase( datasourceName: string, databaseName: string, filterName?: string, - size?: number, + size?: number ): any { size = size || 100 filterName = filterName || '' @@ -320,6 +320,6 @@ export function executeJob(jobDefineId: number): any { method: 'get', headers: { 'Content-Type': 'application/json;charset=UTF-8' - }, + } }) -} \ No newline at end of file +} diff --git a/seatunnel-ui/src/service/task-instances/index.ts b/seatunnel-ui/src/service/task-instances/index.ts index 6673a1ed1..9d8167ec5 100644 --- a/seatunnel-ui/src/service/task-instances/index.ts +++ b/seatunnel-ui/src/service/task-instances/index.ts @@ -17,7 +17,7 @@ import { axios } from '@/service/service' import utils from '@/utils' -import { ProjectCodeReq, IdReq, TaskListReq } from './types' +import { IdReq, TaskListReq } from './types' export function queryTaskListPaging(params: TaskListReq): any { return axios({ @@ -27,7 +27,7 @@ export function queryTaskListPaging(params: TaskListReq): any { }) } -export function forceSuccess(taskId: IdReq, projectCode: ProjectCodeReq): any { +export function forceSuccess(taskId: IdReq): any { return axios({ url: `/projects//task-instances/${taskId.id}/force-success`, method: 'post' diff --git a/seatunnel-ui/src/themes/modules/dark.ts b/seatunnel-ui/src/themes/modules/dark.ts index df8889965..8017d3544 100644 --- a/seatunnel-ui/src/themes/modules/dark.ts +++ b/seatunnel-ui/src/themes/modules/dark.ts @@ -28,11 +28,11 @@ const dark = { primaryColorSuppl: '#177ddc', /**************** Function of color */ - infoColor: '#177ddc', + infoColor: '#177ddc' // successColor: '#49aa19', // warningColor: '#d89614', // errorColor: '#a61d24' - }, + } // Layout: { // headerColor: '#141414' // }, diff --git a/seatunnel-ui/src/themes/modules/light.ts b/seatunnel-ui/src/themes/modules/light.ts index 9e9634043..151665793 100644 --- a/seatunnel-ui/src/themes/modules/light.ts +++ b/seatunnel-ui/src/themes/modules/light.ts @@ -52,10 +52,9 @@ const light: GlobalThemeOverrides = { // textColor2: '#313377', // textColor3: '#9096b8', - // borderRadius: '15px', // tableHeaderColor: '#614bdd' - }, + } // Layout: { // headerColor: '#fff' // }, diff --git a/seatunnel-ui/src/utils/time.ts b/seatunnel-ui/src/utils/time.ts index 20604eda8..c6844d8ee 100644 --- a/seatunnel-ui/src/utils/time.ts +++ b/seatunnel-ui/src/utils/time.ts @@ -18,14 +18,12 @@ import i18n from '@/locales' const { t } = i18n.global export const getRemainTime = (remain: number): any => { - if(!remain) return - let h = parseInt(remain / 60 / 60 % 24 + '') - let m = parseInt(remain / 60 % 60 + '') - let s = parseInt(remain % 60 + '') - const hText = h > 0 ? `${h}${t('common.hour')}` : '' - const mText = m > 0 ? `${m}${t('common.min')}` : '' - const sText = s > 0 ? `${s}${t('common.second')}` : '' - return hText + mText + sText - + if (!remain) return + const h = parseInt(((remain / 60 / 60) % 24) + '') + const m = parseInt(((remain / 60) % 60) + '') + const s = parseInt((remain % 60) + '') + const hText = h > 0 ? `${h}${t('common.hour')}` : '' + const mText = m > 0 ? `${m}${t('common.min')}` : '' + const sText = s > 0 ? `${s}${t('common.second')}` : '' + return hText + mText + sText } - diff --git a/seatunnel-ui/src/views/datasource/create/index.tsx b/seatunnel-ui/src/views/datasource/create/index.tsx index 5f9321265..ec32fcecc 100644 --- a/seatunnel-ui/src/views/datasource/create/index.tsx +++ b/seatunnel-ui/src/views/datasource/create/index.tsx @@ -74,29 +74,42 @@ const DatasourceCreate = defineComponent({ {{ - header: () => - - {t('datasource.datasource')} - - - {t( - route.params.id - ? 'datasource.edit_datasource' - : 'datasource.create_datasource' - )} - - , - 'header-extra': () => - - {t('datasource.test_connect')} - - - {t('datasource.cancel')} - - - {t('datasource.confirm')} - - + header: () => ( + + + {t('datasource.datasource')} + + + {t( + route.params.id + ? 'datasource.edit_datasource' + : 'datasource.create_datasource' + )} + + + ), + 'header-extra': () => ( + + + {t('datasource.test_connect')} + + + {t('datasource.cancel')} + + + {t('datasource.confirm')} + + + ) }} diff --git a/seatunnel-ui/src/views/datasource/create/use-detail.ts b/seatunnel-ui/src/views/datasource/create/use-detail.ts index f2c4a775a..52eda5f75 100644 --- a/seatunnel-ui/src/views/datasource/create/use-detail.ts +++ b/seatunnel-ui/src/views/datasource/create/use-detail.ts @@ -63,7 +63,8 @@ export function useDetail( description: result.description, ...result.datasourceConfig }) - } finally {} + } finally { + } } const testConnect = async () => { @@ -74,7 +75,11 @@ export function useDetail( try { const result = await checkConnect({ pluginName: values.pluginName, - datasourceConfig: omit(values, ['pluginName', 'datasourceName', 'description']) + datasourceConfig: omit(values, [ + 'pluginName', + 'datasourceName', + 'description' + ]) }) window.$message.success( result.msg ? result.msg : `${t('datasource.test_connect_success')}` diff --git a/seatunnel-ui/src/views/datasource/create/use-form.ts b/seatunnel-ui/src/views/datasource/create/use-form.ts index 23e41f327..b69d84767 100644 --- a/seatunnel-ui/src/views/datasource/create/use-form.ts +++ b/seatunnel-ui/src/views/datasource/create/use-form.ts @@ -18,17 +18,13 @@ import { onMounted, reactive } from 'vue' import { useI18n } from 'vue-i18n' import { useRouter } from 'vue-router' -import { - useFormStructuresStore, - StructureItem -} from '@/store/datasource' +import { useFormStructuresStore, StructureItem } from '@/store/datasource' import { dynamicFormItems } from '@/service/data-source' import { useFormField } from '@/components/dynamic-form/use-form-field' import { useFormRequest } from '@/components/dynamic-form/use-form-request' import { useFormValidate } from '@/components/dynamic-form/use-form-validate' import { useFormStructure } from '@/components/dynamic-form/use-form-structure' import type { FormRules } from 'naive-ui' -import type { ResponseBasic } from '@/service/types' export function useForm(type: string) { const { t } = useI18n() @@ -60,7 +56,9 @@ export function useForm(type: string) { const getFormItems = async (value: string) => { if (formStructuresStore.getItem(value)) { - state.formStructure = formStructuresStore.getItem(value) as StructureItem[] + state.formStructure = formStructuresStore.getItem( + value + ) as StructureItem[] return } @@ -78,7 +76,8 @@ export function useForm(type: string) { state.formStructure = useFormStructure( res.apis ? useFormRequest(res.apis, res.forms) : res.forms ) as any - } finally {} + } finally { + } } const changeType = (value: string) => { diff --git a/seatunnel-ui/src/views/datasource/list/index.tsx b/seatunnel-ui/src/views/datasource/list/index.tsx index 260cfdfac..733aaae2e 100644 --- a/seatunnel-ui/src/views/datasource/list/index.tsx +++ b/seatunnel-ui/src/views/datasource/list/index.tsx @@ -19,13 +19,11 @@ import { defineComponent, onMounted, ref, toRefs, watch } from 'vue' import { NButton, NInput, - NIcon, NDataTable, NPagination, NSpace, NCard } from 'naive-ui' -import { SearchOutlined, ReloadOutlined } from '@vicons/antd' import { useRouter, useRoute } from 'vue-router' import { useI18n } from 'vue-i18n' import { useColumns } from './use-columns' @@ -36,7 +34,7 @@ import type { Ref } from 'vue' import type { TableColumns } from 'naive-ui/es/data-table/src/interface' const DatasourceList = defineComponent({ - setup: function() { + setup: function () { const { t } = useI18n() const showSourceModal = ref(false) const columns: Ref = ref([]) @@ -52,7 +50,7 @@ const DatasourceList = defineComponent({ const { getColumns } = useColumns((id: string, type: 'edit' | 'delete') => { if (type === 'edit') { router.push({ name: 'datasource-edit', params: { id } }) - } else if(type === 'delete'){ + } else if (type === 'delete') { deleteRecord(id) } }) @@ -132,10 +130,7 @@ const DatasourceList = defineComponent({ {this.t('datasource.search')} - + {t('datasource.create')} diff --git a/seatunnel-ui/src/views/datasource/list/use-columns.ts b/seatunnel-ui/src/views/datasource/list/use-columns.ts index 81b31a76d..cc7b1db37 100644 --- a/seatunnel-ui/src/views/datasource/list/use-columns.ts +++ b/seatunnel-ui/src/views/datasource/list/use-columns.ts @@ -17,7 +17,7 @@ import { h } from 'vue' import { useI18n } from 'vue-i18n' -import { NPopover, NButton, NSpace } from 'naive-ui' +import { NPopover, NButton } from 'naive-ui' import JsonHighlight from '../components/json-highlight' import { getTableColumn } from '@/common/table' @@ -53,14 +53,16 @@ export function useColumns(onCallback: Function) { { trigger: 'click' }, { trigger: () => - h(NButton, { text: true }, { - default: () => t('datasource.click_to_view') - }), + h( + NButton, + { text: true }, + { + default: () => t('datasource.click_to_view') + } + ), default: () => h(JsonHighlight, { - params: JSON.stringify( - row.datasourceConfig - ) as string + params: JSON.stringify(row.datasourceConfig) as string }) } ) @@ -74,11 +76,11 @@ export function useColumns(onCallback: Function) { }, { title: t('datasource.create_time'), - key: 'createTime', + key: 'createTime' }, { title: t('datasource.update_time'), - key: 'updateTime', + key: 'updateTime' }, useTableOperation({ title: t('datasource.operation'), diff --git a/seatunnel-ui/src/views/datasource/list/use-source.ts b/seatunnel-ui/src/views/datasource/list/use-source.ts index c0e79cc43..2f2be6dcf 100644 --- a/seatunnel-ui/src/views/datasource/list/use-source.ts +++ b/seatunnel-ui/src/views/datasource/list/use-source.ts @@ -52,7 +52,6 @@ export const useSource = (showVirtualDataSource = false) => { Key: { code: number; name: string; chineseName: string }[] } - console.log(res, 'ers') const locales = { zh_CN: {} as { [key: string]: string }, en_US: {} as { [key: string]: string } diff --git a/seatunnel-ui/src/views/datasource/list/use-table.ts b/seatunnel-ui/src/views/datasource/list/use-table.ts index 914a4a5fc..223473b6e 100644 --- a/seatunnel-ui/src/views/datasource/list/use-table.ts +++ b/seatunnel-ui/src/views/datasource/list/use-table.ts @@ -15,13 +15,8 @@ * limitations under the License. */ +import { datasourceDelete, datasourceList } from '@/service/data-source' import { reactive } from 'vue' -import { - datasourceList, - datasourceDelete -} from '@/service/data-source' -import type { DatasourceList } from '@/service/data-source/types' -import type { ResponseTable } from '@/service/types' export function useTable() { const data = reactive({ diff --git a/seatunnel-ui/src/views/login/use-form.ts b/seatunnel-ui/src/views/login/use-form.ts index c9fee48d0..ca43732e7 100644 --- a/seatunnel-ui/src/views/login/use-form.ts +++ b/seatunnel-ui/src/views/login/use-form.ts @@ -57,7 +57,6 @@ export function useForm() { const handleLogin = () => { userLogin({ ...state.loginForm }).then((res: any) => { userStore.setUserInfo(res) - console.log('login-jumps') router.push({ path: '/tasks' }) }) } diff --git a/seatunnel-ui/src/views/setting/index.tsx b/seatunnel-ui/src/views/setting/index.tsx index 9887923c5..b40de5630 100644 --- a/seatunnel-ui/src/views/setting/index.tsx +++ b/seatunnel-ui/src/views/setting/index.tsx @@ -106,7 +106,7 @@ const Setting = defineComponent({ {t('setting.model')}
- + {/* [ + const themeOpts = computed(() => [ // { label: t('theme.dark_blue'), key: 'dark-blue' }, { label: t('theme.light'), key: 'light', value: 'light' }, { label: t('theme.dark'), key: 'dark', value: 'dark' } ]) - let themeLabel = computed(() => themeStore.theme) + const themeLabel = computed(() => themeStore.theme) return { themeOpts, themeLabel, diff --git a/seatunnel-ui/src/views/setting/theme/use-theme.ts b/seatunnel-ui/src/views/setting/theme/use-theme.ts index cf0214ade..d63d578b6 100644 --- a/seatunnel-ui/src/views/setting/theme/use-theme.ts +++ b/seatunnel-ui/src/views/setting/theme/use-theme.ts @@ -18,25 +18,23 @@ import { computed, ref, watch } from 'vue' import { useI18n } from 'vue-i18n' import { useThemeStore } from '@/store/theme' -import { find } from 'lodash' import type { ITheme } from '@/store/theme/types' export function useTheme() { const { t } = useI18n() const themeStore = useThemeStore() - + const getThemes = () => [ // { label: t('theme.dark_blue'), key: 'dark-blue' }, { label: t('theme.light'), key: 'light', value: 'light' }, { label: t('theme.dark'), key: 'dark', value: 'dark' } ] - let themeLabel = computed(() => themeStore.theme) + const themeLabel = computed(() => themeStore.theme) const themes = ref(getThemes()) // const currentThemeLabel = ref(getThemeLabel()) const onSelectTheme = (theme: ITheme) => { - console.log(111) themeStore.setTheme(theme) // currentThemeLabel.value = getThemeLabel() } diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/index.tsx b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/index.tsx index 62b149086..3462090ca 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/index.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/index.tsx @@ -33,6 +33,11 @@ import { getDagData } from './dag-data' import styles from './index.module.scss' import type { Ref } from 'vue' import type { InputEdge, InputPlugin, NodeInfo } from '../types' +import { Keyboard } from '@antv/x6-plugin-keyboard' +import { Selection } from '@antv/x6-plugin-selection' +import { History } from '@antv/x6-plugin-history' +import { MiniMap } from '@antv/x6-plugin-minimap' +import { Scroller } from '@antv/x6-plugin-scroller' const DagCanvas = defineComponent({ name: 'DagCanvas', @@ -66,11 +71,27 @@ const DagCanvas = defineComponent({ } const initGraph = () => { - graph.value = useDagGraph( - graph, - dagContainer.value, - minimapContainer.value - ) + graph.value = useDagGraph(graph, dagContainer.value) + graph.value + .use(new Keyboard()) + .use( + new Selection({ + enabled: true, + rubberband: false, + movable: true, + showNodeSelectionBox: true, + showEdgeSelectionBox: true + }) + ) + .use(new History()) + .use( + new MiniMap({ + width: 200, + height: 120, + container: minimapContainer.value + }) + ) + .use(new Scroller()) } const registerNode = () => { @@ -100,7 +121,10 @@ const DagCanvas = defineComponent({ ...cell.getData(), type: cell.getData().type.toLowerCase(), sourceFields: fields, - predecessorsNodeId: (graph.value?.getPredecessors(cell) as Cell[]).length > 0 ? graph.value?.getPredecessors(cell)[0].id : '' + predecessorsNodeId: + (graph.value?.getPredecessors(cell) as Cell[]).length > 0 + ? graph.value?.getPredecessors(cell)[0].id + : '' } currentNodeId = cell.id state.show = true diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/node.tsx b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/node.tsx index e875761d1..1b0de5bad 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/node.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/node.tsx @@ -58,7 +58,11 @@ const Node = defineComponent({
diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-graph.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-graph.ts index 5113a1944..d381ffb89 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-graph.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-graph.ts @@ -18,14 +18,9 @@ import { Graph, Edge } from '@antv/x6' import { DagEdgeName } from './dag-setting' -export function useDagGraph( - graph: any, - dagContainer: HTMLElement, - minimapContainer: HTMLElement -) { +export function useDagGraph(graph: any, dagContainer: HTMLElement) { return new Graph({ container: dagContainer, - scroller: true, grid: { size: 10, visible: true @@ -45,11 +40,17 @@ export function useDagGraph( if (targetCell?.getData().type === 'sink') { return graph.value?.getConnectedEdges(targetCell).length < 1 } - + if (targetCell?.getData().type === 'transform') { // The same 'Copy' transform node cannot be connected - const srcData = sourceCell?.getData(), tgtData = targetCell?.getData() - if (srcData.type === 'transform' && srcData.connectorType === 'Copy' && tgtData.connectorType === 'Copy') return false + const srcData = sourceCell?.getData(), + tgtData = targetCell?.getData() + if ( + srcData.type === 'transform' && + srcData.connectorType === 'Copy' && + tgtData.connectorType === 'Copy' + ) + return false // don't connect self const edges = graph.value?.getConnectedEdges(targetCell) @@ -60,20 +61,6 @@ export function useDagGraph( return true } - }, - snapline: true, - minimap: { - enabled: true, - width: 200, - height: 120, - container: minimapContainer - }, - selecting: { - enabled: true, - rubberband: false, - movable: true, - showNodeSelectionBox: true, - showEdgeSelectionBox: true } }) } diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-resize.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-resize.ts index e48101010..c6936a38a 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-resize.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/use-dag-resize.ts @@ -30,4 +30,4 @@ export function useDagResize(container: Ref, graph: Ref) { }, 200) useResizeObserver(container, resize) -} \ No newline at end of file +} diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/configuration-form.tsx b/seatunnel-ui/src/views/task/synchronization-definition/dag/configuration-form.tsx index 2554870cf..87f554427 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/configuration-form.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/configuration-form.tsx @@ -15,7 +15,7 @@ * limitations under the License. */ -import { defineComponent, nextTick, PropType, ref, watchEffect } from 'vue' +import { defineComponent, nextTick, PropType, ref } from 'vue' import { NForm, NFormItem, @@ -78,29 +78,29 @@ const ConfigurationForm = defineComponent({ emit('tableNameChange', state.model) } - - const prevQueryTableName = ref(''); + const prevQueryTableName = ref('') const onTableSearch = debounce((tableName: any) => { // rely on database - if(state.model.database && prevQueryTableName.value !== tableName) { + if (state.model.database && prevQueryTableName.value !== tableName) { getTableOptions(state.model.database, tableName) prevQueryTableName.value = tableName } }, 1000) - const onDatabaseChange = (v: any) => { + const onDatabaseChange = () => { nextTick(() => { - if(state.model.database) { - let size = state.model.sceneMode === 'MULTIPLE_TABLE' ? 9999999 : 100 + if (state.model.database) { + const size = + state.model.sceneMode === 'MULTIPLE_TABLE' ? 9999999 : 100 getTableOptions(state.model.database as any, '', size) } }) } - + // watchEffect(() => { // // Track the src input of the transfer and refresh the table name list when the input value change // let query = transfer?.value?.srcPattern - // onTableSearch(query) + // onTableSearch(query) // }) expose({ @@ -191,7 +191,7 @@ const ConfigurationForm = defineComponent({ v-model={[state.model.database, 'value']} onUpdateValue={(v) => { if (v !== state.model.database) { - onDatabaseChange(v) + onDatabaseChange() state.model.tableName = null } }} @@ -214,7 +214,7 @@ const ConfigurationForm = defineComponent({ onSearch={onTableSearch} remote virtualScroll - /> + /> )} @@ -280,7 +280,7 @@ const ConfigurationForm = defineComponent({ > ({ @@ -80,10 +87,7 @@ const NodeModeModal = defineComponent({ return () => ( - +

{t('project.synchronization_definition.table_name')}

@@ -118,8 +122,8 @@ const NodeModeModal = defineComponent({ /> - { - props.type !== 'sink' && + {props.type !== 'sink' && ( +

{t('project.synchronization_definition.output_table_structure')} @@ -133,7 +137,7 @@ const NodeModeModal = defineComponent({ /> - } + )} ) } diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/sidebar/use-sidebar.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/sidebar/use-sidebar.ts index 14c82b262..406f35436 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/sidebar/use-sidebar.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/sidebar/use-sidebar.ts @@ -26,13 +26,15 @@ export function useSidebar() { }) const getConnectorTransformsTypeList = () => { - connectorTransformsTypeList(route.params.jobDefinitionCode as string).then((res: any) => { - variables.transforms = res - }) + connectorTransformsTypeList(route.params.jobDefinitionCode as string).then( + (res: any) => { + variables.transforms = res + } + ) } return { variables, getConnectorTransformsTypeList } -} \ No newline at end of file +} diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/split-modal.tsx b/seatunnel-ui/src/views/task/synchronization-definition/dag/split-modal.tsx index e861d8c8e..66ffc2d01 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/split-modal.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/split-modal.tsx @@ -66,7 +66,13 @@ const SplitModal = defineComponent({ - + ) diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/task-setting-modal.tsx b/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/task-setting-modal.tsx index 27f56c3af..a086c6970 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/task-setting-modal.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/task-setting-modal.tsx @@ -15,12 +15,12 @@ * limitations under the License. */ -import { defineComponent, PropType, watch, inject } from 'vue' -import { useI18n } from 'vue-i18n' -import { NForm, NFormItem, NInput, NSelect, NSpin } from 'naive-ui' -import { useTaskSettingModal } from './use-task-setting-modal' import { DynamicFormItem } from '@/components/dynamic-form/dynamic-form-item' import Modal from '@/components/modal' +import { NForm, NFormItem, NInput, NSelect, NSpin } from 'naive-ui' +import { PropType, defineComponent, watch } from 'vue' +import { useI18n } from 'vue-i18n' +import { useTaskSettingModal } from './use-task-setting-modal' const props = { show: { diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/use-task-setting-modal.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/use-task-setting-modal.ts index 1a2fdcdea..1de4f2cf1 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/use-task-setting-modal.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/toolbar/use-task-setting-modal.ts @@ -98,11 +98,11 @@ export function useTaskSettingModal(ctx: SetupContext<'cancelModal'[]>) { return f }) : res.forms.map((item: any) => { - if(item.field === "job.mode") { - item.defaultValue = '' - } - return item - }) + if (item.field === 'job.mode') { + item.defaultValue = '' + } + return item + }) state.formName = res.name Object.assign(state.model, useFormField(forms)) Object.assign(state.rules, useFormValidate(forms, state.model, t)) diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-configuration-form.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-configuration-form.ts index 5252d7d86..d3c4bc9aa 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-configuration-form.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-configuration-form.ts @@ -151,7 +151,7 @@ export const useConfigurationForm = ( ) } } - }, + } } }) @@ -201,7 +201,11 @@ export const useConfigurationForm = ( } } - const getTableOptions = async (databases: Array | string, filterName?: string, size?: number) => { + const getTableOptions = async ( + databases: Array | string, + filterName?: string, + size?: number + ) => { filterName = filterName || '' if ( nodeType === 'source' || @@ -332,7 +336,11 @@ export const useConfigurationForm = ( } if (values.tableOption?.databases?.length) { - await getTableOptions(values.tableOption.databases[0], '', state.model.sceneMode === 'MULTIPLE_TABLE' ? 9999999 : 100) + await getTableOptions( + values.tableOption.databases[0], + '', + state.model.sceneMode === 'MULTIPLE_TABLE' ? 9999999 : 100 + ) } if (values.sceneMode === 'MULTIPLE_TABLE') { diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model-columns.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model-columns.ts index fb8a4b0ea..8c9141278 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model-columns.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model-columns.ts @@ -54,7 +54,8 @@ export const useModelColumns = () => { title: t('project.synchronization_definition.split_field'), content: () => h(SplitModal, { rowData, outputData, ref: splitModalRef }), onPositiveClick: () => { - const { outputFields, separator, original_field } = splitModalRef.value.getFields() + const { outputFields, separator, original_field } = + splitModalRef.value.getFields() outputFields.forEach((field: string) => { outputData.push({ @@ -67,8 +68,12 @@ export const useModelColumns = () => { }) // For fields that have been split, the button is grayed out. - const sourceGroup = outputData.filter((o: any) => !o.isSplit).map((o: any) => o.name) - const splitGroup = outputData.filter((o: any) => o.isSplit).map((o: any) => o.original_field) + const sourceGroup = outputData + .filter((o: any) => !o.isSplit) + .map((o: any) => o.name) + const splitGroup = outputData + .filter((o: any) => o.isSplit) + .map((o: any) => o.original_field) splitGroup.forEach((s: any) => { if (sourceGroup.indexOf(s) >= 0) { @@ -184,21 +189,32 @@ export const useModelColumns = () => { }) ) : // @ts-ignore - h('div', { align: 'center', style: { display: 'flex', 'flex-wrap': 'no-wrap', 'align-items': 'center' } }, [ - h(NEllipsis, {}, [row.name as any]), - h( - NButton, - { - quaternary: true, - circle: true, - size: 'small', - onClick() { - outputTableData[index].isEdit = true - } - }, - { icon: h(NIcon, null, () => h(EditOutlined)) } - ) - ]) + h( + 'div', + { + align: 'center', + style: { + display: 'flex', + 'flex-wrap': 'no-wrap', + 'align-items': 'center' + } + }, + [ + h(NEllipsis, {}, [row.name as any]), + h( + NButton, + { + quaternary: true, + circle: true, + size: 'small', + onClick() { + outputTableData[index].isEdit = true + } + }, + { icon: h(NIcon, null, () => h(EditOutlined)) } + ) + ] + ) } } as TableColumn outputColumns.splice( @@ -209,7 +225,11 @@ export const useModelColumns = () => { key: 'original_field', ...COLUMN_WIDTH_CONFIG['name'], render: (row: any) => { - return h('span', { class: row.isError && 'row-error' }, row.original_field) + return h( + 'span', + { class: row.isError && 'row-error' }, + row.original_field + ) } }, nameColumn @@ -308,8 +328,18 @@ export const useModelColumns = () => { ...COLUMN_WIDTH_CONFIG['name'], render: (row: any) => { // Mark the same field name value in red. - const onlyNameColumnTableData = outputTableData.map((o: any) => o.name) - return h('span', { class: onlyNameColumnTableData.indexOf(row.name) !== onlyNameColumnTableData.lastIndexOf(row.name) && 'row-error' }, row.name) + const onlyNameColumnTableData = outputTableData.map( + (o: any) => o.name + ) + return h( + 'span', + { + class: + onlyNameColumnTableData.indexOf(row.name) !== + onlyNameColumnTableData.lastIndexOf(row.name) && 'row-error' + }, + row.name + ) } } as TableColumn outputColumns.splice( @@ -320,7 +350,11 @@ export const useModelColumns = () => { key: 'original_field', ...COLUMN_WIDTH_CONFIG['name'], render: (row: any) => { - return h('span', { class: row.isError && 'row-error' }, row.original_field) + return h( + 'span', + { class: row.isError && 'row-error' }, + row.original_field + ) } }, nameColumn @@ -331,7 +365,7 @@ export const useModelColumns = () => { key: 'operation', ...COLUMN_WIDTH_CONFIG['operation'](1), width: 60, - render(row: any, index: number) { + render(row: any) { return row.isSplit ? h( NPopconfirm, @@ -342,15 +376,24 @@ export const useModelColumns = () => { // When a piece of information is deleted, the entries that // are divided at the same time as the piece of information // will be deleted together. - remove(outputTableData, (i => (i.original_field === row.original_field) && i.isSplit)) + remove( + outputTableData, + (i) => + i.original_field === row.original_field && i.isSplit + ) // After all the split fields are deleted, the Unsplit button is grayed out. - const sourceGroup = outputTableData.filter((o: any) => !o.isSplit).map((o: any) => o.name) - const splitGroup = outputTableData.filter((o: any) => o.isSplit).map((o: any) => o.original_field) + const sourceGroup = outputTableData + .filter((o: any) => !o.isSplit) + .map((o: any) => o.name) + const splitGroup = outputTableData + .filter((o: any) => o.isSplit) + .map((o: any) => o.original_field) sourceGroup.forEach((s: any) => { if (splitGroup.indexOf(s) < 0) { - outputTableData[sourceGroup.indexOf(s)].splitDisabled = false + outputTableData[sourceGroup.indexOf(s)].splitDisabled = + false } }) } @@ -408,11 +451,23 @@ export const useModelColumns = () => { ...COLUMN_WIDTH_CONFIG['name'], render: (row: any, index) => { // Mark the same field name value in red. - const onlyNameColumnTableData = outputTableData.map((o: any) => o.name) - return row.copyTimes !== -1 ? - h('span', { class: onlyNameColumnTableData.indexOf(row.name) !== onlyNameColumnTableData.lastIndexOf(row.name) && 'row-error' }, row.name) - : row.isEdit ? - h(NFormItem, + const onlyNameColumnTableData = outputTableData.map( + (o: any) => o.name + ) + return row.copyTimes !== -1 + ? h( + 'span', + { + class: + onlyNameColumnTableData.indexOf(row.name) !== + onlyNameColumnTableData.lastIndexOf(row.name) && + 'row-error' + }, + row.name + ) + : row.isEdit + ? h( + NFormItem, { showLabel: false, validationStatus: !row.name ? 'error' : 'success', @@ -430,23 +485,34 @@ export const useModelColumns = () => { outputTableData[index].isEdit = false } }) - ) - : // @ts-ignore - h('div', { align: 'center', style: { display: 'flex', 'flex-wrap': 'no-wrap', 'align-items': 'center' } }, [ - h(NEllipsis, {}, [row.name as any]), - h( - NButton, - { - quaternary: true, - circle: true, - size: 'small', - onClick() { - outputTableData[index].isEdit = true - } - }, - { icon: h(NIcon, null, () => h(EditOutlined)) } - ) - ]) + ) + : // @ts-ignore + h( + 'div', + { + align: 'center', + style: { + display: 'flex', + 'flex-wrap': 'no-wrap', + 'align-items': 'center' + } + }, + [ + h(NEllipsis, {}, [row.name as any]), + h( + NButton, + { + quaternary: true, + circle: true, + size: 'small', + onClick() { + outputTableData[index].isEdit = true + } + }, + { icon: h(NIcon, null, () => h(EditOutlined)) } + ) + ] + ) } } as TableColumn @@ -502,12 +568,19 @@ export const useModelColumns = () => { type: 'info', onClick() { const result = outputTableData.filter( - (o: any) => (o.original_field === row.original_field) && (o.original_field !== o.name) + (o: any) => + o.original_field === row.original_field && + o.original_field !== o.name ) - const maxCopyTimes: any = max(result.map((r: any) => Number(r.name.split(r.original_field)[1]))) + const maxCopyTimes: any = max( + result.map((r: any) => + Number(r.name.split(r.original_field)[1]) + ) + ) - outputTableData[index].copyTimes = (maxCopyTimes ?? 0) + 1 + outputTableData[index].copyTimes = + (maxCopyTimes ?? 0) + 1 outputTableData.push({ ...row, name: row.name + row.copyTimes, @@ -542,7 +615,8 @@ export const useModelColumns = () => { ellipsis: { tooltip: true }, - render: (row: any) => row.outputDataType ? row.outputDataType : row.type + render: (row: any) => + row.outputDataType ? row.outputDataType : row.type } resultColumns.splice(2, 1, type) return resultColumns @@ -552,7 +626,8 @@ export const useModelColumns = () => { inputColumns: !columnSelectable ? basicColumns : ([selection, ...basicColumns.slice(1)] as TableColumns), - outputColumns: nodeType !== 'source' ? basicColumns : sourceOutputCheckType(), + outputColumns: + nodeType !== 'source' ? basicColumns : sourceOutputCheckType(), inputTableWidth: calculateTableWidth(basicColumns), outputTableWidth: calculateTableWidth(basicColumns) } diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model.ts index 3d89eaa69..11190fce0 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-model.ts @@ -68,28 +68,34 @@ export function useNodeModel( // the input table structure will be rendered according to the upstream node // id to obtain the output table structure. if (type === 'sink' || type === 'transform') { - // if sql-transform, request when sql is not empty - if(transformType === 'Sql' && !refForm.value.getValues()?.query) return + if (transformType === 'Sql' && !refForm.value.getValues()?.query) return // Request the data of the previous node. - predecessorsNodeId && queryTaskDetail( - route.params.jobDefinitionCode as string, - predecessorsNodeId - ).then((res: any) => { - state.tables = res.outputSchema.map((o: any) => o.tableName) - state.currentTable = res.outputSchema[0].tableName - state.allTableData = [{ database: res.outputSchema[0].database, tableInfos: res.outputSchema }] as any - if (res.transformOptions) { - state.transformOptions = res.transformOptions - } - onSwitchTable(state.currentTable) - }) - + predecessorsNodeId && + queryTaskDetail( + route.params.jobDefinitionCode as string, + predecessorsNodeId + ).then((res: any) => { + state.tables = res.outputSchema.map((o: any) => o.tableName) + state.currentTable = res.outputSchema[0].tableName + state.allTableData = [ + { + database: res.outputSchema[0].database, + tableInfos: res.outputSchema + } + ] as any + if (res.transformOptions) { + state.transformOptions = res.transformOptions + } + onSwitchTable(state.currentTable) + }) } else { - modelInfo(state.datasourceInstanceId, [{ - database: state.database, - tables: state.tables - }]).then((res: any) => { + modelInfo(state.datasourceInstanceId, [ + { + database: state.database, + tables: state.tables + } + ]).then((res: any) => { state.allTableData = res onSwitchTable(state.currentTable) }) @@ -117,33 +123,47 @@ export function useNodeModel( } const getSqlTransformOutputData = () => { - let sqlQuery = refForm.value.getValues()?.query as string - return sqlModelInfo(route.params.jobDefinitionCode as string, predecessorsNodeId, { - "sourceFieldName": null, - "query": sqlQuery - }).then((res: any) => res.fields) + const sqlQuery = refForm.value.getValues()?.query as string + return sqlModelInfo( + route.params.jobDefinitionCode as string, + predecessorsNodeId, + { + sourceFieldName: null, + query: sqlQuery + } + ).then((res: any) => res.fields) } // Model indicates list click events. const onSwitchTable = (table: string) => { state.currentTable = table if (state.format === 'COMPATIBLE_DEBEZIUM_JSON') return - - (state.allTableData[0] as any).tableInfos.forEach(async (t: any) => { + ;(state.allTableData[0] as any).tableInfos.forEach(async (t: any) => { if (t.tableName === state.currentTable) { tempOutputTables = t.fields state.inputTableData = t.fields.filter((f: any) => !f.isSplit) if (state.columnSelectable) { - if (state.optionsOutputTableData && (state.optionsOutputTableData[0] as any).tableName === state.currentTable) { + if ( + state.optionsOutputTableData && + (state.optionsOutputTableData[0] as any).tableName === + state.currentTable + ) { // The default assignment of the source node output table structure. - const result = state.optionsOutputTableData ? (state.optionsOutputTableData[0] as any).fields : tempOutputTables.filter((row: ModelRecord) => - state.selectedKeys.includes(row.name)) + const result = state.optionsOutputTableData + ? (state.optionsOutputTableData[0] as any).fields + : tempOutputTables.filter((row: ModelRecord) => + state.selectedKeys.includes(row.name) + ) state.outputTableData = result.filter((r: any) => !r.unSupport) } else { - state.outputTableData = tempOutputTables.filter((t: any) => !t.unSupport) + state.outputTableData = tempOutputTables.filter( + (t: any) => !t.unSupport + ) } // Assign default values to the optional input table structure of the source node. - state.selectedKeys = state.outputTableData.filter((o: any) => !o.unSupport).map((o: any) => o.name) + state.selectedKeys = state.outputTableData + .filter((o: any) => !o.unSupport) + .map((o: any) => o.name) } else { if (transformType === 'FieldMapper') { // When the transform is empty, the data of the input model is directly copied to the output model. @@ -155,115 +175,135 @@ export function useNodeModel( return false } - const transformOptions = state.transformOptions.changeOrders ? state.transformOptions : state.secondTransformOptions - state.outputTableData = state.optionsOutputTableData ? - (state.optionsOutputTableData[0] as any).fields : - t.fields.map((f: any, i: number) => { - return { - ...f, - original_field: (transformOptions && Object.keys(transformOptions).length > 0) ? - transformOptions.changeOrders[i].sourceFieldName : - f.name + const transformOptions = state.transformOptions.changeOrders + ? state.transformOptions + : state.secondTransformOptions + state.outputTableData = state.optionsOutputTableData + ? (state.optionsOutputTableData[0] as any).fields + : t.fields.map((f: any, i: number) => { + return { + ...f, + original_field: + transformOptions && + Object.keys(transformOptions).length > 0 + ? transformOptions.changeOrders[i].sourceFieldName + : f.name + } + }) + state.outputTableData = state.outputTableData.map( + (o: any, i: number) => { + if (!o.original_field) { + o.original_field = + transformOptions.changeOrders[i].sourceFieldName } - }) - state.outputTableData = state.outputTableData.map((o: any, i: number) => { - if (!o.original_field) { - o.original_field = transformOptions.changeOrders[i].sourceFieldName + return o } - return o - }) + ) state.outputTableData.forEach((o: any) => { o.isError = o.original_field === state.schemaError.fieldName }) } else if (transformType === 'MultiFieldSplit') { - state.outputTableData = state.optionsOutputTableData ? (state.optionsOutputTableData[0] as any).fields.map((f: any) => { - if ( - state.transformOptions.splits || - ( - state.secondTransformOptions && - state.secondTransformOptions.splits - ) - ) { - // When the data is echoed, it is judged whether the original - // field has a split field, and if so, the split button of the - // original field is disabled. - const transformOptions = state.transformOptions.splits ? state.transformOptions : state.secondTransformOptions - const needSplitDisabled = transformOptions.splits.map((t: any) => t.sourceFieldName) - f.splitDisabled = needSplitDisabled.includes(f.name) + state.outputTableData = state.optionsOutputTableData + ? (state.optionsOutputTableData[0] as any).fields.map( + (f: any) => { + if ( + state.transformOptions.splits || + (state.secondTransformOptions && + state.secondTransformOptions.splits) + ) { + // When the data is echoed, it is judged whether the original + // field has a split field, and if so, the split button of the + // original field is disabled. + const transformOptions = state.transformOptions.splits + ? state.transformOptions + : state.secondTransformOptions + const needSplitDisabled = transformOptions.splits.map( + (t: any) => t.sourceFieldName + ) + f.splitDisabled = needSplitDisabled.includes(f.name) - // Add the split field to the original field value. - transformOptions.splits.forEach((t: any) => { - if (t.outputFields.includes(f.name)) { - f.original_field = t.sourceFieldName - f.separator = t.separator - f.isSplit = true - } - }) + // Add the split field to the original field value. + transformOptions.splits.forEach((t: any) => { + if (t.outputFields.includes(f.name)) { + f.original_field = t.sourceFieldName + f.separator = t.separator + f.isSplit = true + } + }) - if (!f.original_field) { - f.original_field = f.name - } - } + if (!f.original_field) { + f.original_field = f.name + } + } - return f - }) : t.fields.map((f: any) => { - return { - ...f, - original_field: f.name - } - }) + return f + } + ) + : t.fields.map((f: any) => { + return { + ...f, + original_field: f.name + } + }) } else if (transformType === 'Copy') { - state.outputTableData = state.optionsOutputTableData ? - (state.optionsOutputTableData[0] as any).fields.map((f: any) => { - if ( - state.transformOptions.copyList || - ( - state.secondTransformOptions && - state.secondTransformOptions.copyList - ) - ) { - const transformOptions = state.transformOptions.copyList ? state.transformOptions : state.secondTransformOptions - // Echo and judge the delete button of the copied data. and add the copied field to the original field value. - transformOptions.copyList.forEach((t: any) => { - const inputTableData = state.inputTableData.map((i: any) => i.name) + state.outputTableData = state.optionsOutputTableData + ? (state.optionsOutputTableData[0] as any).fields.map( + (f: any) => { + if ( + state.transformOptions.copyList || + (state.secondTransformOptions && + state.secondTransformOptions.copyList) + ) { + const transformOptions = state.transformOptions.copyList + ? state.transformOptions + : state.secondTransformOptions + // Echo and judge the delete button of the copied data. and add the copied field to the original field value. + transformOptions.copyList.forEach((t: any) => { + const inputTableData = state.inputTableData.map( + (i: any) => i.name + ) + + if (!inputTableData.includes(f.name)) { + f.copyTimes = -1 + if (t.targetFieldName === f.name) { + f.original_field = t.sourceFieldName + } else { + // Request the data of the current node. + currentNodeId && + queryTaskDetail( + route.params.jobDefinitionCode as string, + currentNodeId + ).then((res: any) => { + res.transformOptions && + res.transformOptions.copyList.forEach( + (t: any) => { + if (t.targetFieldName === f.name) { + f.original_field = t.sourceFieldName + } + } + ) + }) + } + } + }) - if (!inputTableData.includes(f.name)) { - f.copyTimes = -1 - if (t.targetFieldName === f.name) { - f.original_field = t.sourceFieldName - } else { - // Request the data of the current node. - currentNodeId && queryTaskDetail( - route.params.jobDefinitionCode as string, - currentNodeId - ).then((res: any) => { - res.transformOptions && res.transformOptions.copyList.forEach((t: any) => { - if (t.targetFieldName === f.name) { - f.original_field = t.sourceFieldName - } - }) - }) + if (f.copyTimes !== -1) { + f.original_field = f.name } } - }) - if (f.copyTimes !== -1) { - f.original_field = f.name + return f } - } - - return f - }) : - t.fields.map((f: any) => { - return { - ...f, - original_field: f.name - } - }) - } else if(transformType === 'Sql'){ - let table = await getSqlTransformOutputData() + ) + : t.fields.map((f: any) => { + return { + ...f, + original_field: f.name + } + }) + } else if (transformType === 'Sql') { + const table = await getSqlTransformOutputData() state.outputTableData = table - } else { state.outputTableData = t.fields } @@ -294,9 +334,9 @@ export function useNodeModel( if ( (info.sceneMode && info.sceneMode === 'SINGLE_TABLE') || - transformType === 'FieldMapper' || - transformType === 'MultiFieldSplit' || - transformType === 'Copy' + transformType === 'FieldMapper' || + transformType === 'MultiFieldSplit' || + transformType === 'Copy' ) { state.optionsOutputTableData = info.outputSchema } @@ -314,10 +354,10 @@ export function useNodeModel( { name: 'value', type: 'string' } ] as any } else { - (type === 'transform' || state.datasourceInstanceId) && - (type === 'transform' || state.database) && - ((type === 'sink' || type === 'transform') || state.tables.length) && - getModelData() + ;(type === 'transform' || state.datasourceInstanceId) && + (type === 'transform' || state.database) && + (type === 'sink' || type === 'transform' || state.tables.length) && + getModelData() } getColumns() diff --git a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-node-setting.ts b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-node-setting.ts index 62f1b7ddf..45b8c14ab 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/dag/use-node-setting.ts +++ b/seatunnel-ui/src/views/task/synchronization-definition/dag/use-node-setting.ts @@ -83,14 +83,14 @@ export function useNodeSettingModal( typeof values.database === 'string' ? [values.database] : Array.isArray(values.database) - ? values.database - : [] + ? values.database + : [] params.tableOption.tables = typeof values.tableName === 'string' ? [values.tableName] : Array.isArray(values.tableName) - ? values.tableName - : [] + ? values.tableName + : [] } if (modelRef.value) { @@ -116,13 +116,15 @@ export function useNodeSettingModal( const onSave = async (): Promise => { if (state.saving) return false - + // Determine whether the current node type is Transform or Sink and there is no previous node. if ( (props.nodeInfo.type === 'transform' || props.nodeInfo.type === 'sink') && !props.nodeInfo.predecessorsNodeId ) { - window.$message.warning(t('project.synchronization_definition.node_prev_check_tips')) + window.$message.warning( + t('project.synchronization_definition.node_prev_check_tips') + ) return false } @@ -162,17 +164,25 @@ export function useNodeSettingModal( } modelOutputTableData = formatOutputSchema(result) } else { - modelOutputTableData = formatOutputSchema(resultSchema.allTableData) + modelOutputTableData = formatOutputSchema( + resultSchema.allTableData + ) } } else { - window.$message.warning(t('project.synchronization_definition.check_model'), { duration: 0, closable: true }) + window.$message.warning( + t('project.synchronization_definition.check_model'), + { duration: 0, closable: true } + ) state.saving = false return false } } } - if (props.nodeInfo.type === 'transform' && props.nodeInfo.predecessorsNodeId) { + if ( + props.nodeInfo.type === 'transform' && + props.nodeInfo.predecessorsNodeId + ) { const resultSchema = modelRef.value.getOutputSchema() if (resultSchema.allTableData.length) { if ( @@ -189,7 +199,10 @@ export function useNodeSettingModal( modelOutputTableData = formatOutputSchema(resultSchema.allTableData) } } else { - window.$message.warning(t('project.synchronization_definition.check_model'), { duration: 0, closable: true }) + window.$message.warning( + t('project.synchronization_definition.check_model'), + { duration: 0, closable: true } + ) state.saving = false return false } @@ -199,67 +212,84 @@ export function useNodeSettingModal( if (props.nodeInfo.connectorType === 'FieldMapper') { const resultSchema = modelRef.value.getOutputSchema() - transformOptions.changeOrders = resultSchema.outputTableData.map((o: any, i: number) => { - return { - sourceFieldName: o.original_field, - index: i + transformOptions.changeOrders = resultSchema.outputTableData.map( + (o: any, i: number) => { + return { + sourceFieldName: o.original_field, + index: i + } } - }) - transformOptions.renameFields = resultSchema.outputTableData.filter((o: any) => o.name !== o.original_field).map((o: any) => ({ - sourceFieldName: o.original_field, - targetName: o.name - })) - const outputTableDataNames = resultSchema.outputTableData.map((o: any) => ({sourceFieldName: o.original_field})) - const inputTableDataNames = resultSchema.inputTableData.map((o: any) => ({sourceFieldName: o.name})) - transformOptions.deleteFields = _.xorWith(outputTableDataNames, inputTableDataNames, _.isEqual) + ) + transformOptions.renameFields = resultSchema.outputTableData + .filter((o: any) => o.name !== o.original_field) + .map((o: any) => ({ + sourceFieldName: o.original_field, + targetName: o.name + })) + const outputTableDataNames = resultSchema.outputTableData.map( + (o: any) => ({ sourceFieldName: o.original_field }) + ) + const inputTableDataNames = resultSchema.inputTableData.map( + (o: any) => ({ sourceFieldName: o.name }) + ) + transformOptions.deleteFields = _.xorWith( + outputTableDataNames, + inputTableDataNames, + _.isEqual + ) } else if (props.nodeInfo.connectorType === 'MultiFieldSplit') { const resultSchema = modelRef.value.getOutputSchema() - const hasSeparator = resultSchema.outputTableData.filter((o: any) => o.separator) - transformOptions.splits = _.uniqWith(hasSeparator.map((o: any) => { - return { - sourceFieldName: o.original_field, - separator: o.separator, - outputFields: _.groupBy(hasSeparator, 'separator')[o.separator].map((h: any) => h.name) - } - }), _.isEqual) + const hasSeparator = resultSchema.outputTableData.filter( + (o: any) => o.separator + ) + transformOptions.splits = _.uniqWith( + hasSeparator.map((o: any) => { + return { + sourceFieldName: o.original_field, + separator: o.separator, + outputFields: _.groupBy(hasSeparator, 'separator')[ + o.separator + ].map((h: any) => h.name) + } + }), + _.isEqual + ) } else if (props.nodeInfo.connectorType === 'Copy') { const resultSchema = modelRef.value.getOutputSchema() - const hasCopyColumn = resultSchema.outputTableData.filter((o: any) => o.copyTimes === -1) + const hasCopyColumn = resultSchema.outputTableData.filter( + (o: any) => o.copyTimes === -1 + ) transformOptions.copyList = hasCopyColumn.map((h: any) => ({ sourceFieldName: h.original_field, targetFieldName: h.name })) - } else if(props.nodeInfo.connectorType === 'Sql') { + } else if (props.nodeInfo.connectorType === 'Sql') { const resultSchema = modelRef.value.getOutputSchema() const tableInfo = resultSchema.allTableData[0].tableInfos transformOptions.sql = { - "sourceFieldName": resultSchema.outputTableData[0]?.name || null, - "query": values.query + sourceFieldName: resultSchema.outputTableData[0]?.name || null, + query: values.query } - modelOutputTableData = [{ - database: tableInfo[0].database, - tableName: tableInfo[0].tableName, - fields: resultSchema.outputTableData - }] + modelOutputTableData = [ + { + database: tableInfo[0].database, + tableName: tableInfo[0].tableName, + fields: resultSchema.outputTableData + } + ] } - await saveTaskDefinitionItem( - route.params.jobDefinitionCode as string, - { - ...formatParams(values), - outputSchema: modelOutputTableData, - transformOptions - } - ) + await saveTaskDefinitionItem(route.params.jobDefinitionCode as string, { + ...formatParams(values), + outputSchema: modelOutputTableData, + transformOptions + }) - ctx.emit( - 'confirmModal', - { - ...formatParams(values), - outputSchema: modelOutputTableData, - transformOptions - } - ) + ctx.emit('confirmModal', { + ...formatParams(values), + outputSchema: modelOutputTableData, + transformOptions + }) state.saving = false state.tab = 'configuration' diff --git a/seatunnel-ui/src/views/task/synchronization-definition/index.tsx b/seatunnel-ui/src/views/task/synchronization-definition/index.tsx index 671cb73b1..eb7b8f457 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/index.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/index.tsx @@ -26,7 +26,7 @@ import { NPagination } from 'naive-ui' import { useI18n } from 'vue-i18n' -import { SearchOutlined, ReloadOutlined } from '@vicons/antd' +import { SearchOutlined } from '@vicons/antd' import { useTable } from './use-table' import { TaskModal } from './task-modal' import { useRoute, useRouter } from 'vue-router' @@ -39,7 +39,6 @@ const SynchronizationDefinition = defineComponent({ const route = useRoute() const router = useRouter() const { variables, createColumns, getTableData } = useTable() - console.log('SynchronizationDefinition') const requestData = () => { getTableData({ pageSize: variables.pageSize, @@ -78,10 +77,10 @@ const SynchronizationDefinition = defineComponent({ query: !_.isEmpty(query) ? { ...query, - ...route.query, + ...route.query } : { - ...route.query, + ...route.query } }) requestData() @@ -119,7 +118,7 @@ const SynchronizationDefinition = defineComponent({ onConfirmModal, handleModalChange, onSearch, - handleKeyup, + handleKeyup } }, render() { @@ -127,10 +126,7 @@ const SynchronizationDefinition = defineComponent({ - + {this.t( 'project.synchronization_definition.create_synchronization_task' )} diff --git a/seatunnel-ui/src/views/task/synchronization-definition/task-modal.tsx b/seatunnel-ui/src/views/task/synchronization-definition/task-modal.tsx index 716dc7e22..2acbbe914 100644 --- a/seatunnel-ui/src/views/task/synchronization-definition/task-modal.tsx +++ b/seatunnel-ui/src/views/task/synchronization-definition/task-modal.tsx @@ -75,16 +75,11 @@ const TaskModal = defineComponent({ confirmModal, preCancle, getNextStep, - synchronizationForm, + synchronizationForm } }, render() { - const { - t, - getNextStep, - showModalRef, - preCancle, - } = this + const { showModalRef } = this return (