Commit 52257f061d95cf4a3b5a11e4a52c48774a6042be
1 parent
50cf2d0b
refactor(tree): Refactor tree to support antv3.0
Showing
21 changed files
with
1139 additions
and
835 deletions
.eslintrc.js
@@ -62,6 +62,7 @@ module.exports = defineConfig({ | @@ -62,6 +62,7 @@ module.exports = defineConfig({ | ||
62 | 'vue/singleline-html-element-content-newline': 'off', | 62 | 'vue/singleline-html-element-content-newline': 'off', |
63 | 'vue/attribute-hyphenation': 'off', | 63 | 'vue/attribute-hyphenation': 'off', |
64 | 'vue/require-default-prop': 'off', | 64 | 'vue/require-default-prop': 'off', |
65 | + 'vue/require-explicit-emits': 'off', | ||
65 | 'vue/html-self-closing': [ | 66 | 'vue/html-self-closing': [ |
66 | 'error', | 67 | 'error', |
67 | { | 68 | { |
@@ -74,6 +75,6 @@ module.exports = defineConfig({ | @@ -74,6 +75,6 @@ module.exports = defineConfig({ | ||
74 | math: 'always', | 75 | math: 'always', |
75 | }, | 76 | }, |
76 | ], | 77 | ], |
77 | - 'vue/multi-word-component-names': 'off' | 78 | + 'vue/multi-word-component-names': 'off', |
78 | }, | 79 | }, |
79 | }); | 80 | }); |
.vscode/settings.json
build/vite/plugin/hmr.ts
@@ -9,17 +9,17 @@ import type { Plugin } from 'vite'; | @@ -9,17 +9,17 @@ import type { Plugin } from 'vite'; | ||
9 | export function configHmrPlugin(): Plugin { | 9 | export function configHmrPlugin(): Plugin { |
10 | return { | 10 | return { |
11 | name: 'singleHMR', | 11 | name: 'singleHMR', |
12 | - handleHotUpdate({ modules, file }) { | ||
13 | - if (file.match(/xml$/)) return []; | 12 | + // handleHotUpdate({ modules, file }) { |
13 | + // if (file.match(/xml$/)) return []; | ||
14 | 14 | ||
15 | - modules.forEach((m) => { | ||
16 | - if (!m.url.match(/\.(css|less)/)) { | ||
17 | - m.importedModules = new Set(); | ||
18 | - m.importers = new Set(); | ||
19 | - } | ||
20 | - }); | 15 | + // modules.forEach((m) => { |
16 | + // if (!m.url.match(/\.(css|less)/)) { | ||
17 | + // m.importedModules = new Set(); | ||
18 | + // m.importers = new Set(); | ||
19 | + // } | ||
20 | + // }); | ||
21 | 21 | ||
22 | - return modules; | ||
23 | - }, | 22 | + // return modules; |
23 | + // }, | ||
24 | }; | 24 | }; |
25 | } | 25 | } |
build/vite/plugin/styleImport.ts
@@ -4,10 +4,10 @@ | @@ -4,10 +4,10 @@ | ||
4 | */ | 4 | */ |
5 | import styleImport from 'vite-plugin-style-import'; | 5 | import styleImport from 'vite-plugin-style-import'; |
6 | 6 | ||
7 | -export function configStyleImportPlugin(isBuild: boolean) { | ||
8 | - if (!isBuild) { | ||
9 | - return []; | ||
10 | - } | 7 | +export function configStyleImportPlugin(_isBuild: boolean) { |
8 | + // if (!isBuild) { | ||
9 | + // return []; | ||
10 | + // } | ||
11 | const styleImportPlugin = styleImport({ | 11 | const styleImportPlugin = styleImport({ |
12 | libs: [ | 12 | libs: [ |
13 | { | 13 | { |
@@ -19,6 +19,7 @@ export function configStyleImportPlugin(isBuild: boolean) { | @@ -19,6 +19,7 @@ export function configStyleImportPlugin(isBuild: boolean) { | ||
19 | 'anchor-link', | 19 | 'anchor-link', |
20 | 'sub-menu', | 20 | 'sub-menu', |
21 | 'menu-item', | 21 | 'menu-item', |
22 | + 'menu-divider', | ||
22 | 'menu-item-group', | 23 | 'menu-item-group', |
23 | 'breadcrumb-item', | 24 | 'breadcrumb-item', |
24 | 'breadcrumb-separator', | 25 | 'breadcrumb-separator', |
package.json
@@ -72,7 +72,7 @@ | @@ -72,7 +72,7 @@ | ||
72 | "devDependencies": { | 72 | "devDependencies": { |
73 | "@commitlint/cli": "^15.0.0", | 73 | "@commitlint/cli": "^15.0.0", |
74 | "@commitlint/config-conventional": "^15.0.0", | 74 | "@commitlint/config-conventional": "^15.0.0", |
75 | - "@iconify/json": "^2.0.2", | 75 | + "@iconify/json": "^2.0.3", |
76 | "@purge-icons/generated": "^0.7.0", | 76 | "@purge-icons/generated": "^0.7.0", |
77 | "@types/codemirror": "^5.60.5", | 77 | "@types/codemirror": "^5.60.5", |
78 | "@types/crypto-js": "^4.0.2", | 78 | "@types/crypto-js": "^4.0.2", |
@@ -110,7 +110,7 @@ | @@ -110,7 +110,7 @@ | ||
110 | "fs-extra": "^10.0.0", | 110 | "fs-extra": "^10.0.0", |
111 | "husky": "^7.0.4", | 111 | "husky": "^7.0.4", |
112 | "inquirer": "^8.2.0", | 112 | "inquirer": "^8.2.0", |
113 | - "jest": "^27.3.1", | 113 | + "jest": "^27.4.0", |
114 | "less": "^4.1.2", | 114 | "less": "^4.1.2", |
115 | "lint-staged": "12.1.2", | 115 | "lint-staged": "12.1.2", |
116 | "npm-run-all": "^4.1.5", | 116 | "npm-run-all": "^4.1.5", |
@@ -135,14 +135,14 @@ | @@ -135,14 +135,14 @@ | ||
135 | "vite-plugin-imagemin": "^0.4.6", | 135 | "vite-plugin-imagemin": "^0.4.6", |
136 | "vite-plugin-mock": "^2.9.6", | 136 | "vite-plugin-mock": "^2.9.6", |
137 | "vite-plugin-purge-icons": "^0.7.0", | 137 | "vite-plugin-purge-icons": "^0.7.0", |
138 | - "vite-plugin-pwa": "^0.11.7", | 138 | + "vite-plugin-pwa": "^0.11.8", |
139 | "vite-plugin-style-import": "^1.4.0", | 139 | "vite-plugin-style-import": "^1.4.0", |
140 | "vite-plugin-svg-icons": "^1.0.5", | 140 | "vite-plugin-svg-icons": "^1.0.5", |
141 | "vite-plugin-theme": "^0.8.1", | 141 | "vite-plugin-theme": "^0.8.1", |
142 | "vite-plugin-vue-setup-extend": "^0.1.0", | 142 | "vite-plugin-vue-setup-extend": "^0.1.0", |
143 | "vite-plugin-windicss": "^1.5.3", | 143 | "vite-plugin-windicss": "^1.5.3", |
144 | "vue-eslint-parser": "^8.0.1", | 144 | "vue-eslint-parser": "^8.0.1", |
145 | - "vue-tsc": "^0.29.6" | 145 | + "vue-tsc": "^0.29.7" |
146 | }, | 146 | }, |
147 | "resolutions": { | 147 | "resolutions": { |
148 | "//": "Used to install imagemin dependencies, because imagemin may not be installed in China. If it is abroad, you can delete it", | 148 | "//": "Used to install imagemin dependencies, because imagemin may not be installed in China. If it is abroad, you can delete it", |
pnpm-lock.yaml
@@ -12,7 +12,7 @@ specifiers: | @@ -12,7 +12,7 @@ specifiers: | ||
12 | '@commitlint/cli': ^15.0.0 | 12 | '@commitlint/cli': ^15.0.0 |
13 | '@commitlint/config-conventional': ^15.0.0 | 13 | '@commitlint/config-conventional': ^15.0.0 |
14 | '@iconify/iconify': ^2.1.0 | 14 | '@iconify/iconify': ^2.1.0 |
15 | - '@iconify/json': ^2.0.2 | 15 | + '@iconify/json': ^2.0.3 |
16 | '@logicflow/core': ^0.7.10 | 16 | '@logicflow/core': ^0.7.10 |
17 | '@logicflow/extension': ^0.7.10 | 17 | '@logicflow/extension': ^0.7.10 |
18 | '@purge-icons/generated': ^0.7.0 | 18 | '@purge-icons/generated': ^0.7.0 |
@@ -63,7 +63,7 @@ specifiers: | @@ -63,7 +63,7 @@ specifiers: | ||
63 | husky: ^7.0.4 | 63 | husky: ^7.0.4 |
64 | inquirer: ^8.2.0 | 64 | inquirer: ^8.2.0 |
65 | intro.js: ^4.3.0 | 65 | intro.js: ^4.3.0 |
66 | - jest: ^27.3.1 | 66 | + jest: ^27.4.0 |
67 | less: ^4.1.2 | 67 | less: ^4.1.2 |
68 | lint-staged: 12.1.2 | 68 | lint-staged: 12.1.2 |
69 | lodash-es: ^4.17.21 | 69 | lodash-es: ^4.17.21 |
@@ -101,7 +101,7 @@ specifiers: | @@ -101,7 +101,7 @@ specifiers: | ||
101 | vite-plugin-imagemin: ^0.4.6 | 101 | vite-plugin-imagemin: ^0.4.6 |
102 | vite-plugin-mock: ^2.9.6 | 102 | vite-plugin-mock: ^2.9.6 |
103 | vite-plugin-purge-icons: ^0.7.0 | 103 | vite-plugin-purge-icons: ^0.7.0 |
104 | - vite-plugin-pwa: ^0.11.7 | 104 | + vite-plugin-pwa: ^0.11.8 |
105 | vite-plugin-style-import: ^1.4.0 | 105 | vite-plugin-style-import: ^1.4.0 |
106 | vite-plugin-svg-icons: ^1.0.5 | 106 | vite-plugin-svg-icons: ^1.0.5 |
107 | vite-plugin-theme: ^0.8.1 | 107 | vite-plugin-theme: ^0.8.1 |
@@ -112,7 +112,7 @@ specifiers: | @@ -112,7 +112,7 @@ specifiers: | ||
112 | vue-i18n: ^9.1.9 | 112 | vue-i18n: ^9.1.9 |
113 | vue-json-pretty: ^2.0.6 | 113 | vue-json-pretty: ^2.0.6 |
114 | vue-router: ^4.0.12 | 114 | vue-router: ^4.0.12 |
115 | - vue-tsc: ^0.29.6 | 115 | + vue-tsc: ^0.29.7 |
116 | vue-types: ^4.1.1 | 116 | vue-types: ^4.1.1 |
117 | xlsx: ^0.17.4 | 117 | xlsx: ^0.17.4 |
118 | 118 | ||
@@ -156,7 +156,7 @@ dependencies: | @@ -156,7 +156,7 @@ dependencies: | ||
156 | devDependencies: | 156 | devDependencies: |
157 | '@commitlint/cli': 15.0.0 | 157 | '@commitlint/cli': 15.0.0 |
158 | '@commitlint/config-conventional': 15.0.0 | 158 | '@commitlint/config-conventional': 15.0.0 |
159 | - '@iconify/json': 2.0.2 | 159 | + '@iconify/json': 2.0.3 |
160 | '@purge-icons/generated': 0.7.0 | 160 | '@purge-icons/generated': 0.7.0 |
161 | '@types/codemirror': 5.60.5 | 161 | '@types/codemirror': 5.60.5 |
162 | '@types/crypto-js': 4.0.2 | 162 | '@types/crypto-js': 4.0.2 |
@@ -187,14 +187,14 @@ devDependencies: | @@ -187,14 +187,14 @@ devDependencies: | ||
187 | eslint: 8.3.0 | 187 | eslint: 8.3.0 |
188 | eslint-config-prettier: 8.3.0_eslint@8.3.0 | 188 | eslint-config-prettier: 8.3.0_eslint@8.3.0 |
189 | eslint-define-config: 1.2.0 | 189 | eslint-define-config: 1.2.0 |
190 | - eslint-plugin-jest: 25.3.0_4e52e098c69dc02e5d836ed593524821 | 190 | + eslint-plugin-jest: 25.3.0_4a9aadc9705c463d5cb0fc674dd30934 |
191 | eslint-plugin-prettier: 4.0.0_d8c6a2a4ba8850181fffb74d8e835cec | 191 | eslint-plugin-prettier: 4.0.0_d8c6a2a4ba8850181fffb74d8e835cec |
192 | eslint-plugin-vue: 8.1.1_eslint@8.3.0 | 192 | eslint-plugin-vue: 8.1.1_eslint@8.3.0 |
193 | esno: 0.12.1_typescript@4.5.2 | 193 | esno: 0.12.1_typescript@4.5.2 |
194 | fs-extra: 10.0.0 | 194 | fs-extra: 10.0.0 |
195 | husky: 7.0.4 | 195 | husky: 7.0.4 |
196 | inquirer: 8.2.0 | 196 | inquirer: 8.2.0 |
197 | - jest: 27.3.1_ts-node@10.4.0 | 197 | + jest: 27.4.0_ts-node@10.4.0 |
198 | less: 4.1.2 | 198 | less: 4.1.2 |
199 | lint-staged: 12.1.2 | 199 | lint-staged: 12.1.2 |
200 | npm-run-all: 4.1.5 | 200 | npm-run-all: 4.1.5 |
@@ -210,7 +210,7 @@ devDependencies: | @@ -210,7 +210,7 @@ devDependencies: | ||
210 | stylelint-config-recommended: 6.0.0_stylelint@14.1.0 | 210 | stylelint-config-recommended: 6.0.0_stylelint@14.1.0 |
211 | stylelint-config-standard: 24.0.0_stylelint@14.1.0 | 211 | stylelint-config-standard: 24.0.0_stylelint@14.1.0 |
212 | stylelint-order: 5.0.0_stylelint@14.1.0 | 212 | stylelint-order: 5.0.0_stylelint@14.1.0 |
213 | - ts-jest: 27.0.7_7e2a439bb7b53c38ff0c1a3c5e04c2c5 | 213 | + ts-jest: 27.0.7_bfad92f4d8caf69d57ace222bbbf1afc |
214 | ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124 | 214 | ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124 |
215 | typescript: 4.5.2 | 215 | typescript: 4.5.2 |
216 | vite: 2.7.0-beta.9_less@4.1.2 | 216 | vite: 2.7.0-beta.9_less@4.1.2 |
@@ -219,14 +219,14 @@ devDependencies: | @@ -219,14 +219,14 @@ devDependencies: | ||
219 | vite-plugin-imagemin: 0.4.6_vite@2.7.0-beta.9 | 219 | vite-plugin-imagemin: 0.4.6_vite@2.7.0-beta.9 |
220 | vite-plugin-mock: 2.9.6_mockjs@1.1.0+vite@2.7.0-beta.9 | 220 | vite-plugin-mock: 2.9.6_mockjs@1.1.0+vite@2.7.0-beta.9 |
221 | vite-plugin-purge-icons: 0.7.0_vite@2.7.0-beta.9 | 221 | vite-plugin-purge-icons: 0.7.0_vite@2.7.0-beta.9 |
222 | - vite-plugin-pwa: 0.11.7_vite@2.7.0-beta.9 | 222 | + vite-plugin-pwa: 0.11.8_vite@2.7.0-beta.9 |
223 | vite-plugin-style-import: 1.4.0_vite@2.7.0-beta.9 | 223 | vite-plugin-style-import: 1.4.0_vite@2.7.0-beta.9 |
224 | vite-plugin-svg-icons: 1.0.5_vite@2.7.0-beta.9 | 224 | vite-plugin-svg-icons: 1.0.5_vite@2.7.0-beta.9 |
225 | vite-plugin-theme: 0.8.1_vite@2.7.0-beta.9 | 225 | vite-plugin-theme: 0.8.1_vite@2.7.0-beta.9 |
226 | vite-plugin-vue-setup-extend: 0.1.0_vite@2.7.0-beta.9 | 226 | vite-plugin-vue-setup-extend: 0.1.0_vite@2.7.0-beta.9 |
227 | vite-plugin-windicss: 1.5.3_vite@2.7.0-beta.9 | 227 | vite-plugin-windicss: 1.5.3_vite@2.7.0-beta.9 |
228 | vue-eslint-parser: 8.0.1_eslint@8.3.0 | 228 | vue-eslint-parser: 8.0.1_eslint@8.3.0 |
229 | - vue-tsc: 0.29.6_typescript@4.5.2 | 229 | + vue-tsc: 0.29.7_typescript@4.5.2 |
230 | 230 | ||
231 | packages: | 231 | packages: |
232 | 232 | ||
@@ -386,7 +386,7 @@ packages: | @@ -386,7 +386,7 @@ packages: | ||
386 | '@babel/helper-module-imports': 7.16.0 | 386 | '@babel/helper-module-imports': 7.16.0 |
387 | '@babel/helper-plugin-utils': 7.14.5 | 387 | '@babel/helper-plugin-utils': 7.14.5 |
388 | '@babel/traverse': 7.16.3 | 388 | '@babel/traverse': 7.16.3 |
389 | - debug: 4.3.2 | 389 | + debug: 4.3.3 |
390 | lodash.debounce: 4.0.8 | 390 | lodash.debounce: 4.0.8 |
391 | resolve: 1.20.0 | 391 | resolve: 1.20.0 |
392 | semver: 6.3.0 | 392 | semver: 6.3.0 |
@@ -1685,8 +1685,8 @@ packages: | @@ -1685,8 +1685,8 @@ packages: | ||
1685 | dependencies: | 1685 | dependencies: |
1686 | cross-fetch: 3.1.4 | 1686 | cross-fetch: 3.1.4 |
1687 | 1687 | ||
1688 | - /@iconify/json/2.0.2: | ||
1689 | - resolution: {integrity: sha512-LcGJCnYcnTBrbLEjC8ynJ9T2Pj5C3nt6dKksZAb+kCYD1kQReDen/Pjvo5ggFE1JkwMrBrzbjojR87YQGnh12g==} | 1688 | + /@iconify/json/2.0.3: |
1689 | + resolution: {integrity: sha512-aAbuycbHyjaepxsj+Vp2u6AO9VIfbFiHQ1NO8lYdsH2IYCauXWeVSe+rBkkIntxGcc0dgYL/+jAX0s+R3oCNvQ==} | ||
1690 | dependencies: | 1690 | dependencies: |
1691 | '@iconify/types': 1.0.12 | 1691 | '@iconify/types': 1.0.12 |
1692 | pathe: 0.0.2 | 1692 | pathe: 0.0.2 |
@@ -1768,20 +1768,20 @@ packages: | @@ -1768,20 +1768,20 @@ packages: | ||
1768 | engines: {node: '>=8'} | 1768 | engines: {node: '>=8'} |
1769 | dev: true | 1769 | dev: true |
1770 | 1770 | ||
1771 | - /@jest/console/27.3.1: | ||
1772 | - resolution: {integrity: sha512-RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw==} | 1771 | + /@jest/console/27.4.0: |
1772 | + resolution: {integrity: sha512-2m7Xwcd1zTWtai5DCl+b0TAfoH8p5uqUoKmfzJCAfCrIwoJAf3xB+4nx3eKEGoyNfg5oavrh3gjbZ1n5z5eh4Q==} | ||
1773 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1773 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1774 | dependencies: | 1774 | dependencies: |
1775 | - '@jest/types': 27.2.5 | 1775 | + '@jest/types': 27.4.0 |
1776 | '@types/node': 16.11.10 | 1776 | '@types/node': 16.11.10 |
1777 | chalk: 4.1.2 | 1777 | chalk: 4.1.2 |
1778 | - jest-message-util: 27.3.1 | ||
1779 | - jest-util: 27.3.1 | 1778 | + jest-message-util: 27.4.0 |
1779 | + jest-util: 27.4.0 | ||
1780 | slash: 3.0.0 | 1780 | slash: 3.0.0 |
1781 | dev: true | 1781 | dev: true |
1782 | 1782 | ||
1783 | - /@jest/core/27.3.1_ts-node@10.4.0: | ||
1784 | - resolution: {integrity: sha512-DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg==} | 1783 | + /@jest/core/27.4.0_ts-node@10.4.0: |
1784 | + resolution: {integrity: sha512-P6eoNIbE0OeenvCxrwdj0jRgeZg8r4eXNCS2zMgAS8EADzdp03mKe7TNwCsEPr460QIYCBwJo4W8wqai3UPXOA==} | ||
1785 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1785 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1786 | peerDependencies: | 1786 | peerDependencies: |
1787 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 | 1787 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 |
@@ -1789,30 +1789,30 @@ packages: | @@ -1789,30 +1789,30 @@ packages: | ||
1789 | node-notifier: | 1789 | node-notifier: |
1790 | optional: true | 1790 | optional: true |
1791 | dependencies: | 1791 | dependencies: |
1792 | - '@jest/console': 27.3.1 | ||
1793 | - '@jest/reporters': 27.3.1 | ||
1794 | - '@jest/test-result': 27.3.1 | ||
1795 | - '@jest/transform': 27.3.1 | ||
1796 | - '@jest/types': 27.2.5 | 1792 | + '@jest/console': 27.4.0 |
1793 | + '@jest/reporters': 27.4.0 | ||
1794 | + '@jest/test-result': 27.4.0 | ||
1795 | + '@jest/transform': 27.4.0 | ||
1796 | + '@jest/types': 27.4.0 | ||
1797 | '@types/node': 16.11.10 | 1797 | '@types/node': 16.11.10 |
1798 | ansi-escapes: 4.3.2 | 1798 | ansi-escapes: 4.3.2 |
1799 | chalk: 4.1.2 | 1799 | chalk: 4.1.2 |
1800 | emittery: 0.8.1 | 1800 | emittery: 0.8.1 |
1801 | exit: 0.1.2 | 1801 | exit: 0.1.2 |
1802 | graceful-fs: 4.2.8 | 1802 | graceful-fs: 4.2.8 |
1803 | - jest-changed-files: 27.3.0 | ||
1804 | - jest-config: 27.3.1_ts-node@10.4.0 | ||
1805 | - jest-haste-map: 27.3.1 | ||
1806 | - jest-message-util: 27.3.1 | ||
1807 | - jest-regex-util: 27.0.6 | ||
1808 | - jest-resolve: 27.3.1 | ||
1809 | - jest-resolve-dependencies: 27.3.1 | ||
1810 | - jest-runner: 27.3.1 | ||
1811 | - jest-runtime: 27.3.1 | ||
1812 | - jest-snapshot: 27.3.1 | ||
1813 | - jest-util: 27.3.1 | ||
1814 | - jest-validate: 27.3.1 | ||
1815 | - jest-watcher: 27.3.1 | 1803 | + jest-changed-files: 27.4.0 |
1804 | + jest-config: 27.4.0_ts-node@10.4.0 | ||
1805 | + jest-haste-map: 27.4.0 | ||
1806 | + jest-message-util: 27.4.0 | ||
1807 | + jest-regex-util: 27.4.0 | ||
1808 | + jest-resolve: 27.4.0 | ||
1809 | + jest-resolve-dependencies: 27.4.0 | ||
1810 | + jest-runner: 27.4.0 | ||
1811 | + jest-runtime: 27.4.0 | ||
1812 | + jest-snapshot: 27.4.0 | ||
1813 | + jest-util: 27.4.0 | ||
1814 | + jest-validate: 27.4.0 | ||
1815 | + jest-watcher: 27.4.0 | ||
1816 | micromatch: 4.0.4 | 1816 | micromatch: 4.0.4 |
1817 | rimraf: 3.0.2 | 1817 | rimraf: 3.0.2 |
1818 | slash: 3.0.0 | 1818 | slash: 3.0.0 |
@@ -1825,39 +1825,39 @@ packages: | @@ -1825,39 +1825,39 @@ packages: | ||
1825 | - utf-8-validate | 1825 | - utf-8-validate |
1826 | dev: true | 1826 | dev: true |
1827 | 1827 | ||
1828 | - /@jest/environment/27.3.1: | ||
1829 | - resolution: {integrity: sha512-BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw==} | 1828 | + /@jest/environment/27.4.0: |
1829 | + resolution: {integrity: sha512-7HJ1c6lVNuxrj9PT5AD4yVDDqFt9B0lLsshxZJXShL/LOkLnBO4MoZMH3w1lXQJY3zxk3/l1yg2j7uRKpxF4yw==} | ||
1830 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1830 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1831 | dependencies: | 1831 | dependencies: |
1832 | - '@jest/fake-timers': 27.3.1 | ||
1833 | - '@jest/types': 27.2.5 | 1832 | + '@jest/fake-timers': 27.4.0 |
1833 | + '@jest/types': 27.4.0 | ||
1834 | '@types/node': 16.11.10 | 1834 | '@types/node': 16.11.10 |
1835 | - jest-mock: 27.3.0 | 1835 | + jest-mock: 27.4.0 |
1836 | dev: true | 1836 | dev: true |
1837 | 1837 | ||
1838 | - /@jest/fake-timers/27.3.1: | ||
1839 | - resolution: {integrity: sha512-M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA==} | 1838 | + /@jest/fake-timers/27.4.0: |
1839 | + resolution: {integrity: sha512-oyMxDKlj/ThRms9eS0xFkxmUvjJ8lHsNS4gNErDRFSruTER1/OQi2L5N0sJav+/AcBoY/Pa313CpB6RgdDacGA==} | ||
1840 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1840 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1841 | dependencies: | 1841 | dependencies: |
1842 | - '@jest/types': 27.2.5 | 1842 | + '@jest/types': 27.4.0 |
1843 | '@sinonjs/fake-timers': 8.1.0 | 1843 | '@sinonjs/fake-timers': 8.1.0 |
1844 | '@types/node': 16.11.10 | 1844 | '@types/node': 16.11.10 |
1845 | - jest-message-util: 27.3.1 | ||
1846 | - jest-mock: 27.3.0 | ||
1847 | - jest-util: 27.3.1 | 1845 | + jest-message-util: 27.4.0 |
1846 | + jest-mock: 27.4.0 | ||
1847 | + jest-util: 27.4.0 | ||
1848 | dev: true | 1848 | dev: true |
1849 | 1849 | ||
1850 | - /@jest/globals/27.3.1: | ||
1851 | - resolution: {integrity: sha512-Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg==} | 1850 | + /@jest/globals/27.4.0: |
1851 | + resolution: {integrity: sha512-jIkd2RSV18wvOqFx5climVkwONuxqNKD8jHMvIumj8+E0qqWqymBcWymidjbxmJ3L3Zr60l0lAJGKw0BstREeQ==} | ||
1852 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1852 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1853 | dependencies: | 1853 | dependencies: |
1854 | - '@jest/environment': 27.3.1 | ||
1855 | - '@jest/types': 27.2.5 | ||
1856 | - expect: 27.3.1 | 1854 | + '@jest/environment': 27.4.0 |
1855 | + '@jest/types': 27.4.0 | ||
1856 | + expect: 27.4.0 | ||
1857 | dev: true | 1857 | dev: true |
1858 | 1858 | ||
1859 | - /@jest/reporters/27.3.1: | ||
1860 | - resolution: {integrity: sha512-m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w==} | 1859 | + /@jest/reporters/27.4.0: |
1860 | + resolution: {integrity: sha512-QqIdI9WBH5tBwSHZ81FEZkt3h8fvw+zdV0YQrUtdEbJEBGV/AHgRsIP23sdD/ybLfRFpjZJEyWT+7dM4mxnPYQ==} | ||
1861 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1861 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1862 | peerDependencies: | 1862 | peerDependencies: |
1863 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 | 1863 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 |
@@ -1866,10 +1866,10 @@ packages: | @@ -1866,10 +1866,10 @@ packages: | ||
1866 | optional: true | 1866 | optional: true |
1867 | dependencies: | 1867 | dependencies: |
1868 | '@bcoe/v8-coverage': 0.2.3 | 1868 | '@bcoe/v8-coverage': 0.2.3 |
1869 | - '@jest/console': 27.3.1 | ||
1870 | - '@jest/test-result': 27.3.1 | ||
1871 | - '@jest/transform': 27.3.1 | ||
1872 | - '@jest/types': 27.2.5 | 1869 | + '@jest/console': 27.4.0 |
1870 | + '@jest/test-result': 27.4.0 | ||
1871 | + '@jest/transform': 27.4.0 | ||
1872 | + '@jest/types': 27.4.0 | ||
1873 | '@types/node': 16.11.10 | 1873 | '@types/node': 16.11.10 |
1874 | chalk: 4.1.2 | 1874 | chalk: 4.1.2 |
1875 | collect-v8-coverage: 1.0.1 | 1875 | collect-v8-coverage: 1.0.1 |
@@ -1881,10 +1881,10 @@ packages: | @@ -1881,10 +1881,10 @@ packages: | ||
1881 | istanbul-lib-report: 3.0.0 | 1881 | istanbul-lib-report: 3.0.0 |
1882 | istanbul-lib-source-maps: 4.0.1 | 1882 | istanbul-lib-source-maps: 4.0.1 |
1883 | istanbul-reports: 3.0.5 | 1883 | istanbul-reports: 3.0.5 |
1884 | - jest-haste-map: 27.3.1 | ||
1885 | - jest-resolve: 27.3.1 | ||
1886 | - jest-util: 27.3.1 | ||
1887 | - jest-worker: 27.3.1 | 1884 | + jest-haste-map: 27.4.0 |
1885 | + jest-resolve: 27.4.0 | ||
1886 | + jest-util: 27.4.0 | ||
1887 | + jest-worker: 27.4.0 | ||
1888 | slash: 3.0.0 | 1888 | slash: 3.0.0 |
1889 | source-map: 0.6.1 | 1889 | source-map: 0.6.1 |
1890 | string-length: 4.0.2 | 1890 | string-length: 4.0.2 |
@@ -1894,8 +1894,8 @@ packages: | @@ -1894,8 +1894,8 @@ packages: | ||
1894 | - supports-color | 1894 | - supports-color |
1895 | dev: true | 1895 | dev: true |
1896 | 1896 | ||
1897 | - /@jest/source-map/27.0.6: | ||
1898 | - resolution: {integrity: sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==} | 1897 | + /@jest/source-map/27.4.0: |
1898 | + resolution: {integrity: sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==} | ||
1899 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1899 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1900 | dependencies: | 1900 | dependencies: |
1901 | callsites: 3.1.0 | 1901 | callsites: 3.1.0 |
@@ -1903,42 +1903,42 @@ packages: | @@ -1903,42 +1903,42 @@ packages: | ||
1903 | source-map: 0.6.1 | 1903 | source-map: 0.6.1 |
1904 | dev: true | 1904 | dev: true |
1905 | 1905 | ||
1906 | - /@jest/test-result/27.3.1: | ||
1907 | - resolution: {integrity: sha512-mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg==} | 1906 | + /@jest/test-result/27.4.0: |
1907 | + resolution: {integrity: sha512-/RiwMUC9pKK1E85CEflPvb4uE4Zo9JK2Iq3RbkbBoj4FkEASb/Zsqta8WGot2J1GxOk3rqdW513tfSDYQQJVpA==} | ||
1908 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1908 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1909 | dependencies: | 1909 | dependencies: |
1910 | - '@jest/console': 27.3.1 | ||
1911 | - '@jest/types': 27.2.5 | 1910 | + '@jest/console': 27.4.0 |
1911 | + '@jest/types': 27.4.0 | ||
1912 | '@types/istanbul-lib-coverage': 2.0.3 | 1912 | '@types/istanbul-lib-coverage': 2.0.3 |
1913 | collect-v8-coverage: 1.0.1 | 1913 | collect-v8-coverage: 1.0.1 |
1914 | dev: true | 1914 | dev: true |
1915 | 1915 | ||
1916 | - /@jest/test-sequencer/27.3.1: | ||
1917 | - resolution: {integrity: sha512-siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA==} | 1916 | + /@jest/test-sequencer/27.4.0: |
1917 | + resolution: {integrity: sha512-yKu+sjFgelc5zUf0kcbbsO86qV0NIMPyYFFRaWTaEsq+j7aueX/Zev+NcX+bm7BCwCMWeK7V5AUE6HUOblylHA==} | ||
1918 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1918 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1919 | dependencies: | 1919 | dependencies: |
1920 | - '@jest/test-result': 27.3.1 | 1920 | + '@jest/test-result': 27.4.0 |
1921 | graceful-fs: 4.2.8 | 1921 | graceful-fs: 4.2.8 |
1922 | - jest-haste-map: 27.3.1 | ||
1923 | - jest-runtime: 27.3.1 | 1922 | + jest-haste-map: 27.4.0 |
1923 | + jest-runtime: 27.4.0 | ||
1924 | transitivePeerDependencies: | 1924 | transitivePeerDependencies: |
1925 | - supports-color | 1925 | - supports-color |
1926 | dev: true | 1926 | dev: true |
1927 | 1927 | ||
1928 | - /@jest/transform/27.3.1: | ||
1929 | - resolution: {integrity: sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ==} | 1928 | + /@jest/transform/27.4.0: |
1929 | + resolution: {integrity: sha512-/8Cb8kEoCtXN/Co5lvv+jG0zv4Uj3ruIvffYUzxNGRGmM7qqaHtOBZ3WbH0T1Nvjya5utTA4YtwbInZVS6Zt9A==} | ||
1930 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 1930 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
1931 | dependencies: | 1931 | dependencies: |
1932 | '@babel/core': 7.16.0 | 1932 | '@babel/core': 7.16.0 |
1933 | - '@jest/types': 27.2.5 | 1933 | + '@jest/types': 27.4.0 |
1934 | babel-plugin-istanbul: 6.1.1 | 1934 | babel-plugin-istanbul: 6.1.1 |
1935 | chalk: 4.1.2 | 1935 | chalk: 4.1.2 |
1936 | convert-source-map: 1.8.0 | 1936 | convert-source-map: 1.8.0 |
1937 | fast-json-stable-stringify: 2.1.0 | 1937 | fast-json-stable-stringify: 2.1.0 |
1938 | graceful-fs: 4.2.8 | 1938 | graceful-fs: 4.2.8 |
1939 | - jest-haste-map: 27.3.1 | ||
1940 | - jest-regex-util: 27.0.6 | ||
1941 | - jest-util: 27.3.1 | 1939 | + jest-haste-map: 27.4.0 |
1940 | + jest-regex-util: 27.4.0 | ||
1941 | + jest-util: 27.4.0 | ||
1942 | micromatch: 4.0.4 | 1942 | micromatch: 4.0.4 |
1943 | pirates: 4.0.1 | 1943 | pirates: 4.0.1 |
1944 | slash: 3.0.0 | 1944 | slash: 3.0.0 |
@@ -1959,6 +1959,17 @@ packages: | @@ -1959,6 +1959,17 @@ packages: | ||
1959 | chalk: 4.1.2 | 1959 | chalk: 4.1.2 |
1960 | dev: true | 1960 | dev: true |
1961 | 1961 | ||
1962 | + /@jest/types/27.4.0: | ||
1963 | + resolution: {integrity: sha512-jIsLdASXMf8GS7P7oGFGwobNse/6Ewq3GBPHoo0i6XRmja+NrUoDqJm4a1ffF2bHGleKJizxokcp1sCqSktP3g==} | ||
1964 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
1965 | + dependencies: | ||
1966 | + '@types/istanbul-lib-coverage': 2.0.3 | ||
1967 | + '@types/istanbul-reports': 3.0.1 | ||
1968 | + '@types/node': 16.11.10 | ||
1969 | + '@types/yargs': 16.0.4 | ||
1970 | + chalk: 4.1.2 | ||
1971 | + dev: true | ||
1972 | + | ||
1962 | /@logicflow/core/0.7.10: | 1973 | /@logicflow/core/0.7.10: |
1963 | resolution: {integrity: sha512-aZi/dH6aAsfvTrMgwcfPMWNRdDrpasOTr1E49DRlaMwKzUlczF2up4tnJooX/5O6oAQ/jiJ/pIzAmmWy3nwg4w==} | 1974 | resolution: {integrity: sha512-aZi/dH6aAsfvTrMgwcfPMWNRdDrpasOTr1E49DRlaMwKzUlczF2up4tnJooX/5O6oAQ/jiJ/pIzAmmWy3nwg4w==} |
1964 | dependencies: | 1975 | dependencies: |
@@ -2303,6 +2314,14 @@ packages: | @@ -2303,6 +2314,14 @@ packages: | ||
2303 | pretty-format: 27.3.1 | 2314 | pretty-format: 27.3.1 |
2304 | dev: true | 2315 | dev: true |
2305 | 2316 | ||
2317 | + /@types/jsdom/16.2.13: | ||
2318 | + resolution: {integrity: sha512-8JQCjdeAidptSsOcRWk2iTm9wCcwn9l+kRG6k5bzUacrnm1ezV4forq0kWjUih/tumAeoG+OspOvQEbbRucBTw==} | ||
2319 | + dependencies: | ||
2320 | + '@types/node': 16.11.10 | ||
2321 | + '@types/parse5': 6.0.2 | ||
2322 | + '@types/tough-cookie': 4.0.1 | ||
2323 | + dev: true | ||
2324 | + | ||
2306 | /@types/json-schema/7.0.9: | 2325 | /@types/json-schema/7.0.9: |
2307 | resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} | 2326 | resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} |
2308 | dev: true | 2327 | dev: true |
@@ -2352,6 +2371,10 @@ packages: | @@ -2352,6 +2371,10 @@ packages: | ||
2352 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} | 2371 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} |
2353 | dev: true | 2372 | dev: true |
2354 | 2373 | ||
2374 | + /@types/parse5/6.0.2: | ||
2375 | + resolution: {integrity: sha512-+hQX+WyJAOne7Fh3zF5CxPemILIbuhNcqHHodzK9caYOLnC8pD5efmPleRnw0z++LfKUC/sVNMwk0Gap+B0baA==} | ||
2376 | + dev: true | ||
2377 | + | ||
2355 | /@types/prettier/2.4.2: | 2378 | /@types/prettier/2.4.2: |
2356 | resolution: {integrity: sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==} | 2379 | resolution: {integrity: sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==} |
2357 | dev: true | 2380 | dev: true |
@@ -2414,6 +2437,10 @@ packages: | @@ -2414,6 +2437,10 @@ packages: | ||
2414 | resolution: {integrity: sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ==} | 2437 | resolution: {integrity: sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ==} |
2415 | dev: true | 2438 | dev: true |
2416 | 2439 | ||
2440 | + /@types/tough-cookie/4.0.1: | ||
2441 | + resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==} | ||
2442 | + dev: true | ||
2443 | + | ||
2417 | /@types/trusted-types/2.0.2: | 2444 | /@types/trusted-types/2.0.2: |
2418 | resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} | 2445 | resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} |
2419 | dev: true | 2446 | dev: true |
@@ -2571,15 +2598,15 @@ packages: | @@ -2571,15 +2598,15 @@ packages: | ||
2571 | vite: 2.7.0-beta.9_less@4.1.2 | 2598 | vite: 2.7.0-beta.9_less@4.1.2 |
2572 | dev: true | 2599 | dev: true |
2573 | 2600 | ||
2574 | - /@volar/code-gen/0.29.6: | ||
2575 | - resolution: {integrity: sha512-qF2YHUj1Wk8X9uozdKfVnOImXpoduqWp8qkmrXBKO1nxZLoou/7Y2VWJhDVm4uDkKpsMW1s7ttz+a2/hDRKf4A==} | 2601 | + /@volar/code-gen/0.29.7: |
2602 | + resolution: {integrity: sha512-PLcTp/37NMKA/urAkKCy+/oOCwNOsw0ywsz3Wc31c94bX6BAcMBHha5F3NPPY8U4CWuxoyxe2Enj0Ojdtkm2Kw==} | ||
2576 | dependencies: | 2603 | dependencies: |
2577 | - '@volar/shared': 0.29.6 | ||
2578 | - '@volar/source-map': 0.29.6 | 2604 | + '@volar/shared': 0.29.7 |
2605 | + '@volar/source-map': 0.29.7 | ||
2579 | dev: true | 2606 | dev: true |
2580 | 2607 | ||
2581 | - /@volar/html2pug/0.29.6: | ||
2582 | - resolution: {integrity: sha512-GhDe7lkpa6F/UV0q5Bztsrxgd05QEtcbWECHk6LwHXIJSb3t6SKQswQJmgbEgk38c3rIp647D7s0E1BRW/rZHg==} | 2608 | + /@volar/html2pug/0.29.7: |
2609 | + resolution: {integrity: sha512-YEu1yl11pvyaElYDFzuo3kMr6Sr9c8n+BC93pF3e7ykDrejEq7GsUVlhzl1w41s6MjeheGD/Iq1vwVQE4o3E0A==} | ||
2583 | dependencies: | 2610 | dependencies: |
2584 | domelementtype: 2.2.0 | 2611 | domelementtype: 2.2.0 |
2585 | domhandler: 4.2.2 | 2612 | domhandler: 4.2.2 |
@@ -2587,33 +2614,33 @@ packages: | @@ -2587,33 +2614,33 @@ packages: | ||
2587 | pug: 3.0.2 | 2614 | pug: 3.0.2 |
2588 | dev: true | 2615 | dev: true |
2589 | 2616 | ||
2590 | - /@volar/shared/0.29.6: | ||
2591 | - resolution: {integrity: sha512-s397k+x70rHoccDwx6YVtpFOfAK+/b/bptRueLyQRM9d/21fk54csvC1bcc4Uk/fHw/j6p3FUfumohWtDRJ32w==} | 2617 | + /@volar/shared/0.29.7: |
2618 | + resolution: {integrity: sha512-n9TXdin0q4fyGodL5zKh2YMlelYeAxdeuGw8epmf0kolQc26bHici7AIhfj6mmpDox7zRZoqShHgmB4/zJolfw==} | ||
2592 | dependencies: | 2619 | dependencies: |
2593 | upath: 2.0.1 | 2620 | upath: 2.0.1 |
2594 | vscode-jsonrpc: 8.0.0-next.4 | 2621 | vscode-jsonrpc: 8.0.0-next.4 |
2595 | vscode-uri: 3.0.2 | 2622 | vscode-uri: 3.0.2 |
2596 | dev: true | 2623 | dev: true |
2597 | 2624 | ||
2598 | - /@volar/source-map/0.29.6: | ||
2599 | - resolution: {integrity: sha512-C8SFAu3nYsXeDR5mKQsr2fqf81SZI3rcbwCMLTjvps81lzFXboxWfmQIIDvdeKH91H2z/S8juHm3W3Prj3iLLg==} | 2625 | + /@volar/source-map/0.29.7: |
2626 | + resolution: {integrity: sha512-O2EI4kcqNQHzWa7V6HOdNFC2VLRJwH+fneTtDH4JAltDLJEhoIUb4jrBNcFGjY38W/KMUXqxKm00cUM+ktATjA==} | ||
2600 | dependencies: | 2627 | dependencies: |
2601 | - '@volar/shared': 0.29.6 | 2628 | + '@volar/shared': 0.29.7 |
2602 | dev: true | 2629 | dev: true |
2603 | 2630 | ||
2604 | - /@volar/transforms/0.29.6: | ||
2605 | - resolution: {integrity: sha512-bST+MnQDueGGBtnhYgA3uWmfp8gUKaKKD5dy3HCGWaPIgcBmzzTwsg//beBaoyJpihKSCq9AaJQd+rNmVZredg==} | 2631 | + /@volar/transforms/0.29.7: |
2632 | + resolution: {integrity: sha512-5Yzm4NVQu4binahCA0tuTQyNhxC+VVddt0AsdhCPkUzO+hLR17Ye2QqIsFL72aMvC2tYA2vdNQ+0KxbeyIqG2Q==} | ||
2606 | dependencies: | 2633 | dependencies: |
2607 | - '@volar/shared': 0.29.6 | 2634 | + '@volar/shared': 0.29.7 |
2608 | vscode-languageserver: 8.0.0-next.5 | 2635 | vscode-languageserver: 8.0.0-next.5 |
2609 | dev: true | 2636 | dev: true |
2610 | 2637 | ||
2611 | - /@volar/vue-code-gen/0.29.6: | ||
2612 | - resolution: {integrity: sha512-N3TlKuvPHqVaRhoyh6zogG0UAAJX0gTWsWHiR9Cpu59RNlpgCTymigsnvzXBKAMsefhxpupy05dXn04Su1+ORA==} | 2638 | + /@volar/vue-code-gen/0.29.7: |
2639 | + resolution: {integrity: sha512-xrG2rtw5cKf+Os6qIa9EUPCTG1z4CeFmSKrzD5bAww/n+9QNMy6slkTSvnKjdCqvW4TzL8STlBWC96aEL1qoDA==} | ||
2613 | dependencies: | 2640 | dependencies: |
2614 | - '@volar/code-gen': 0.29.6 | ||
2615 | - '@volar/shared': 0.29.6 | ||
2616 | - '@volar/source-map': 0.29.6 | 2641 | + '@volar/code-gen': 0.29.7 |
2642 | + '@volar/shared': 0.29.7 | ||
2643 | + '@volar/source-map': 0.29.7 | ||
2617 | '@vue/compiler-core': 3.2.23 | 2644 | '@vue/compiler-core': 3.2.23 |
2618 | '@vue/compiler-dom': 3.2.23 | 2645 | '@vue/compiler-dom': 3.2.23 |
2619 | '@vue/shared': 3.2.23 | 2646 | '@vue/shared': 3.2.23 |
@@ -2690,17 +2717,10 @@ packages: | @@ -2690,17 +2717,10 @@ packages: | ||
2690 | resolution: {integrity: sha512-R2rfiRY+kZugzWh9ZyITaovx+jpU4vgivAEAiz80kvh3yviiTU3CBuGuyWpSwGz9/C7TkSWVM/FtQRGlZ16n8Q==} | 2717 | resolution: {integrity: sha512-R2rfiRY+kZugzWh9ZyITaovx+jpU4vgivAEAiz80kvh3yviiTU3CBuGuyWpSwGz9/C7TkSWVM/FtQRGlZ16n8Q==} |
2691 | dev: false | 2718 | dev: false |
2692 | 2719 | ||
2693 | - /@vue/reactivity/3.2.22: | ||
2694 | - resolution: {integrity: sha512-xNkLAItjI0xB+lFeDgKCrSItmrHTaAzSnt8LmdSCPQnDyarmzbi/u4ESQnckWvlL7lSRKiEaOvblaNyqAa7OnQ==} | ||
2695 | - dependencies: | ||
2696 | - '@vue/shared': 3.2.22 | ||
2697 | - dev: true | ||
2698 | - | ||
2699 | /@vue/reactivity/3.2.23: | 2720 | /@vue/reactivity/3.2.23: |
2700 | resolution: {integrity: sha512-8RGVr/5Kpgb/EkCjgHXqttgA5IMc6n0lIXFY4TVbMkzdXrvaIhzBd7Te44oIDsTSYVKZLpfHd6/wEnuDqE8vFw==} | 2721 | resolution: {integrity: sha512-8RGVr/5Kpgb/EkCjgHXqttgA5IMc6n0lIXFY4TVbMkzdXrvaIhzBd7Te44oIDsTSYVKZLpfHd6/wEnuDqE8vFw==} |
2701 | dependencies: | 2722 | dependencies: |
2702 | '@vue/shared': 3.2.23 | 2723 | '@vue/shared': 3.2.23 |
2703 | - dev: false | ||
2704 | 2724 | ||
2705 | /@vue/ref-transform/3.2.23: | 2725 | /@vue/ref-transform/3.2.23: |
2706 | resolution: {integrity: sha512-gW0GD2PSAs/th7mC7tPB/UwpIQxclbApVtsDtscDmOJXb2+cdu60ny+SuHNgfrlUT/JqWKQHq7jFKO4woxLNaA==} | 2726 | resolution: {integrity: sha512-gW0GD2PSAs/th7mC7tPB/UwpIQxclbApVtsDtscDmOJXb2+cdu60ny+SuHNgfrlUT/JqWKQHq7jFKO4woxLNaA==} |
@@ -2736,10 +2756,6 @@ packages: | @@ -2736,10 +2756,6 @@ packages: | ||
2736 | vue: 3.2.23 | 2756 | vue: 3.2.23 |
2737 | dev: false | 2757 | dev: false |
2738 | 2758 | ||
2739 | - /@vue/shared/3.2.22: | ||
2740 | - resolution: {integrity: sha512-qWVav014mpjEtbWbEgl0q9pEyrrIySKum8UVYjwhC6njrKzknLZPvfuYdQyVbApsqr94tf/3dP4pCuZmmjdCWQ==} | ||
2741 | - dev: true | ||
2742 | - | ||
2743 | /@vue/shared/3.2.23: | 2759 | /@vue/shared/3.2.23: |
2744 | resolution: {integrity: sha512-U+/Jefa0QfXUF2qVy9Dqlrb6HKJSr9/wJcM66wXmWcTOoqg7hOWzF4qruDle51pyF4x3wMn6TSH54UdjKjCKMA==} | 2760 | resolution: {integrity: sha512-U+/Jefa0QfXUF2qVy9Dqlrb6HKJSr9/wJcM66wXmWcTOoqg7hOWzF4qruDle51pyF4x3wMn6TSH54UdjKjCKMA==} |
2745 | 2761 | ||
@@ -2883,7 +2899,7 @@ packages: | @@ -2883,7 +2899,7 @@ packages: | ||
2883 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} | 2899 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} |
2884 | engines: {node: '>= 6.0.0'} | 2900 | engines: {node: '>= 6.0.0'} |
2885 | dependencies: | 2901 | dependencies: |
2886 | - debug: 4.3.2 | 2902 | + debug: 4.3.3 |
2887 | transitivePeerDependencies: | 2903 | transitivePeerDependencies: |
2888 | - supports-color | 2904 | - supports-color |
2889 | dev: true | 2905 | dev: true |
@@ -3156,18 +3172,18 @@ packages: | @@ -3156,18 +3172,18 @@ packages: | ||
3156 | - debug | 3172 | - debug |
3157 | dev: false | 3173 | dev: false |
3158 | 3174 | ||
3159 | - /babel-jest/27.3.1_@babel+core@7.16.0: | ||
3160 | - resolution: {integrity: sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ==} | 3175 | + /babel-jest/27.4.0_@babel+core@7.16.0: |
3176 | + resolution: {integrity: sha512-4855S+YT4Hx0OiXFDBOWhrMj1Y9zYE7StlchuZtr1vbo1LEDBIkt8U6+7cse8jkpJSV98w3nBVDrPgol5Ab/cQ==} | ||
3161 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 3177 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
3162 | peerDependencies: | 3178 | peerDependencies: |
3163 | '@babel/core': ^7.8.0 | 3179 | '@babel/core': ^7.8.0 |
3164 | dependencies: | 3180 | dependencies: |
3165 | '@babel/core': 7.16.0 | 3181 | '@babel/core': 7.16.0 |
3166 | - '@jest/transform': 27.3.1 | ||
3167 | - '@jest/types': 27.2.5 | 3182 | + '@jest/transform': 27.4.0 |
3183 | + '@jest/types': 27.4.0 | ||
3168 | '@types/babel__core': 7.1.16 | 3184 | '@types/babel__core': 7.1.16 |
3169 | babel-plugin-istanbul: 6.1.1 | 3185 | babel-plugin-istanbul: 6.1.1 |
3170 | - babel-preset-jest: 27.2.0_@babel+core@7.16.0 | 3186 | + babel-preset-jest: 27.4.0_@babel+core@7.16.0 |
3171 | chalk: 4.1.2 | 3187 | chalk: 4.1.2 |
3172 | graceful-fs: 4.2.8 | 3188 | graceful-fs: 4.2.8 |
3173 | slash: 3.0.0 | 3189 | slash: 3.0.0 |
@@ -3194,8 +3210,8 @@ packages: | @@ -3194,8 +3210,8 @@ packages: | ||
3194 | - supports-color | 3210 | - supports-color |
3195 | dev: true | 3211 | dev: true |
3196 | 3212 | ||
3197 | - /babel-plugin-jest-hoist/27.2.0: | ||
3198 | - resolution: {integrity: sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==} | 3213 | + /babel-plugin-jest-hoist/27.4.0: |
3214 | + resolution: {integrity: sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==} | ||
3199 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 3215 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
3200 | dependencies: | 3216 | dependencies: |
3201 | '@babel/template': 7.16.0 | 3217 | '@babel/template': 7.16.0 |
@@ -3260,14 +3276,14 @@ packages: | @@ -3260,14 +3276,14 @@ packages: | ||
3260 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.0 | 3276 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.0 |
3261 | dev: true | 3277 | dev: true |
3262 | 3278 | ||
3263 | - /babel-preset-jest/27.2.0_@babel+core@7.16.0: | ||
3264 | - resolution: {integrity: sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==} | 3279 | + /babel-preset-jest/27.4.0_@babel+core@7.16.0: |
3280 | + resolution: {integrity: sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==} | ||
3265 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 3281 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
3266 | peerDependencies: | 3282 | peerDependencies: |
3267 | '@babel/core': ^7.0.0 | 3283 | '@babel/core': ^7.0.0 |
3268 | dependencies: | 3284 | dependencies: |
3269 | '@babel/core': 7.16.0 | 3285 | '@babel/core': 7.16.0 |
3270 | - babel-plugin-jest-hoist: 27.2.0 | 3286 | + babel-plugin-jest-hoist: 27.4.0 |
3271 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 | 3287 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 |
3272 | dev: true | 3288 | dev: true |
3273 | 3289 | ||
@@ -4561,6 +4577,11 @@ packages: | @@ -4561,6 +4577,11 @@ packages: | ||
4561 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 4577 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
4562 | dev: true | 4578 | dev: true |
4563 | 4579 | ||
4580 | + /diff-sequences/27.4.0: | ||
4581 | + resolution: {integrity: sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==} | ||
4582 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
4583 | + dev: true | ||
4584 | + | ||
4564 | /diff/4.0.2: | 4585 | /diff/4.0.2: |
4565 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} | 4586 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} |
4566 | engines: {node: '>=0.3.1'} | 4587 | engines: {node: '>=0.3.1'} |
@@ -5101,7 +5122,7 @@ packages: | @@ -5101,7 +5122,7 @@ packages: | ||
5101 | engines: {node: '>= 16.9.0', npm: '>= 7.0.0', pnpm: '>= 6.17.0'} | 5122 | engines: {node: '>= 16.9.0', npm: '>= 7.0.0', pnpm: '>= 6.17.0'} |
5102 | dev: true | 5123 | dev: true |
5103 | 5124 | ||
5104 | - /eslint-plugin-jest/25.3.0_4e52e098c69dc02e5d836ed593524821: | 5125 | + /eslint-plugin-jest/25.3.0_4a9aadc9705c463d5cb0fc674dd30934: |
5105 | resolution: {integrity: sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==} | 5126 | resolution: {integrity: sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==} |
5106 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} | 5127 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} |
5107 | peerDependencies: | 5128 | peerDependencies: |
@@ -5117,7 +5138,7 @@ packages: | @@ -5117,7 +5138,7 @@ packages: | ||
5117 | '@typescript-eslint/eslint-plugin': 5.4.0_5c8ff4cecd5a55e744866c0654edac32 | 5138 | '@typescript-eslint/eslint-plugin': 5.4.0_5c8ff4cecd5a55e744866c0654edac32 |
5118 | '@typescript-eslint/experimental-utils': 5.4.0_eslint@8.3.0+typescript@4.5.2 | 5139 | '@typescript-eslint/experimental-utils': 5.4.0_eslint@8.3.0+typescript@4.5.2 |
5119 | eslint: 8.3.0 | 5140 | eslint: 8.3.0 |
5120 | - jest: 27.3.1_ts-node@10.4.0 | 5141 | + jest: 27.4.0_ts-node@10.4.0 |
5121 | transitivePeerDependencies: | 5142 | transitivePeerDependencies: |
5122 | - supports-color | 5143 | - supports-color |
5123 | - typescript | 5144 | - typescript |
@@ -5426,16 +5447,16 @@ packages: | @@ -5426,16 +5447,16 @@ packages: | ||
5426 | homedir-polyfill: 1.0.3 | 5447 | homedir-polyfill: 1.0.3 |
5427 | dev: true | 5448 | dev: true |
5428 | 5449 | ||
5429 | - /expect/27.3.1: | ||
5430 | - resolution: {integrity: sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==} | 5450 | + /expect/27.4.0: |
5451 | + resolution: {integrity: sha512-3V4Nq5E5dS7bzFfinUThG0OnOnNIDdEPC0KG1pBgB1Z7ZTDVuuyvSBTOQewi0z0vaGKWPaJ880tGI+pPm+5aCg==} | ||
5431 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 5452 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
5432 | dependencies: | 5453 | dependencies: |
5433 | - '@jest/types': 27.2.5 | 5454 | + '@jest/types': 27.4.0 |
5434 | ansi-styles: 5.2.0 | 5455 | ansi-styles: 5.2.0 |
5435 | - jest-get-type: 27.3.1 | ||
5436 | - jest-matcher-utils: 27.3.1 | ||
5437 | - jest-message-util: 27.3.1 | ||
5438 | - jest-regex-util: 27.0.6 | 5456 | + jest-get-type: 27.4.0 |
5457 | + jest-matcher-utils: 27.4.0 | ||
5458 | + jest-message-util: 27.4.0 | ||
5459 | + jest-regex-util: 27.4.0 | ||
5439 | dev: true | 5460 | dev: true |
5440 | 5461 | ||
5441 | /ext-list/2.2.2: | 5462 | /ext-list/2.2.2: |
@@ -6344,7 +6365,7 @@ packages: | @@ -6344,7 +6365,7 @@ packages: | ||
6344 | dependencies: | 6365 | dependencies: |
6345 | '@tootallnate/once': 1.1.2 | 6366 | '@tootallnate/once': 1.1.2 |
6346 | agent-base: 6.0.2 | 6367 | agent-base: 6.0.2 |
6347 | - debug: 4.3.2 | 6368 | + debug: 4.3.3 |
6348 | transitivePeerDependencies: | 6369 | transitivePeerDependencies: |
6349 | - supports-color | 6370 | - supports-color |
6350 | dev: true | 6371 | dev: true |
@@ -6354,7 +6375,7 @@ packages: | @@ -6354,7 +6375,7 @@ packages: | ||
6354 | engines: {node: '>= 6'} | 6375 | engines: {node: '>= 6'} |
6355 | dependencies: | 6376 | dependencies: |
6356 | agent-base: 6.0.2 | 6377 | agent-base: 6.0.2 |
6357 | - debug: 4.3.2 | 6378 | + debug: 4.3.3 |
6358 | transitivePeerDependencies: | 6379 | transitivePeerDependencies: |
6359 | - supports-color | 6380 | - supports-color |
6360 | dev: true | 6381 | dev: true |
@@ -7026,7 +7047,7 @@ packages: | @@ -7026,7 +7047,7 @@ packages: | ||
7026 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} | 7047 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} |
7027 | engines: {node: '>=10'} | 7048 | engines: {node: '>=10'} |
7028 | dependencies: | 7049 | dependencies: |
7029 | - debug: 4.3.2 | 7050 | + debug: 4.3.3 |
7030 | istanbul-lib-coverage: 3.2.0 | 7051 | istanbul-lib-coverage: 3.2.0 |
7031 | source-map: 0.6.1 | 7052 | source-map: 0.6.1 |
7032 | transitivePeerDependencies: | 7053 | transitivePeerDependencies: |
@@ -7059,35 +7080,35 @@ packages: | @@ -7059,35 +7080,35 @@ packages: | ||
7059 | minimatch: 3.0.4 | 7080 | minimatch: 3.0.4 |
7060 | dev: true | 7081 | dev: true |
7061 | 7082 | ||
7062 | - /jest-changed-files/27.3.0: | ||
7063 | - resolution: {integrity: sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg==} | 7083 | + /jest-changed-files/27.4.0: |
7084 | + resolution: {integrity: sha512-TacYni8ZumaB10L/fGRH92MbLYkn+MF2KtgHeAOcwnOzfmt+S6CDmJeslZuLOpnRUQKkV/Vr4qPAlrBTE5r67A==} | ||
7064 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7085 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7065 | dependencies: | 7086 | dependencies: |
7066 | - '@jest/types': 27.2.5 | 7087 | + '@jest/types': 27.4.0 |
7067 | execa: 5.1.1 | 7088 | execa: 5.1.1 |
7068 | throat: 6.0.1 | 7089 | throat: 6.0.1 |
7069 | dev: true | 7090 | dev: true |
7070 | 7091 | ||
7071 | - /jest-circus/27.3.1: | ||
7072 | - resolution: {integrity: sha512-v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw==} | 7092 | + /jest-circus/27.4.0: |
7093 | + resolution: {integrity: sha512-WYmHSsuH82HZqOHPU1vD2AKyzUp5t/0R7jT1XJ8ga+hIGR5Ddv6PUQeMJvjnftyLC0izSm3tZaIYB+H6FfYqZA==} | ||
7073 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7094 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7074 | dependencies: | 7095 | dependencies: |
7075 | - '@jest/environment': 27.3.1 | ||
7076 | - '@jest/test-result': 27.3.1 | ||
7077 | - '@jest/types': 27.2.5 | 7096 | + '@jest/environment': 27.4.0 |
7097 | + '@jest/test-result': 27.4.0 | ||
7098 | + '@jest/types': 27.4.0 | ||
7078 | '@types/node': 16.11.10 | 7099 | '@types/node': 16.11.10 |
7079 | chalk: 4.1.2 | 7100 | chalk: 4.1.2 |
7080 | co: 4.6.0 | 7101 | co: 4.6.0 |
7081 | dedent: 0.7.0 | 7102 | dedent: 0.7.0 |
7082 | - expect: 27.3.1 | 7103 | + expect: 27.4.0 |
7083 | is-generator-fn: 2.1.0 | 7104 | is-generator-fn: 2.1.0 |
7084 | - jest-each: 27.3.1 | ||
7085 | - jest-matcher-utils: 27.3.1 | ||
7086 | - jest-message-util: 27.3.1 | ||
7087 | - jest-runtime: 27.3.1 | ||
7088 | - jest-snapshot: 27.3.1 | ||
7089 | - jest-util: 27.3.1 | ||
7090 | - pretty-format: 27.3.1 | 7105 | + jest-each: 27.4.0 |
7106 | + jest-matcher-utils: 27.4.0 | ||
7107 | + jest-message-util: 27.4.0 | ||
7108 | + jest-runtime: 27.4.0 | ||
7109 | + jest-snapshot: 27.4.0 | ||
7110 | + jest-util: 27.4.0 | ||
7111 | + pretty-format: 27.4.0 | ||
7091 | slash: 3.0.0 | 7112 | slash: 3.0.0 |
7092 | stack-utils: 2.0.5 | 7113 | stack-utils: 2.0.5 |
7093 | throat: 6.0.1 | 7114 | throat: 6.0.1 |
@@ -7095,8 +7116,8 @@ packages: | @@ -7095,8 +7116,8 @@ packages: | ||
7095 | - supports-color | 7116 | - supports-color |
7096 | dev: true | 7117 | dev: true |
7097 | 7118 | ||
7098 | - /jest-cli/27.3.1_ts-node@10.4.0: | ||
7099 | - resolution: {integrity: sha512-WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q==} | 7119 | + /jest-cli/27.4.0_ts-node@10.4.0: |
7120 | + resolution: {integrity: sha512-cTL2ORt/ha+x6KJfVp0oTAyPmHVw7IJ+lA3kmT/kNcWoCiKa+t/JlF5x+nJ0UfL3/IQLV+ysYgu8MjGM8WXH+w==} | ||
7100 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7121 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7101 | hasBin: true | 7122 | hasBin: true |
7102 | peerDependencies: | 7123 | peerDependencies: |
@@ -7105,16 +7126,16 @@ packages: | @@ -7105,16 +7126,16 @@ packages: | ||
7105 | node-notifier: | 7126 | node-notifier: |
7106 | optional: true | 7127 | optional: true |
7107 | dependencies: | 7128 | dependencies: |
7108 | - '@jest/core': 27.3.1_ts-node@10.4.0 | ||
7109 | - '@jest/test-result': 27.3.1 | ||
7110 | - '@jest/types': 27.2.5 | 7129 | + '@jest/core': 27.4.0_ts-node@10.4.0 |
7130 | + '@jest/test-result': 27.4.0 | ||
7131 | + '@jest/types': 27.4.0 | ||
7111 | chalk: 4.1.2 | 7132 | chalk: 4.1.2 |
7112 | exit: 0.1.2 | 7133 | exit: 0.1.2 |
7113 | graceful-fs: 4.2.8 | 7134 | graceful-fs: 4.2.8 |
7114 | import-local: 3.0.3 | 7135 | import-local: 3.0.3 |
7115 | - jest-config: 27.3.1_ts-node@10.4.0 | ||
7116 | - jest-util: 27.3.1 | ||
7117 | - jest-validate: 27.3.1 | 7136 | + jest-config: 27.4.0_ts-node@10.4.0 |
7137 | + jest-util: 27.4.0 | ||
7138 | + jest-validate: 27.4.0 | ||
7118 | prompts: 2.4.2 | 7139 | prompts: 2.4.2 |
7119 | yargs: 16.2.0 | 7140 | yargs: 16.2.0 |
7120 | transitivePeerDependencies: | 7141 | transitivePeerDependencies: |
@@ -7125,8 +7146,8 @@ packages: | @@ -7125,8 +7146,8 @@ packages: | ||
7125 | - utf-8-validate | 7146 | - utf-8-validate |
7126 | dev: true | 7147 | dev: true |
7127 | 7148 | ||
7128 | - /jest-config/27.3.1_ts-node@10.4.0: | ||
7129 | - resolution: {integrity: sha512-KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg==} | 7149 | + /jest-config/27.4.0_ts-node@10.4.0: |
7150 | + resolution: {integrity: sha512-4ZDJd0HLX4snqDNOQYswMjQj7d7I2Bm8+TYIytDcRSAy7mkneQCKHBJu2NtIuzXxAoS2Sy+sjZ1UX/9L06zZCQ==} | ||
7130 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7151 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7131 | peerDependencies: | 7152 | peerDependencies: |
7132 | ts-node: '>=9.0.0' | 7153 | ts-node: '>=9.0.0' |
@@ -7135,26 +7156,27 @@ packages: | @@ -7135,26 +7156,27 @@ packages: | ||
7135 | optional: true | 7156 | optional: true |
7136 | dependencies: | 7157 | dependencies: |
7137 | '@babel/core': 7.16.0 | 7158 | '@babel/core': 7.16.0 |
7138 | - '@jest/test-sequencer': 27.3.1 | ||
7139 | - '@jest/types': 27.2.5 | ||
7140 | - babel-jest: 27.3.1_@babel+core@7.16.0 | 7159 | + '@jest/test-sequencer': 27.4.0 |
7160 | + '@jest/types': 27.4.0 | ||
7161 | + babel-jest: 27.4.0_@babel+core@7.16.0 | ||
7141 | chalk: 4.1.2 | 7162 | chalk: 4.1.2 |
7142 | ci-info: 3.3.0 | 7163 | ci-info: 3.3.0 |
7143 | deepmerge: 4.2.2 | 7164 | deepmerge: 4.2.2 |
7144 | glob: 7.2.0 | 7165 | glob: 7.2.0 |
7145 | graceful-fs: 4.2.8 | 7166 | graceful-fs: 4.2.8 |
7146 | - jest-circus: 27.3.1 | ||
7147 | - jest-environment-jsdom: 27.3.1 | ||
7148 | - jest-environment-node: 27.3.1 | ||
7149 | - jest-get-type: 27.3.1 | ||
7150 | - jest-jasmine2: 27.3.1 | ||
7151 | - jest-regex-util: 27.0.6 | ||
7152 | - jest-resolve: 27.3.1 | ||
7153 | - jest-runner: 27.3.1 | ||
7154 | - jest-util: 27.3.1 | ||
7155 | - jest-validate: 27.3.1 | 7167 | + jest-circus: 27.4.0 |
7168 | + jest-environment-jsdom: 27.4.0 | ||
7169 | + jest-environment-node: 27.4.0 | ||
7170 | + jest-get-type: 27.4.0 | ||
7171 | + jest-jasmine2: 27.4.0 | ||
7172 | + jest-regex-util: 27.4.0 | ||
7173 | + jest-resolve: 27.4.0 | ||
7174 | + jest-runner: 27.4.0 | ||
7175 | + jest-util: 27.4.0 | ||
7176 | + jest-validate: 27.4.0 | ||
7156 | micromatch: 4.0.4 | 7177 | micromatch: 4.0.4 |
7157 | - pretty-format: 27.3.1 | 7178 | + pretty-format: 27.4.0 |
7179 | + slash: 3.0.0 | ||
7158 | ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124 | 7180 | ts-node: 10.4.0_36929cccfdb926da0bb85cc291f27124 |
7159 | transitivePeerDependencies: | 7181 | transitivePeerDependencies: |
7160 | - bufferutil | 7182 | - bufferutil |
@@ -7173,34 +7195,45 @@ packages: | @@ -7173,34 +7195,45 @@ packages: | ||
7173 | pretty-format: 27.3.1 | 7195 | pretty-format: 27.3.1 |
7174 | dev: true | 7196 | dev: true |
7175 | 7197 | ||
7176 | - /jest-docblock/27.0.6: | ||
7177 | - resolution: {integrity: sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==} | 7198 | + /jest-diff/27.4.0: |
7199 | + resolution: {integrity: sha512-fdXgpnyQH4LNSnYgRfHN/g413bqbPspWIAZPlXrdNISehDih1VNDtuRvlzGQJ4Go+fur1HKB2IyI25t6cWi5EA==} | ||
7200 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
7201 | + dependencies: | ||
7202 | + chalk: 4.1.2 | ||
7203 | + diff-sequences: 27.4.0 | ||
7204 | + jest-get-type: 27.4.0 | ||
7205 | + pretty-format: 27.4.0 | ||
7206 | + dev: true | ||
7207 | + | ||
7208 | + /jest-docblock/27.4.0: | ||
7209 | + resolution: {integrity: sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==} | ||
7178 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7210 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7179 | dependencies: | 7211 | dependencies: |
7180 | detect-newline: 3.1.0 | 7212 | detect-newline: 3.1.0 |
7181 | dev: true | 7213 | dev: true |
7182 | 7214 | ||
7183 | - /jest-each/27.3.1: | ||
7184 | - resolution: {integrity: sha512-E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ==} | 7215 | + /jest-each/27.4.0: |
7216 | + resolution: {integrity: sha512-dq6r/Uf6Q7sI/gND7WyCmQ7Z13p1CSusMkHEC//+schTrhTRe+ubPO2GtejHlWV+BldH6aMAAmtlEZgBroNrNg==} | ||
7185 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7217 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7186 | dependencies: | 7218 | dependencies: |
7187 | - '@jest/types': 27.2.5 | 7219 | + '@jest/types': 27.4.0 |
7188 | chalk: 4.1.2 | 7220 | chalk: 4.1.2 |
7189 | - jest-get-type: 27.3.1 | ||
7190 | - jest-util: 27.3.1 | ||
7191 | - pretty-format: 27.3.1 | 7221 | + jest-get-type: 27.4.0 |
7222 | + jest-util: 27.4.0 | ||
7223 | + pretty-format: 27.4.0 | ||
7192 | dev: true | 7224 | dev: true |
7193 | 7225 | ||
7194 | - /jest-environment-jsdom/27.3.1: | ||
7195 | - resolution: {integrity: sha512-3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg==} | 7226 | + /jest-environment-jsdom/27.4.0: |
7227 | + resolution: {integrity: sha512-fgM6g4WftTTpRA8dB5FnmS3n+PthwjTdMwl/Lcq2QlCo0I5smyD+t82bzO9tX5w6ygxbCbnP4VkSWWYdqO4j+w==} | ||
7196 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7228 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7197 | dependencies: | 7229 | dependencies: |
7198 | - '@jest/environment': 27.3.1 | ||
7199 | - '@jest/fake-timers': 27.3.1 | ||
7200 | - '@jest/types': 27.2.5 | 7230 | + '@jest/environment': 27.4.0 |
7231 | + '@jest/fake-timers': 27.4.0 | ||
7232 | + '@jest/types': 27.4.0 | ||
7233 | + '@types/jsdom': 16.2.13 | ||
7201 | '@types/node': 16.11.10 | 7234 | '@types/node': 16.11.10 |
7202 | - jest-mock: 27.3.0 | ||
7203 | - jest-util: 27.3.1 | 7235 | + jest-mock: 27.4.0 |
7236 | + jest-util: 27.4.0 | ||
7204 | jsdom: 16.7.0 | 7237 | jsdom: 16.7.0 |
7205 | transitivePeerDependencies: | 7238 | transitivePeerDependencies: |
7206 | - bufferutil | 7239 | - bufferutil |
@@ -7209,16 +7242,16 @@ packages: | @@ -7209,16 +7242,16 @@ packages: | ||
7209 | - utf-8-validate | 7242 | - utf-8-validate |
7210 | dev: true | 7243 | dev: true |
7211 | 7244 | ||
7212 | - /jest-environment-node/27.3.1: | ||
7213 | - resolution: {integrity: sha512-T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw==} | 7245 | + /jest-environment-node/27.4.0: |
7246 | + resolution: {integrity: sha512-VG3jLukpPhpffd7dUiC7+usyTG8Omytg4NOjGQtv88208O2AAMwcqpOAl1/uVOhUvbiegtVztyd3ZzAQtBxifA==} | ||
7214 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7247 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7215 | dependencies: | 7248 | dependencies: |
7216 | - '@jest/environment': 27.3.1 | ||
7217 | - '@jest/fake-timers': 27.3.1 | ||
7218 | - '@jest/types': 27.2.5 | 7249 | + '@jest/environment': 27.4.0 |
7250 | + '@jest/fake-timers': 27.4.0 | ||
7251 | + '@jest/types': 27.4.0 | ||
7219 | '@types/node': 16.11.10 | 7252 | '@types/node': 16.11.10 |
7220 | - jest-mock: 27.3.0 | ||
7221 | - jest-util: 27.3.1 | 7253 | + jest-mock: 27.4.0 |
7254 | + jest-util: 27.4.0 | ||
7222 | dev: true | 7255 | dev: true |
7223 | 7256 | ||
7224 | /jest-get-type/27.3.1: | 7257 | /jest-get-type/27.3.1: |
@@ -7226,94 +7259,99 @@ packages: | @@ -7226,94 +7259,99 @@ packages: | ||
7226 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7259 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7227 | dev: true | 7260 | dev: true |
7228 | 7261 | ||
7229 | - /jest-haste-map/27.3.1: | ||
7230 | - resolution: {integrity: sha512-lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg==} | 7262 | + /jest-get-type/27.4.0: |
7263 | + resolution: {integrity: sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==} | ||
7264 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
7265 | + dev: true | ||
7266 | + | ||
7267 | + /jest-haste-map/27.4.0: | ||
7268 | + resolution: {integrity: sha512-xTXw1/JBJvdvTEsnTlRj9u9AAg2t23r5GHbtc5eC6AuEIRPfGWV02Y67U0p4K1KpEWLsk9Pb3b6Kfde/5a3C5A==} | ||
7231 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7269 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7232 | dependencies: | 7270 | dependencies: |
7233 | - '@jest/types': 27.2.5 | 7271 | + '@jest/types': 27.4.0 |
7234 | '@types/graceful-fs': 4.1.5 | 7272 | '@types/graceful-fs': 4.1.5 |
7235 | '@types/node': 16.11.10 | 7273 | '@types/node': 16.11.10 |
7236 | anymatch: 3.1.2 | 7274 | anymatch: 3.1.2 |
7237 | fb-watchman: 2.0.1 | 7275 | fb-watchman: 2.0.1 |
7238 | graceful-fs: 4.2.8 | 7276 | graceful-fs: 4.2.8 |
7239 | - jest-regex-util: 27.0.6 | ||
7240 | - jest-serializer: 27.0.6 | ||
7241 | - jest-util: 27.3.1 | ||
7242 | - jest-worker: 27.3.1 | 7277 | + jest-regex-util: 27.4.0 |
7278 | + jest-serializer: 27.4.0 | ||
7279 | + jest-util: 27.4.0 | ||
7280 | + jest-worker: 27.4.0 | ||
7243 | micromatch: 4.0.4 | 7281 | micromatch: 4.0.4 |
7244 | walker: 1.0.8 | 7282 | walker: 1.0.8 |
7245 | optionalDependencies: | 7283 | optionalDependencies: |
7246 | fsevents: 2.3.2 | 7284 | fsevents: 2.3.2 |
7247 | dev: true | 7285 | dev: true |
7248 | 7286 | ||
7249 | - /jest-jasmine2/27.3.1: | ||
7250 | - resolution: {integrity: sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg==} | 7287 | + /jest-jasmine2/27.4.0: |
7288 | + resolution: {integrity: sha512-yvfWhQM/ZoxXfBZJdiKXCQxt18pOrciQUDqkT+EXtzhpKPIsbPdWCVv53NOqeWnRQR4HVhNgKK/fYD6BUXCxzA==} | ||
7251 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7289 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7252 | dependencies: | 7290 | dependencies: |
7253 | '@babel/traverse': 7.16.3 | 7291 | '@babel/traverse': 7.16.3 |
7254 | - '@jest/environment': 27.3.1 | ||
7255 | - '@jest/source-map': 27.0.6 | ||
7256 | - '@jest/test-result': 27.3.1 | ||
7257 | - '@jest/types': 27.2.5 | 7292 | + '@jest/environment': 27.4.0 |
7293 | + '@jest/source-map': 27.4.0 | ||
7294 | + '@jest/test-result': 27.4.0 | ||
7295 | + '@jest/types': 27.4.0 | ||
7258 | '@types/node': 16.11.10 | 7296 | '@types/node': 16.11.10 |
7259 | chalk: 4.1.2 | 7297 | chalk: 4.1.2 |
7260 | co: 4.6.0 | 7298 | co: 4.6.0 |
7261 | - expect: 27.3.1 | 7299 | + expect: 27.4.0 |
7262 | is-generator-fn: 2.1.0 | 7300 | is-generator-fn: 2.1.0 |
7263 | - jest-each: 27.3.1 | ||
7264 | - jest-matcher-utils: 27.3.1 | ||
7265 | - jest-message-util: 27.3.1 | ||
7266 | - jest-runtime: 27.3.1 | ||
7267 | - jest-snapshot: 27.3.1 | ||
7268 | - jest-util: 27.3.1 | ||
7269 | - pretty-format: 27.3.1 | 7301 | + jest-each: 27.4.0 |
7302 | + jest-matcher-utils: 27.4.0 | ||
7303 | + jest-message-util: 27.4.0 | ||
7304 | + jest-runtime: 27.4.0 | ||
7305 | + jest-snapshot: 27.4.0 | ||
7306 | + jest-util: 27.4.0 | ||
7307 | + pretty-format: 27.4.0 | ||
7270 | throat: 6.0.1 | 7308 | throat: 6.0.1 |
7271 | transitivePeerDependencies: | 7309 | transitivePeerDependencies: |
7272 | - supports-color | 7310 | - supports-color |
7273 | dev: true | 7311 | dev: true |
7274 | 7312 | ||
7275 | - /jest-leak-detector/27.3.1: | ||
7276 | - resolution: {integrity: sha512-78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg==} | 7313 | + /jest-leak-detector/27.4.0: |
7314 | + resolution: {integrity: sha512-d7QeqzIOVQeMI6VROLPNeYagcxPCvqYD6A34Ol9D+vPzs72omGXsGbuuJrChD51zuA4ESXcLYZ81L9JHr1VYGw==} | ||
7277 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7315 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7278 | dependencies: | 7316 | dependencies: |
7279 | - jest-get-type: 27.3.1 | ||
7280 | - pretty-format: 27.3.1 | 7317 | + jest-get-type: 27.4.0 |
7318 | + pretty-format: 27.4.0 | ||
7281 | dev: true | 7319 | dev: true |
7282 | 7320 | ||
7283 | - /jest-matcher-utils/27.3.1: | ||
7284 | - resolution: {integrity: sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w==} | 7321 | + /jest-matcher-utils/27.4.0: |
7322 | + resolution: {integrity: sha512-vBy1tEyuKiItYgV9x9ubccyadOy5xAAmDBgXk8dMppXBXG4glggrGcZvE+8l1r+te477bRcFLB/hRyGm5Tdxzw==} | ||
7285 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7323 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7286 | dependencies: | 7324 | dependencies: |
7287 | chalk: 4.1.2 | 7325 | chalk: 4.1.2 |
7288 | - jest-diff: 27.3.1 | ||
7289 | - jest-get-type: 27.3.1 | ||
7290 | - pretty-format: 27.3.1 | 7326 | + jest-diff: 27.4.0 |
7327 | + jest-get-type: 27.4.0 | ||
7328 | + pretty-format: 27.4.0 | ||
7291 | dev: true | 7329 | dev: true |
7292 | 7330 | ||
7293 | - /jest-message-util/27.3.1: | ||
7294 | - resolution: {integrity: sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg==} | 7331 | + /jest-message-util/27.4.0: |
7332 | + resolution: {integrity: sha512-2KmfpnxFwt+5CF0YST6U1IwFomX9gx2dmcAV/ZjzF9/4tlmieExl7Ch7D36l94mIxWTXhDuPji4XOvxRBdswrQ==} | ||
7295 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7333 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7296 | dependencies: | 7334 | dependencies: |
7297 | '@babel/code-frame': 7.16.0 | 7335 | '@babel/code-frame': 7.16.0 |
7298 | - '@jest/types': 27.2.5 | 7336 | + '@jest/types': 27.4.0 |
7299 | '@types/stack-utils': 2.0.1 | 7337 | '@types/stack-utils': 2.0.1 |
7300 | chalk: 4.1.2 | 7338 | chalk: 4.1.2 |
7301 | graceful-fs: 4.2.8 | 7339 | graceful-fs: 4.2.8 |
7302 | micromatch: 4.0.4 | 7340 | micromatch: 4.0.4 |
7303 | - pretty-format: 27.3.1 | 7341 | + pretty-format: 27.4.0 |
7304 | slash: 3.0.0 | 7342 | slash: 3.0.0 |
7305 | stack-utils: 2.0.5 | 7343 | stack-utils: 2.0.5 |
7306 | dev: true | 7344 | dev: true |
7307 | 7345 | ||
7308 | - /jest-mock/27.3.0: | ||
7309 | - resolution: {integrity: sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw==} | 7346 | + /jest-mock/27.4.0: |
7347 | + resolution: {integrity: sha512-hQMpGIFEjhb6rtOz4JZcZaMdQytXjm54tBif9rpXfdzbEgYZ9+JGOUNqdtu3n09KG95/zEVwRI07HAuoSV1Dxw==} | ||
7310 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7348 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7311 | dependencies: | 7349 | dependencies: |
7312 | - '@jest/types': 27.2.5 | 7350 | + '@jest/types': 27.4.0 |
7313 | '@types/node': 16.11.10 | 7351 | '@types/node': 16.11.10 |
7314 | dev: true | 7352 | dev: true |
7315 | 7353 | ||
7316 | - /jest-pnp-resolver/1.2.2_jest-resolve@27.3.1: | 7354 | + /jest-pnp-resolver/1.2.2_jest-resolve@27.4.0: |
7317 | resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} | 7355 | resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} |
7318 | engines: {node: '>=6'} | 7356 | engines: {node: '>=6'} |
7319 | peerDependencies: | 7357 | peerDependencies: |
@@ -7322,65 +7360,65 @@ packages: | @@ -7322,65 +7360,65 @@ packages: | ||
7322 | jest-resolve: | 7360 | jest-resolve: |
7323 | optional: true | 7361 | optional: true |
7324 | dependencies: | 7362 | dependencies: |
7325 | - jest-resolve: 27.3.1 | 7363 | + jest-resolve: 27.4.0 |
7326 | dev: true | 7364 | dev: true |
7327 | 7365 | ||
7328 | - /jest-regex-util/27.0.6: | ||
7329 | - resolution: {integrity: sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==} | 7366 | + /jest-regex-util/27.4.0: |
7367 | + resolution: {integrity: sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==} | ||
7330 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7368 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7331 | dev: true | 7369 | dev: true |
7332 | 7370 | ||
7333 | - /jest-resolve-dependencies/27.3.1: | ||
7334 | - resolution: {integrity: sha512-X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A==} | 7371 | + /jest-resolve-dependencies/27.4.0: |
7372 | + resolution: {integrity: sha512-D+Ean4nLgbRqhWCSKJIWpC36O7itmZbVQjnHWLF4brAP0r2sGATXjjhERIaiBCt/V2IhCDcH0EvS+PA7gSrf5g==} | ||
7335 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7373 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7336 | dependencies: | 7374 | dependencies: |
7337 | - '@jest/types': 27.2.5 | ||
7338 | - jest-regex-util: 27.0.6 | ||
7339 | - jest-snapshot: 27.3.1 | 7375 | + '@jest/types': 27.4.0 |
7376 | + jest-regex-util: 27.4.0 | ||
7377 | + jest-snapshot: 27.4.0 | ||
7340 | transitivePeerDependencies: | 7378 | transitivePeerDependencies: |
7341 | - supports-color | 7379 | - supports-color |
7342 | dev: true | 7380 | dev: true |
7343 | 7381 | ||
7344 | - /jest-resolve/27.3.1: | ||
7345 | - resolution: {integrity: sha512-Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw==} | 7382 | + /jest-resolve/27.4.0: |
7383 | + resolution: {integrity: sha512-XF54RYG9a9fHTlovCwC5U49TVAfCkHLoJnMhgaT2AYif4E5BechlKUAlhYE4fkbr1J5LzP7O9qfgRA5JSR8HzQ==} | ||
7346 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7384 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7347 | dependencies: | 7385 | dependencies: |
7348 | - '@jest/types': 27.2.5 | 7386 | + '@jest/types': 27.4.0 |
7349 | chalk: 4.1.2 | 7387 | chalk: 4.1.2 |
7350 | graceful-fs: 4.2.8 | 7388 | graceful-fs: 4.2.8 |
7351 | - jest-haste-map: 27.3.1 | ||
7352 | - jest-pnp-resolver: 1.2.2_jest-resolve@27.3.1 | ||
7353 | - jest-util: 27.3.1 | ||
7354 | - jest-validate: 27.3.1 | 7389 | + jest-haste-map: 27.4.0 |
7390 | + jest-pnp-resolver: 1.2.2_jest-resolve@27.4.0 | ||
7391 | + jest-util: 27.4.0 | ||
7392 | + jest-validate: 27.4.0 | ||
7355 | resolve: 1.20.0 | 7393 | resolve: 1.20.0 |
7356 | resolve.exports: 1.1.0 | 7394 | resolve.exports: 1.1.0 |
7357 | slash: 3.0.0 | 7395 | slash: 3.0.0 |
7358 | dev: true | 7396 | dev: true |
7359 | 7397 | ||
7360 | - /jest-runner/27.3.1: | ||
7361 | - resolution: {integrity: sha512-r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww==} | 7398 | + /jest-runner/27.4.0: |
7399 | + resolution: {integrity: sha512-ncnnOVQlqDorBAMNTuA2Htg3XJlnwAySpUBDmlJy4+WEwb5zB2cDLA3roPSMe0lVn8mGGXccl1/a8xwvE6txiQ==} | ||
7362 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7400 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7363 | dependencies: | 7401 | dependencies: |
7364 | - '@jest/console': 27.3.1 | ||
7365 | - '@jest/environment': 27.3.1 | ||
7366 | - '@jest/test-result': 27.3.1 | ||
7367 | - '@jest/transform': 27.3.1 | ||
7368 | - '@jest/types': 27.2.5 | 7402 | + '@jest/console': 27.4.0 |
7403 | + '@jest/environment': 27.4.0 | ||
7404 | + '@jest/test-result': 27.4.0 | ||
7405 | + '@jest/transform': 27.4.0 | ||
7406 | + '@jest/types': 27.4.0 | ||
7369 | '@types/node': 16.11.10 | 7407 | '@types/node': 16.11.10 |
7370 | chalk: 4.1.2 | 7408 | chalk: 4.1.2 |
7371 | emittery: 0.8.1 | 7409 | emittery: 0.8.1 |
7372 | exit: 0.1.2 | 7410 | exit: 0.1.2 |
7373 | graceful-fs: 4.2.8 | 7411 | graceful-fs: 4.2.8 |
7374 | - jest-docblock: 27.0.6 | ||
7375 | - jest-environment-jsdom: 27.3.1 | ||
7376 | - jest-environment-node: 27.3.1 | ||
7377 | - jest-haste-map: 27.3.1 | ||
7378 | - jest-leak-detector: 27.3.1 | ||
7379 | - jest-message-util: 27.3.1 | ||
7380 | - jest-resolve: 27.3.1 | ||
7381 | - jest-runtime: 27.3.1 | ||
7382 | - jest-util: 27.3.1 | ||
7383 | - jest-worker: 27.3.1 | 7412 | + jest-docblock: 27.4.0 |
7413 | + jest-environment-jsdom: 27.4.0 | ||
7414 | + jest-environment-node: 27.4.0 | ||
7415 | + jest-haste-map: 27.4.0 | ||
7416 | + jest-leak-detector: 27.4.0 | ||
7417 | + jest-message-util: 27.4.0 | ||
7418 | + jest-resolve: 27.4.0 | ||
7419 | + jest-runtime: 27.4.0 | ||
7420 | + jest-util: 27.4.0 | ||
7421 | + jest-worker: 27.4.0 | ||
7384 | source-map-support: 0.5.21 | 7422 | source-map-support: 0.5.21 |
7385 | throat: 6.0.1 | 7423 | throat: 6.0.1 |
7386 | transitivePeerDependencies: | 7424 | transitivePeerDependencies: |
@@ -7390,17 +7428,17 @@ packages: | @@ -7390,17 +7428,17 @@ packages: | ||
7390 | - utf-8-validate | 7428 | - utf-8-validate |
7391 | dev: true | 7429 | dev: true |
7392 | 7430 | ||
7393 | - /jest-runtime/27.3.1: | ||
7394 | - resolution: {integrity: sha512-qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg==} | 7431 | + /jest-runtime/27.4.0: |
7432 | + resolution: {integrity: sha512-8IcQQFhVWWNq45wuDYooIDNdmhOVebOsIDOfXN/Xbw4h/6G1qy9+i5OND7Qmb4g+cSawK5C2tAdHcdR8Q9eSew==} | ||
7395 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7433 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7396 | dependencies: | 7434 | dependencies: |
7397 | - '@jest/console': 27.3.1 | ||
7398 | - '@jest/environment': 27.3.1 | ||
7399 | - '@jest/globals': 27.3.1 | ||
7400 | - '@jest/source-map': 27.0.6 | ||
7401 | - '@jest/test-result': 27.3.1 | ||
7402 | - '@jest/transform': 27.3.1 | ||
7403 | - '@jest/types': 27.2.5 | 7435 | + '@jest/console': 27.4.0 |
7436 | + '@jest/environment': 27.4.0 | ||
7437 | + '@jest/globals': 27.4.0 | ||
7438 | + '@jest/source-map': 27.4.0 | ||
7439 | + '@jest/test-result': 27.4.0 | ||
7440 | + '@jest/transform': 27.4.0 | ||
7441 | + '@jest/types': 27.4.0 | ||
7404 | '@types/yargs': 16.0.4 | 7442 | '@types/yargs': 16.0.4 |
7405 | chalk: 4.1.2 | 7443 | chalk: 4.1.2 |
7406 | cjs-module-lexer: 1.2.2 | 7444 | cjs-module-lexer: 1.2.2 |
@@ -7409,14 +7447,14 @@ packages: | @@ -7409,14 +7447,14 @@ packages: | ||
7409 | exit: 0.1.2 | 7447 | exit: 0.1.2 |
7410 | glob: 7.2.0 | 7448 | glob: 7.2.0 |
7411 | graceful-fs: 4.2.8 | 7449 | graceful-fs: 4.2.8 |
7412 | - jest-haste-map: 27.3.1 | ||
7413 | - jest-message-util: 27.3.1 | ||
7414 | - jest-mock: 27.3.0 | ||
7415 | - jest-regex-util: 27.0.6 | ||
7416 | - jest-resolve: 27.3.1 | ||
7417 | - jest-snapshot: 27.3.1 | ||
7418 | - jest-util: 27.3.1 | ||
7419 | - jest-validate: 27.3.1 | 7450 | + jest-haste-map: 27.4.0 |
7451 | + jest-message-util: 27.4.0 | ||
7452 | + jest-mock: 27.4.0 | ||
7453 | + jest-regex-util: 27.4.0 | ||
7454 | + jest-resolve: 27.4.0 | ||
7455 | + jest-snapshot: 27.4.0 | ||
7456 | + jest-util: 27.4.0 | ||
7457 | + jest-validate: 27.4.0 | ||
7420 | slash: 3.0.0 | 7458 | slash: 3.0.0 |
7421 | strip-bom: 4.0.0 | 7459 | strip-bom: 4.0.0 |
7422 | yargs: 16.2.0 | 7460 | yargs: 16.2.0 |
@@ -7424,16 +7462,16 @@ packages: | @@ -7424,16 +7462,16 @@ packages: | ||
7424 | - supports-color | 7462 | - supports-color |
7425 | dev: true | 7463 | dev: true |
7426 | 7464 | ||
7427 | - /jest-serializer/27.0.6: | ||
7428 | - resolution: {integrity: sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==} | 7465 | + /jest-serializer/27.4.0: |
7466 | + resolution: {integrity: sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==} | ||
7429 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7467 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7430 | dependencies: | 7468 | dependencies: |
7431 | '@types/node': 16.11.10 | 7469 | '@types/node': 16.11.10 |
7432 | graceful-fs: 4.2.8 | 7470 | graceful-fs: 4.2.8 |
7433 | dev: true | 7471 | dev: true |
7434 | 7472 | ||
7435 | - /jest-snapshot/27.3.1: | ||
7436 | - resolution: {integrity: sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg==} | 7473 | + /jest-snapshot/27.4.0: |
7474 | + resolution: {integrity: sha512-iOisfzB00tQE/rk+LzLzjbjElT4Lq26ZrYHX/1OfhVb7IZbu/2i4bkS7YK3fimfw3zleWRTleUMCmWGi+GCjpQ==} | ||
7437 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7475 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7438 | dependencies: | 7476 | dependencies: |
7439 | '@babel/core': 7.16.0 | 7477 | '@babel/core': 7.16.0 |
@@ -7442,23 +7480,23 @@ packages: | @@ -7442,23 +7480,23 @@ packages: | ||
7442 | '@babel/plugin-syntax-typescript': 7.16.0_@babel+core@7.16.0 | 7480 | '@babel/plugin-syntax-typescript': 7.16.0_@babel+core@7.16.0 |
7443 | '@babel/traverse': 7.16.3 | 7481 | '@babel/traverse': 7.16.3 |
7444 | '@babel/types': 7.16.0 | 7482 | '@babel/types': 7.16.0 |
7445 | - '@jest/transform': 27.3.1 | ||
7446 | - '@jest/types': 27.2.5 | 7483 | + '@jest/transform': 27.4.0 |
7484 | + '@jest/types': 27.4.0 | ||
7447 | '@types/babel__traverse': 7.14.2 | 7485 | '@types/babel__traverse': 7.14.2 |
7448 | '@types/prettier': 2.4.2 | 7486 | '@types/prettier': 2.4.2 |
7449 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 | 7487 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 |
7450 | chalk: 4.1.2 | 7488 | chalk: 4.1.2 |
7451 | - expect: 27.3.1 | 7489 | + expect: 27.4.0 |
7452 | graceful-fs: 4.2.8 | 7490 | graceful-fs: 4.2.8 |
7453 | - jest-diff: 27.3.1 | ||
7454 | - jest-get-type: 27.3.1 | ||
7455 | - jest-haste-map: 27.3.1 | ||
7456 | - jest-matcher-utils: 27.3.1 | ||
7457 | - jest-message-util: 27.3.1 | ||
7458 | - jest-resolve: 27.3.1 | ||
7459 | - jest-util: 27.3.1 | 7491 | + jest-diff: 27.4.0 |
7492 | + jest-get-type: 27.4.0 | ||
7493 | + jest-haste-map: 27.4.0 | ||
7494 | + jest-matcher-utils: 27.4.0 | ||
7495 | + jest-message-util: 27.4.0 | ||
7496 | + jest-resolve: 27.4.0 | ||
7497 | + jest-util: 27.4.0 | ||
7460 | natural-compare: 1.4.0 | 7498 | natural-compare: 1.4.0 |
7461 | - pretty-format: 27.3.1 | 7499 | + pretty-format: 27.4.0 |
7462 | semver: 7.3.5 | 7500 | semver: 7.3.5 |
7463 | transitivePeerDependencies: | 7501 | transitivePeerDependencies: |
7464 | - supports-color | 7502 | - supports-color |
@@ -7476,28 +7514,40 @@ packages: | @@ -7476,28 +7514,40 @@ packages: | ||
7476 | picomatch: 2.3.0 | 7514 | picomatch: 2.3.0 |
7477 | dev: true | 7515 | dev: true |
7478 | 7516 | ||
7479 | - /jest-validate/27.3.1: | ||
7480 | - resolution: {integrity: sha512-3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q==} | 7517 | + /jest-util/27.4.0: |
7518 | + resolution: {integrity: sha512-9HL5h/IWeg2u2dt0UIiseVRCnadh7CMPD4B9AeoEO23/NofaEfcPzIfl8dw45CpGHjP+xenw1viQYMd25DWquA==} | ||
7481 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7519 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7482 | dependencies: | 7520 | dependencies: |
7483 | - '@jest/types': 27.2.5 | 7521 | + '@jest/types': 27.4.0 |
7522 | + '@types/node': 16.11.10 | ||
7523 | + chalk: 4.1.2 | ||
7524 | + ci-info: 3.3.0 | ||
7525 | + graceful-fs: 4.2.8 | ||
7526 | + picomatch: 2.3.0 | ||
7527 | + dev: true | ||
7528 | + | ||
7529 | + /jest-validate/27.4.0: | ||
7530 | + resolution: {integrity: sha512-Gsfh/KtS7fXDNzz3oKmB1F8dFVqWwqOwhUqEHhKM8Y0R0bJK8R2HLiuqKfnqfbuybdiGiVdzqaK5c0poZaQAew==} | ||
7531 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
7532 | + dependencies: | ||
7533 | + '@jest/types': 27.4.0 | ||
7484 | camelcase: 6.2.1 | 7534 | camelcase: 6.2.1 |
7485 | chalk: 4.1.2 | 7535 | chalk: 4.1.2 |
7486 | - jest-get-type: 27.3.1 | 7536 | + jest-get-type: 27.4.0 |
7487 | leven: 3.1.0 | 7537 | leven: 3.1.0 |
7488 | - pretty-format: 27.3.1 | 7538 | + pretty-format: 27.4.0 |
7489 | dev: true | 7539 | dev: true |
7490 | 7540 | ||
7491 | - /jest-watcher/27.3.1: | ||
7492 | - resolution: {integrity: sha512-9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA==} | 7541 | + /jest-watcher/27.4.0: |
7542 | + resolution: {integrity: sha512-0ZXzsp/NArW6IXxo4g7DP/nCJqS/OLCZyl08qzd8ANGSEoTsliivBumjUK5/0gvx/K4Oc60APNyTMfJJ6WENcg==} | ||
7493 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7543 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7494 | dependencies: | 7544 | dependencies: |
7495 | - '@jest/test-result': 27.3.1 | ||
7496 | - '@jest/types': 27.2.5 | 7545 | + '@jest/test-result': 27.4.0 |
7546 | + '@jest/types': 27.4.0 | ||
7497 | '@types/node': 16.11.10 | 7547 | '@types/node': 16.11.10 |
7498 | ansi-escapes: 4.3.2 | 7548 | ansi-escapes: 4.3.2 |
7499 | chalk: 4.1.2 | 7549 | chalk: 4.1.2 |
7500 | - jest-util: 27.3.1 | 7550 | + jest-util: 27.4.0 |
7501 | string-length: 4.0.2 | 7551 | string-length: 4.0.2 |
7502 | dev: true | 7552 | dev: true |
7503 | 7553 | ||
@@ -7510,8 +7560,8 @@ packages: | @@ -7510,8 +7560,8 @@ packages: | ||
7510 | supports-color: 7.2.0 | 7560 | supports-color: 7.2.0 |
7511 | dev: true | 7561 | dev: true |
7512 | 7562 | ||
7513 | - /jest-worker/27.3.1: | ||
7514 | - resolution: {integrity: sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==} | 7563 | + /jest-worker/27.4.0: |
7564 | + resolution: {integrity: sha512-4WuKcUxtzxBoKOUFbt1MtTY9fJwPVD4aN/4Cgxee7OLetPZn5as2bjfZz98XSf2Zq1JFfhqPZpS+43BmWXKgCA==} | ||
7515 | engines: {node: '>= 10.13.0'} | 7565 | engines: {node: '>= 10.13.0'} |
7516 | dependencies: | 7566 | dependencies: |
7517 | '@types/node': 16.11.10 | 7567 | '@types/node': 16.11.10 |
@@ -7519,8 +7569,8 @@ packages: | @@ -7519,8 +7569,8 @@ packages: | ||
7519 | supports-color: 8.1.1 | 7569 | supports-color: 8.1.1 |
7520 | dev: true | 7570 | dev: true |
7521 | 7571 | ||
7522 | - /jest/27.3.1_ts-node@10.4.0: | ||
7523 | - resolution: {integrity: sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng==} | 7572 | + /jest/27.4.0_ts-node@10.4.0: |
7573 | + resolution: {integrity: sha512-54SYE6EmGRoHS+9/OCspbb7tAD2WYAvBBXmny2Zp39/QgnNIWZD4KujhAZyRXHWASTBa9/WfXM2oekNBIOFV2A==} | ||
7524 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 7574 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
7525 | hasBin: true | 7575 | hasBin: true |
7526 | peerDependencies: | 7576 | peerDependencies: |
@@ -7529,9 +7579,9 @@ packages: | @@ -7529,9 +7579,9 @@ packages: | ||
7529 | node-notifier: | 7579 | node-notifier: |
7530 | optional: true | 7580 | optional: true |
7531 | dependencies: | 7581 | dependencies: |
7532 | - '@jest/core': 27.3.1_ts-node@10.4.0 | 7582 | + '@jest/core': 27.4.0_ts-node@10.4.0 |
7533 | import-local: 3.0.3 | 7583 | import-local: 3.0.3 |
7534 | - jest-cli: 27.3.1_ts-node@10.4.0 | 7584 | + jest-cli: 27.4.0_ts-node@10.4.0 |
7535 | transitivePeerDependencies: | 7585 | transitivePeerDependencies: |
7536 | - bufferutil | 7586 | - bufferutil |
7537 | - canvas | 7587 | - canvas |
@@ -9178,6 +9228,16 @@ packages: | @@ -9178,6 +9228,16 @@ packages: | ||
9178 | react-is: 17.0.2 | 9228 | react-is: 17.0.2 |
9179 | dev: true | 9229 | dev: true |
9180 | 9230 | ||
9231 | + /pretty-format/27.4.0: | ||
9232 | + resolution: {integrity: sha512-n0QR6hMREfp6nLzfVksXMAfIxk1ffOOfbb/FzKHFmRtn9iJKaZXB8WMzLr8a72IASShEAhqK06nlwp1gVWgqKg==} | ||
9233 | + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | ||
9234 | + dependencies: | ||
9235 | + '@jest/types': 27.4.0 | ||
9236 | + ansi-regex: 5.0.1 | ||
9237 | + ansi-styles: 5.2.0 | ||
9238 | + react-is: 17.0.2 | ||
9239 | + dev: true | ||
9240 | + | ||
9181 | /print-js/1.6.0: | 9241 | /print-js/1.6.0: |
9182 | resolution: {integrity: sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==} | 9242 | resolution: {integrity: sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==} |
9183 | dev: false | 9243 | dev: false |
@@ -10820,7 +10880,7 @@ packages: | @@ -10820,7 +10880,7 @@ packages: | ||
10820 | escape-string-regexp: 1.0.5 | 10880 | escape-string-regexp: 1.0.5 |
10821 | dev: true | 10881 | dev: true |
10822 | 10882 | ||
10823 | - /ts-jest/27.0.7_7e2a439bb7b53c38ff0c1a3c5e04c2c5: | 10883 | + /ts-jest/27.0.7_bfad92f4d8caf69d57ace222bbbf1afc: |
10824 | resolution: {integrity: sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q==} | 10884 | resolution: {integrity: sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q==} |
10825 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} | 10885 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} |
10826 | hasBin: true | 10886 | hasBin: true |
@@ -10841,7 +10901,7 @@ packages: | @@ -10841,7 +10901,7 @@ packages: | ||
10841 | '@types/jest': 27.0.3 | 10901 | '@types/jest': 27.0.3 |
10842 | bs-logger: 0.2.6 | 10902 | bs-logger: 0.2.6 |
10843 | fast-json-stable-stringify: 2.1.0 | 10903 | fast-json-stable-stringify: 2.1.0 |
10844 | - jest: 27.3.1_ts-node@10.4.0 | 10904 | + jest: 27.4.0_ts-node@10.4.0 |
10845 | jest-util: 27.3.1 | 10905 | jest-util: 27.3.1 |
10846 | json5: 2.2.0 | 10906 | json5: 2.2.0 |
10847 | lodash.memoize: 4.1.2 | 10907 | lodash.memoize: 4.1.2 |
@@ -11279,13 +11339,13 @@ packages: | @@ -11279,13 +11339,13 @@ packages: | ||
11279 | - supports-color | 11339 | - supports-color |
11280 | dev: true | 11340 | dev: true |
11281 | 11341 | ||
11282 | - /vite-plugin-pwa/0.11.7_vite@2.7.0-beta.9: | ||
11283 | - resolution: {integrity: sha512-sU+VrUNVP87E79GCCBTusdoiqja3Qapsrp48+xFDf28zaeNZ2nuuCoCIPshmyusGuY0I51wRFxiBjcbdheEBSw==} | 11342 | + /vite-plugin-pwa/0.11.8_vite@2.7.0-beta.9: |
11343 | + resolution: {integrity: sha512-IbiVEwvvXWlm2LeNPcTjnQfYTwPN/BDicbY6Nn9LNx2ECKjjCDDraLpqFe8v7OKATAiuXnx35q4DDI7UvJoqPw==} | ||
11284 | peerDependencies: | 11344 | peerDependencies: |
11285 | vite: ^2.0.0 | 11345 | vite: ^2.0.0 |
11286 | dependencies: | 11346 | dependencies: |
11287 | chalk: 4.1.2 | 11347 | chalk: 4.1.2 |
11288 | - debug: 4.3.2 | 11348 | + debug: 4.3.3 |
11289 | fast-glob: 3.2.7 | 11349 | fast-glob: 3.2.7 |
11290 | pretty-bytes: 5.6.0 | 11350 | pretty-bytes: 5.6.0 |
11291 | rollup: 2.60.1 | 11351 | rollup: 2.60.1 |
@@ -11466,22 +11526,22 @@ packages: | @@ -11466,22 +11526,22 @@ packages: | ||
11466 | resolution: {integrity: sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==} | 11526 | resolution: {integrity: sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==} |
11467 | dev: true | 11527 | dev: true |
11468 | 11528 | ||
11469 | - /vscode-pug-languageservice/0.29.6: | ||
11470 | - resolution: {integrity: sha512-gkoM82pkCzYW+dfkLVRh22Bt3rjMT9QYl2X9lx1vV8yjeJjdYKM0vIhhio7+ZtmOO94JkdKI2YwA0K619/YEIA==} | 11529 | + /vscode-pug-languageservice/0.29.7: |
11530 | + resolution: {integrity: sha512-OJ5N6Q1CU0uFvF8kSzRIqxsKYNGnexDss54DPSxla0f1E465ddHxxRsdI+bZQ8Va3rnyLBLGmEcM0gRn75DCWA==} | ||
11471 | dependencies: | 11531 | dependencies: |
11472 | - '@volar/code-gen': 0.29.6 | ||
11473 | - '@volar/shared': 0.29.6 | ||
11474 | - '@volar/source-map': 0.29.6 | ||
11475 | - '@volar/transforms': 0.29.6 | 11532 | + '@volar/code-gen': 0.29.7 |
11533 | + '@volar/shared': 0.29.7 | ||
11534 | + '@volar/source-map': 0.29.7 | ||
11535 | + '@volar/transforms': 0.29.7 | ||
11476 | pug-lexer: 5.0.1 | 11536 | pug-lexer: 5.0.1 |
11477 | pug-parser: 6.0.0 | 11537 | pug-parser: 6.0.0 |
11478 | vscode-languageserver: 8.0.0-next.5 | 11538 | vscode-languageserver: 8.0.0-next.5 |
11479 | dev: true | 11539 | dev: true |
11480 | 11540 | ||
11481 | - /vscode-typescript-languageservice/0.29.6: | ||
11482 | - resolution: {integrity: sha512-bPfQWUw6EIDS6mlvie896IZ0RgvhtehZIAWB/fmqPFH5FU/tEcGj4E3y9pZEwCtG9xUtBbW6UcVI71HmrOXB+Q==} | 11541 | + /vscode-typescript-languageservice/0.29.7: |
11542 | + resolution: {integrity: sha512-paqAiBPB3alZ/tnPHYf4y35+ob167r3YNZHWS1w7gKHqhnz/pOtdZG6MSya0FmSBRk9XdV//5xo3qZ5zZRCxjg==} | ||
11483 | dependencies: | 11543 | dependencies: |
11484 | - '@volar/shared': 0.29.6 | 11544 | + '@volar/shared': 0.29.7 |
11485 | semver: 7.3.5 | 11545 | semver: 7.3.5 |
11486 | upath: 2.0.1 | 11546 | upath: 2.0.1 |
11487 | vscode-languageserver: 8.0.0-next.5 | 11547 | vscode-languageserver: 8.0.0-next.5 |
@@ -11496,18 +11556,18 @@ packages: | @@ -11496,18 +11556,18 @@ packages: | ||
11496 | resolution: {integrity: sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==} | 11556 | resolution: {integrity: sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==} |
11497 | dev: true | 11557 | dev: true |
11498 | 11558 | ||
11499 | - /vscode-vue-languageservice/0.29.6: | ||
11500 | - resolution: {integrity: sha512-5qZY6wMxDdMC82uye5EiUcWEHci06an4liYFMDHO9h0VpulLifLN0L3jAUNGfgAMSnevKqzgvY6FsxEDxDR/8g==} | 11559 | + /vscode-vue-languageservice/0.29.7: |
11560 | + resolution: {integrity: sha512-YKIVJMLNmB81/D+z9hNMaSsn/4809bClYk5jk3X78zskGE7nIV9KfjhqY0LiO/SneF1ypvIxz/xJeEBILhDGBg==} | ||
11501 | dependencies: | 11561 | dependencies: |
11502 | - '@volar/code-gen': 0.29.6 | ||
11503 | - '@volar/html2pug': 0.29.6 | ||
11504 | - '@volar/shared': 0.29.6 | ||
11505 | - '@volar/source-map': 0.29.6 | ||
11506 | - '@volar/transforms': 0.29.6 | ||
11507 | - '@volar/vue-code-gen': 0.29.6 | 11562 | + '@volar/code-gen': 0.29.7 |
11563 | + '@volar/html2pug': 0.29.7 | ||
11564 | + '@volar/shared': 0.29.7 | ||
11565 | + '@volar/source-map': 0.29.7 | ||
11566 | + '@volar/transforms': 0.29.7 | ||
11567 | + '@volar/vue-code-gen': 0.29.7 | ||
11508 | '@vscode/emmet-helper': 2.8.2 | 11568 | '@vscode/emmet-helper': 2.8.2 |
11509 | - '@vue/reactivity': 3.2.22 | ||
11510 | - '@vue/shared': 3.2.22 | 11569 | + '@vue/reactivity': 3.2.23 |
11570 | + '@vue/shared': 3.2.23 | ||
11511 | request-light: 0.5.5 | 11571 | request-light: 0.5.5 |
11512 | upath: 2.0.1 | 11572 | upath: 2.0.1 |
11513 | vscode-css-languageservice: 5.1.8 | 11573 | vscode-css-languageservice: 5.1.8 |
@@ -11515,8 +11575,8 @@ packages: | @@ -11515,8 +11575,8 @@ packages: | ||
11515 | vscode-json-languageservice: 4.1.10 | 11575 | vscode-json-languageservice: 4.1.10 |
11516 | vscode-languageserver: 8.0.0-next.5 | 11576 | vscode-languageserver: 8.0.0-next.5 |
11517 | vscode-languageserver-textdocument: 1.0.3 | 11577 | vscode-languageserver-textdocument: 1.0.3 |
11518 | - vscode-pug-languageservice: 0.29.6 | ||
11519 | - vscode-typescript-languageservice: 0.29.6 | 11578 | + vscode-pug-languageservice: 0.29.7 |
11579 | + vscode-typescript-languageservice: 0.29.7 | ||
11520 | dev: true | 11580 | dev: true |
11521 | 11581 | ||
11522 | /vue-demi/0.12.1_vue@3.2.23: | 11582 | /vue-demi/0.12.1_vue@3.2.23: |
@@ -11583,15 +11643,15 @@ packages: | @@ -11583,15 +11643,15 @@ packages: | ||
11583 | vue: 3.2.23 | 11643 | vue: 3.2.23 |
11584 | dev: false | 11644 | dev: false |
11585 | 11645 | ||
11586 | - /vue-tsc/0.29.6_typescript@4.5.2: | ||
11587 | - resolution: {integrity: sha512-P0vBtyS19vacn97qJtx+ZaJzPq/vNA42D8oe+FT9dhCeiey3+nvuyzHVzYGK1/AQYaMGq6FAP+scK1hQtSQk7g==} | 11646 | + /vue-tsc/0.29.7_typescript@4.5.2: |
11647 | + resolution: {integrity: sha512-8jCGovixOZgV6Qu9nOyoTon3HUNUG9YD8cnMHUCGqdu/H21P5D+4k/d8rHzpGvbUlwq5dP2pFCx6rmRwfTfDmA==} | ||
11588 | hasBin: true | 11648 | hasBin: true |
11589 | peerDependencies: | 11649 | peerDependencies: |
11590 | typescript: '*' | 11650 | typescript: '*' |
11591 | dependencies: | 11651 | dependencies: |
11592 | - '@volar/shared': 0.29.6 | 11652 | + '@volar/shared': 0.29.7 |
11593 | typescript: 4.5.2 | 11653 | typescript: 4.5.2 |
11594 | - vscode-vue-languageservice: 0.29.6 | 11654 | + vscode-vue-languageservice: 0.29.7 |
11595 | dev: true | 11655 | dev: true |
11596 | 11656 | ||
11597 | /vue-types/3.0.2_vue@3.2.23: | 11657 | /vue-types/3.0.2_vue@3.2.23: |
src/components/Tree/index.ts
1 | import BasicTree from './src/Tree.vue'; | 1 | import BasicTree from './src/Tree.vue'; |
2 | +import './style'; | ||
2 | 3 | ||
3 | export { BasicTree }; | 4 | export { BasicTree }; |
4 | export type { ContextMenuItem } from '/@/hooks/web/useContextMenu'; | 5 | export type { ContextMenuItem } from '/@/hooks/web/useContextMenu'; |
5 | -export * from './src/typing'; | 6 | +export * from './src/tree'; |
src/components/Tree/src/Tree.vue
1 | <script lang="tsx"> | 1 | <script lang="tsx"> |
2 | - import type { ReplaceFields, Keys, CheckKeys, TreeActionType, TreeItem } from './typing'; | ||
3 | - import type { CheckEvent } from './typing'; | 2 | + import type { CSSProperties } from 'vue'; |
3 | + import type { FieldNames, TreeState, TreeItem, KeyType, CheckKeys, TreeActionType } from './tree'; | ||
4 | 4 | ||
5 | import { | 5 | import { |
6 | defineComponent, | 6 | defineComponent, |
@@ -11,43 +11,31 @@ | @@ -11,43 +11,31 @@ | ||
11 | watchEffect, | 11 | watchEffect, |
12 | toRaw, | 12 | toRaw, |
13 | watch, | 13 | watch, |
14 | - CSSProperties, | ||
15 | onMounted, | 14 | onMounted, |
16 | } from 'vue'; | 15 | } from 'vue'; |
17 | import { Tree, Empty } from 'ant-design-vue'; | 16 | import { Tree, Empty } from 'ant-design-vue'; |
18 | import { TreeIcon } from './TreeIcon'; | 17 | import { TreeIcon } from './TreeIcon'; |
19 | import { ScrollContainer } from '/@/components/Container'; | 18 | import { ScrollContainer } from '/@/components/Container'; |
20 | - import { omit, get, difference } from 'lodash-es'; | 19 | + import { omit, get, difference, cloneDeep } from 'lodash-es'; |
21 | import { isArray, isBoolean, isEmpty, isFunction } from '/@/utils/is'; | 20 | import { isArray, isBoolean, isEmpty, isFunction } from '/@/utils/is'; |
22 | import { extendSlots, getSlot } from '/@/utils/helper/tsxHelper'; | 21 | import { extendSlots, getSlot } from '/@/utils/helper/tsxHelper'; |
23 | import { filter, treeToList } from '/@/utils/helper/treeHelper'; | 22 | import { filter, treeToList } from '/@/utils/helper/treeHelper'; |
24 | import { useTree } from './useTree'; | 23 | import { useTree } from './useTree'; |
25 | import { useContextMenu } from '/@/hooks/web/useContextMenu'; | 24 | import { useContextMenu } from '/@/hooks/web/useContextMenu'; |
26 | - import { useDesign } from '/@/hooks/web/useDesign'; | ||
27 | - import { basicProps } from './props'; | ||
28 | import { CreateContextOptions } from '/@/components/ContextMenu'; | 25 | import { CreateContextOptions } from '/@/components/ContextMenu'; |
29 | import TreeHeader from './TreeHeader.vue'; | 26 | import TreeHeader from './TreeHeader.vue'; |
27 | + import { treeEmits, treeProps } from './tree'; | ||
28 | + import { createBEM } from '/@/utils/bem'; | ||
30 | 29 | ||
31 | - interface State { | ||
32 | - expandedKeys: Keys; | ||
33 | - selectedKeys: Keys; | ||
34 | - checkedKeys: CheckKeys; | ||
35 | - checkStrictly: boolean; | ||
36 | - } | ||
37 | export default defineComponent({ | 30 | export default defineComponent({ |
38 | name: 'BasicTree', | 31 | name: 'BasicTree', |
39 | inheritAttrs: false, | 32 | inheritAttrs: false, |
40 | - props: basicProps, | ||
41 | - emits: [ | ||
42 | - 'update:expandedKeys', | ||
43 | - 'update:selectedKeys', | ||
44 | - 'update:value', | ||
45 | - 'change', | ||
46 | - 'check', | ||
47 | - 'update:searchValue', | ||
48 | - ], | 33 | + props: treeProps, |
34 | + emits: treeEmits, | ||
49 | setup(props, { attrs, slots, emit, expose }) { | 35 | setup(props, { attrs, slots, emit, expose }) { |
50 | - const state = reactive<State>({ | 36 | + const [bem] = createBEM('tree'); |
37 | + | ||
38 | + const state = reactive<TreeState>({ | ||
51 | checkStrictly: props.checkStrictly, | 39 | checkStrictly: props.checkStrictly, |
52 | expandedKeys: props.expandedKeys || [], | 40 | expandedKeys: props.expandedKeys || [], |
53 | selectedKeys: props.selectedKeys || [], | 41 | selectedKeys: props.selectedKeys || [], |
@@ -63,15 +51,14 @@ | @@ -63,15 +51,14 @@ | ||
63 | const treeDataRef = ref<TreeItem[]>([]); | 51 | const treeDataRef = ref<TreeItem[]>([]); |
64 | 52 | ||
65 | const [createContextMenu] = useContextMenu(); | 53 | const [createContextMenu] = useContextMenu(); |
66 | - const { prefixCls } = useDesign('basic-tree'); | ||
67 | 54 | ||
68 | - const getReplaceFields = computed((): Required<ReplaceFields> => { | ||
69 | - const { replaceFields } = props; | 55 | + const getFieldNames = computed((): Required<FieldNames> => { |
56 | + const { fieldNames } = props; | ||
70 | return { | 57 | return { |
71 | children: 'children', | 58 | children: 'children', |
72 | title: 'title', | 59 | title: 'title', |
73 | key: 'key', | 60 | key: 'key', |
74 | - ...replaceFields, | 61 | + ...fieldNames, |
75 | }; | 62 | }; |
76 | }); | 63 | }); |
77 | 64 | ||
@@ -84,19 +71,19 @@ | @@ -84,19 +71,19 @@ | ||
84 | selectedKeys: state.selectedKeys, | 71 | selectedKeys: state.selectedKeys, |
85 | checkedKeys: state.checkedKeys, | 72 | checkedKeys: state.checkedKeys, |
86 | checkStrictly: state.checkStrictly, | 73 | checkStrictly: state.checkStrictly, |
87 | - replaceFields: unref(getReplaceFields), | ||
88 | - 'onUpdate:expandedKeys': (v: Keys) => { | 74 | + filedNames: unref(getFieldNames), |
75 | + 'onUpdate:expandedKeys': (v: KeyType[]) => { | ||
89 | state.expandedKeys = v; | 76 | state.expandedKeys = v; |
90 | emit('update:expandedKeys', v); | 77 | emit('update:expandedKeys', v); |
91 | }, | 78 | }, |
92 | - 'onUpdate:selectedKeys': (v: Keys) => { | 79 | + 'onUpdate:selectedKeys': (v: KeyType[]) => { |
93 | state.selectedKeys = v; | 80 | state.selectedKeys = v; |
94 | emit('update:selectedKeys', v); | 81 | emit('update:selectedKeys', v); |
95 | }, | 82 | }, |
96 | - onCheck: (v: CheckKeys, e: CheckEvent) => { | ||
97 | - let currentValue = toRaw(state.checkedKeys) as Keys; | 83 | + onCheck: (v: CheckKeys, e) => { |
84 | + let currentValue = toRaw(state.checkedKeys) as KeyType[]; | ||
98 | if (isArray(currentValue) && searchState.startSearch) { | 85 | if (isArray(currentValue) && searchState.startSearch) { |
99 | - const { key } = unref(getReplaceFields); | 86 | + const { key } = unref(getFieldNames); |
100 | currentValue = difference(currentValue, getChildrenKeys(e.node.$attrs.node[key])); | 87 | currentValue = difference(currentValue, getChildrenKeys(e.node.$attrs.node[key])); |
101 | if (e.checked) { | 88 | if (e.checked) { |
102 | currentValue.push(e.node.$attrs.node[key]); | 89 | currentValue.push(e.node.$attrs.node[key]); |
@@ -132,7 +119,7 @@ | @@ -132,7 +119,7 @@ | ||
132 | getAllKeys, | 119 | getAllKeys, |
133 | getChildrenKeys, | 120 | getChildrenKeys, |
134 | getEnabledKeys, | 121 | getEnabledKeys, |
135 | - } = useTree(treeDataRef, getReplaceFields); | 122 | + } = useTree(treeDataRef, getFieldNames); |
136 | 123 | ||
137 | function getIcon(params: Recordable, icon?: string) { | 124 | function getIcon(params: Recordable, icon?: string) { |
138 | if (!icon) { | 125 | if (!icon) { |
@@ -161,14 +148,14 @@ | @@ -161,14 +148,14 @@ | ||
161 | createContextMenu(contextMenuOptions); | 148 | createContextMenu(contextMenuOptions); |
162 | } | 149 | } |
163 | 150 | ||
164 | - function setExpandedKeys(keys: Keys) { | 151 | + function setExpandedKeys(keys: KeyType[]) { |
165 | state.expandedKeys = keys; | 152 | state.expandedKeys = keys; |
166 | } | 153 | } |
167 | 154 | ||
168 | function getExpandedKeys() { | 155 | function getExpandedKeys() { |
169 | return state.expandedKeys; | 156 | return state.expandedKeys; |
170 | } | 157 | } |
171 | - function setSelectedKeys(keys: Keys) { | 158 | + function setSelectedKeys(keys: KeyType[]) { |
172 | state.selectedKeys = keys; | 159 | state.selectedKeys = keys; |
173 | } | 160 | } |
174 | 161 | ||
@@ -185,11 +172,11 @@ | @@ -185,11 +172,11 @@ | ||
185 | } | 172 | } |
186 | 173 | ||
187 | function checkAll(checkAll: boolean) { | 174 | function checkAll(checkAll: boolean) { |
188 | - state.checkedKeys = checkAll ? getEnabledKeys() : ([] as Keys); | 175 | + state.checkedKeys = checkAll ? getEnabledKeys() : ([] as KeyType[]); |
189 | } | 176 | } |
190 | 177 | ||
191 | function expandAll(expandAll: boolean) { | 178 | function expandAll(expandAll: boolean) { |
192 | - state.expandedKeys = expandAll ? getAllKeys() : ([] as Keys); | 179 | + state.expandedKeys = expandAll ? getAllKeys() : ([] as KeyType[]); |
193 | } | 180 | } |
194 | 181 | ||
195 | function onStrictlyChange(strictly: boolean) { | 182 | function onStrictlyChange(strictly: boolean) { |
@@ -227,21 +214,21 @@ | @@ -227,21 +214,21 @@ | ||
227 | const { filterFn, checkable, expandOnSearch, checkOnSearch, selectedOnSearch } = | 214 | const { filterFn, checkable, expandOnSearch, checkOnSearch, selectedOnSearch } = |
228 | unref(props); | 215 | unref(props); |
229 | searchState.startSearch = true; | 216 | searchState.startSearch = true; |
230 | - const { title: titleField, key: keyField } = unref(getReplaceFields); | 217 | + const { title: titleField, key: keyField } = unref(getFieldNames); |
231 | 218 | ||
232 | const matchedKeys: string[] = []; | 219 | const matchedKeys: string[] = []; |
233 | searchState.searchData = filter( | 220 | searchState.searchData = filter( |
234 | unref(treeDataRef), | 221 | unref(treeDataRef), |
235 | (node) => { | 222 | (node) => { |
236 | const result = filterFn | 223 | const result = filterFn |
237 | - ? filterFn(searchValue, node, unref(getReplaceFields)) | 224 | + ? filterFn(searchValue, node, unref(getFieldNames)) |
238 | : node[titleField]?.includes(searchValue) ?? false; | 225 | : node[titleField]?.includes(searchValue) ?? false; |
239 | if (result) { | 226 | if (result) { |
240 | matchedKeys.push(node[keyField]); | 227 | matchedKeys.push(node[keyField]); |
241 | } | 228 | } |
242 | return result; | 229 | return result; |
243 | }, | 230 | }, |
244 | - unref(getReplaceFields), | 231 | + unref(getFieldNames), |
245 | ); | 232 | ); |
246 | 233 | ||
247 | if (expandOnSearch) { | 234 | if (expandOnSearch) { |
@@ -317,15 +304,6 @@ | @@ -317,15 +304,6 @@ | ||
317 | }, | 304 | }, |
318 | ); | 305 | ); |
319 | 306 | ||
320 | - // watchEffect(() => { | ||
321 | - // console.log('======================'); | ||
322 | - // console.log(props.value); | ||
323 | - // console.log('======================'); | ||
324 | - // if (props.value) { | ||
325 | - // state.checkedKeys = props.value; | ||
326 | - // } | ||
327 | - // }); | ||
328 | - | ||
329 | watchEffect(() => { | 307 | watchEffect(() => { |
330 | state.checkStrictly = props.checkStrictly; | 308 | state.checkStrictly = props.checkStrictly; |
331 | }); | 309 | }); |
@@ -354,8 +332,6 @@ | @@ -354,8 +332,6 @@ | ||
354 | }, | 332 | }, |
355 | }; | 333 | }; |
356 | 334 | ||
357 | - expose(instance); | ||
358 | - | ||
359 | function renderAction(node: TreeItem) { | 335 | function renderAction(node: TreeItem) { |
360 | const { actionList } = props; | 336 | const { actionList } = props; |
361 | if (!actionList || actionList.length === 0) return; | 337 | if (!actionList || actionList.length === 0) return; |
@@ -370,29 +346,25 @@ | @@ -370,29 +346,25 @@ | ||
370 | if (!nodeShow) return null; | 346 | if (!nodeShow) return null; |
371 | 347 | ||
372 | return ( | 348 | return ( |
373 | - <span key={index} class={`${prefixCls}__action`}> | 349 | + <span key={index} class={bem('action')}> |
374 | {item.render(node)} | 350 | {item.render(node)} |
375 | </span> | 351 | </span> |
376 | ); | 352 | ); |
377 | }); | 353 | }); |
378 | } | 354 | } |
379 | 355 | ||
380 | - function renderTreeNode({ data, level }: { data: TreeItem[] | undefined; level: number }) { | ||
381 | - if (!data) { | ||
382 | - return null; | ||
383 | - } | ||
384 | - const searchText = searchState.searchText; | ||
385 | - const { highlight } = unref(props); | ||
386 | - return data.map((item) => { | 356 | + const treeData = computed(() => { |
357 | + const data = cloneDeep(getTreeData.value); | ||
358 | + data.forEach((item) => { | ||
359 | + const searchText = searchState.searchText; | ||
360 | + const { highlight } = unref(props); | ||
387 | const { | 361 | const { |
388 | title: titleField, | 362 | title: titleField, |
389 | key: keyField, | 363 | key: keyField, |
390 | children: childrenField, | 364 | children: childrenField, |
391 | - } = unref(getReplaceFields); | 365 | + } = unref(getFieldNames); |
392 | 366 | ||
393 | - const propsData = omit(item, 'title'); | ||
394 | - const icon = getIcon({ ...item, level }, item.icon); | ||
395 | - const children = get(item, childrenField) || []; | 367 | + const icon = getIcon(item, item.icon); |
396 | const title = get(item, titleField); | 368 | const title = get(item, titleField); |
397 | 369 | ||
398 | const searchIdx = searchText ? title.indexOf(searchText) : -1; | 370 | const searchIdx = searchText ? title.indexOf(searchText) : -1; |
@@ -401,7 +373,7 @@ | @@ -401,7 +373,7 @@ | ||
401 | const highlightStyle = `color: ${isBoolean(highlight) ? '#f50' : highlight}`; | 373 | const highlightStyle = `color: ${isBoolean(highlight) ? '#f50' : highlight}`; |
402 | 374 | ||
403 | const titleDom = isHighlight ? ( | 375 | const titleDom = isHighlight ? ( |
404 | - <span class={unref(getBindValues)?.blockNode ? `${prefixCls}__content` : ''}> | 376 | + <span class={unref(getBindValues)?.blockNode ? `${bem('content')}` : ''}> |
405 | <span>{title.substr(0, searchIdx)}</span> | 377 | <span>{title.substr(0, searchIdx)}</span> |
406 | <span style={highlightStyle}>{searchText}</span> | 378 | <span style={highlightStyle}>{searchText}</span> |
407 | <span>{title.substr(searchIdx + (searchText as string).length)}</span> | 379 | <span>{title.substr(searchIdx + (searchText as string).length)}</span> |
@@ -409,41 +381,34 @@ | @@ -409,41 +381,34 @@ | ||
409 | ) : ( | 381 | ) : ( |
410 | title | 382 | title |
411 | ); | 383 | ); |
412 | - | ||
413 | - return ( | ||
414 | - <Tree.TreeNode {...propsData} node={toRaw(item)} key={get(item, keyField)}> | ||
415 | - {{ | ||
416 | - title: () => ( | ||
417 | - <span | ||
418 | - class={`${prefixCls}-title pl-2`} | ||
419 | - onClick={handleClickNode.bind(null, item[keyField], item[childrenField])} | ||
420 | - > | ||
421 | - {item.slots?.title ? ( | ||
422 | - getSlot(slots, item.slots?.title, item) | ||
423 | - ) : ( | ||
424 | - <> | ||
425 | - {icon && <TreeIcon icon={icon} />} | ||
426 | - {titleDom} | ||
427 | - {/*{get(item, titleField)}*/} | ||
428 | - <span class={`${prefixCls}__actions`}> | ||
429 | - {renderAction({ ...item, level })} | ||
430 | - </span> | ||
431 | - </> | ||
432 | - )} | ||
433 | - </span> | ||
434 | - ), | ||
435 | - default: () => renderTreeNode({ data: children, level: level + 1 }), | ||
436 | - }} | ||
437 | - </Tree.TreeNode> | 384 | + item.title = ( |
385 | + <span | ||
386 | + class={`${bem('title')} pl-2`} | ||
387 | + onClick={handleClickNode.bind(null, item[keyField], item[childrenField])} | ||
388 | + > | ||
389 | + {item.slots?.title ? ( | ||
390 | + getSlot(slots, item.slots?.title, item) | ||
391 | + ) : ( | ||
392 | + <> | ||
393 | + {icon && <TreeIcon icon={icon} />} | ||
394 | + {titleDom} | ||
395 | + <span class={bem('actions')}>{renderAction(item)}</span> | ||
396 | + </> | ||
397 | + )} | ||
398 | + </span> | ||
438 | ); | 399 | ); |
439 | }); | 400 | }); |
440 | - } | 401 | + return data; |
402 | + }); | ||
403 | + | ||
404 | + expose(instance); | ||
405 | + | ||
441 | return () => { | 406 | return () => { |
442 | const { title, helpMessage, toolbar, search, checkable } = props; | 407 | const { title, helpMessage, toolbar, search, checkable } = props; |
443 | const showTitle = title || toolbar || search || slots.headerTitle; | 408 | const showTitle = title || toolbar || search || slots.headerTitle; |
444 | const scrollStyle: CSSProperties = { height: 'calc(100% - 38px)' }; | 409 | const scrollStyle: CSSProperties = { height: 'calc(100% - 38px)' }; |
445 | return ( | 410 | return ( |
446 | - <div class={[prefixCls, 'h-full', attrs.class]}> | 411 | + <div class={[bem(), 'h-full', attrs.class]}> |
447 | {showTitle && ( | 412 | {showTitle && ( |
448 | <TreeHeader | 413 | <TreeHeader |
449 | checkable={checkable} | 414 | checkable={checkable} |
@@ -461,15 +426,10 @@ | @@ -461,15 +426,10 @@ | ||
461 | </TreeHeader> | 426 | </TreeHeader> |
462 | )} | 427 | )} |
463 | <ScrollContainer style={scrollStyle} v-show={!unref(getNotFound)}> | 428 | <ScrollContainer style={scrollStyle} v-show={!unref(getNotFound)}> |
464 | - <Tree {...unref(getBindValues)} showIcon={false}> | ||
465 | - {{ | ||
466 | - // switcherIcon: () => <DownOutlined />, | ||
467 | - default: () => renderTreeNode({ data: unref(getTreeData), level: 1 }), | ||
468 | - ...extendSlots(slots), | ||
469 | - }} | 429 | + <Tree {...unref(getBindValues)} showIcon={false} treeData={treeData.value}> |
430 | + {extendSlots(slots)} | ||
470 | </Tree> | 431 | </Tree> |
471 | </ScrollContainer> | 432 | </ScrollContainer> |
472 | - | ||
473 | <Empty v-show={unref(getNotFound)} image={Empty.PRESENTED_IMAGE_SIMPLE} class="!mt-4" /> | 433 | <Empty v-show={unref(getNotFound)} image={Empty.PRESENTED_IMAGE_SIMPLE} class="!mt-4" /> |
474 | </div> | 434 | </div> |
475 | ); | 435 | ); |
@@ -477,50 +437,3 @@ | @@ -477,50 +437,3 @@ | ||
477 | }, | 437 | }, |
478 | }); | 438 | }); |
479 | </script> | 439 | </script> |
480 | -<style lang="less"> | ||
481 | - @prefix-cls: ~'@{namespace}-basic-tree'; | ||
482 | - | ||
483 | - .@{prefix-cls} { | ||
484 | - background-color: @component-background; | ||
485 | - | ||
486 | - .ant-tree-node-content-wrapper { | ||
487 | - position: relative; | ||
488 | - | ||
489 | - .ant-tree-title { | ||
490 | - position: absolute; | ||
491 | - left: 0; | ||
492 | - width: 100%; | ||
493 | - } | ||
494 | - } | ||
495 | - | ||
496 | - &-title { | ||
497 | - position: relative; | ||
498 | - display: flex; | ||
499 | - align-items: center; | ||
500 | - width: 100%; | ||
501 | - padding-right: 10px; | ||
502 | - | ||
503 | - &:hover { | ||
504 | - .@{prefix-cls}__action { | ||
505 | - visibility: visible; | ||
506 | - } | ||
507 | - } | ||
508 | - } | ||
509 | - | ||
510 | - &__content { | ||
511 | - overflow: hidden; | ||
512 | - } | ||
513 | - | ||
514 | - &__actions { | ||
515 | - position: absolute; | ||
516 | - top: 2px; | ||
517 | - right: 3px; | ||
518 | - display: flex; | ||
519 | - } | ||
520 | - | ||
521 | - &__action { | ||
522 | - margin-left: 4px; | ||
523 | - visibility: hidden; | ||
524 | - } | ||
525 | - } | ||
526 | -</style> |
src/components/Tree/src/TreeHeader.vue
1 | <template> | 1 | <template> |
2 | - <div class="flex px-2 py-1.5 items-center basic-tree-header"> | ||
3 | - <slot name="headerTitle" v-if="$slots.headerTitle"></slot> | ||
4 | - <BasicTitle :helpMessage="helpMessage" v-if="!$slots.headerTitle && title"> | 2 | + <div :class="bem()" class="flex px-2 py-1.5 items-center"> |
3 | + <slot name="headerTitle" v-if="slots.headerTitle"></slot> | ||
4 | + <BasicTitle :helpMessage="helpMessage" v-if="!slots.headerTitle && title"> | ||
5 | {{ title }} | 5 | {{ title }} |
6 | </BasicTitle> | 6 | </BasicTitle> |
7 | - | ||
8 | <div | 7 | <div |
9 | class="flex flex-1 justify-self-stretch items-center cursor-pointer" | 8 | class="flex flex-1 justify-self-stretch items-center cursor-pointer" |
10 | v-if="search || toolbar" | 9 | v-if="search || toolbar" |
@@ -33,148 +32,140 @@ | @@ -33,148 +32,140 @@ | ||
33 | </div> | 32 | </div> |
34 | </div> | 33 | </div> |
35 | </template> | 34 | </template> |
36 | -<script lang="ts"> | ||
37 | - import { PropType } from 'vue'; | ||
38 | - import { defineComponent, computed, ref, watch } from 'vue'; | ||
39 | - | ||
40 | - import { Dropdown, Menu, Input } from 'ant-design-vue'; | 35 | +<script lang="ts" setup> |
36 | + import { computed, ref, watch, useSlots } from 'vue'; | ||
37 | + import { Dropdown, Menu, MenuItem, MenuDivider, InputSearch } from 'ant-design-vue'; | ||
41 | import { Icon } from '/@/components/Icon'; | 38 | import { Icon } from '/@/components/Icon'; |
42 | import { BasicTitle } from '/@/components/Basic'; | 39 | import { BasicTitle } from '/@/components/Basic'; |
43 | - | ||
44 | - import { propTypes } from '/@/utils/propTypes'; | ||
45 | - | ||
46 | import { useI18n } from '/@/hooks/web/useI18n'; | 40 | import { useI18n } from '/@/hooks/web/useI18n'; |
47 | import { useDebounceFn } from '@vueuse/core'; | 41 | import { useDebounceFn } from '@vueuse/core'; |
42 | + import { createBEM } from '/@/utils/bem'; | ||
43 | + import { ToolbarEnum } from './tree'; | ||
48 | 44 | ||
49 | - enum ToolbarEnum { | ||
50 | - SELECT_ALL, | ||
51 | - UN_SELECT_ALL, | ||
52 | - EXPAND_ALL, | ||
53 | - UN_EXPAND_ALL, | ||
54 | - CHECK_STRICTLY, | ||
55 | - CHECK_UN_STRICTLY, | ||
56 | - } | 45 | + const searchValue = ref(''); |
57 | 46 | ||
58 | - interface MenuInfo { | ||
59 | - key: ToolbarEnum; | ||
60 | - } | ||
61 | - export default defineComponent({ | ||
62 | - name: 'BasicTreeHeader', | ||
63 | - components: { | ||
64 | - BasicTitle, | ||
65 | - Icon, | ||
66 | - Dropdown, | ||
67 | - Menu, | ||
68 | - MenuItem: Menu.Item, | ||
69 | - MenuDivider: Menu.Divider, | ||
70 | - InputSearch: Input.Search, | 47 | + const [bem] = createBEM('tree-header'); |
48 | + | ||
49 | + // eslint-disable vue/valid-define-emits | ||
50 | + const props = defineProps({ | ||
51 | + helpMessage: { | ||
52 | + type: [String, Array] as PropType<string | string[]>, | ||
53 | + default: '', | ||
71 | }, | 54 | }, |
72 | - props: { | ||
73 | - helpMessage: { | ||
74 | - type: [String, Array] as PropType<string | string[]>, | ||
75 | - default: '', | ||
76 | - }, | ||
77 | - title: propTypes.string, | ||
78 | - toolbar: propTypes.bool, | ||
79 | - checkable: propTypes.bool, | ||
80 | - search: propTypes.bool, | ||
81 | - checkAll: propTypes.func, | ||
82 | - expandAll: propTypes.func, | ||
83 | - searchText: propTypes.string, | 55 | + title: { |
56 | + type: String, | ||
57 | + default: '', | ||
84 | }, | 58 | }, |
85 | - emits: ['strictly-change', 'search'], | ||
86 | - setup(props, { emit, slots }) { | ||
87 | - const { t } = useI18n(); | ||
88 | - const searchValue = ref(''); | 59 | + toolbar: { |
60 | + type: Boolean, | ||
61 | + default: false, | ||
62 | + }, | ||
63 | + checkable: { | ||
64 | + type: Boolean, | ||
65 | + default: false, | ||
66 | + }, | ||
67 | + search: { | ||
68 | + type: Boolean, | ||
69 | + default: false, | ||
70 | + }, | ||
71 | + searchText: { | ||
72 | + type: String, | ||
73 | + default: '', | ||
74 | + }, | ||
75 | + checkAll: { | ||
76 | + type: Function, | ||
77 | + default: undefined, | ||
78 | + }, | ||
79 | + expandAll: { | ||
80 | + type: Function, | ||
81 | + default: undefined, | ||
82 | + }, | ||
83 | + } as const); | ||
84 | + const emit = defineEmits(['strictly-change', 'search']); | ||
89 | 85 | ||
90 | - const getInputSearchCls = computed(() => { | ||
91 | - const titleExists = slots.headerTitle || props.title; | ||
92 | - return [ | ||
93 | - 'mr-1', | ||
94 | - 'w-full', | ||
95 | - // titleExists ? 'w-2/3' : 'w-full', | ||
96 | - { | ||
97 | - ['ml-5']: titleExists, | ||
98 | - }, | ||
99 | - ]; | ||
100 | - }); | 86 | + const slots = useSlots(); |
87 | + const { t } = useI18n(); | ||
88 | + | ||
89 | + const getInputSearchCls = computed(() => { | ||
90 | + const titleExists = slots.headerTitle || props.title; | ||
91 | + return [ | ||
92 | + 'mr-1', | ||
93 | + 'w-full', | ||
94 | + { | ||
95 | + ['ml-5']: titleExists, | ||
96 | + }, | ||
97 | + ]; | ||
98 | + }); | ||
101 | 99 | ||
102 | - const toolbarList = computed(() => { | ||
103 | - const { checkable } = props; | ||
104 | - const defaultToolbarList = [ | ||
105 | - { label: t('component.tree.expandAll'), value: ToolbarEnum.EXPAND_ALL }, | 100 | + const toolbarList = computed(() => { |
101 | + const { checkable } = props; | ||
102 | + const defaultToolbarList = [ | ||
103 | + { label: t('component.tree.expandAll'), value: ToolbarEnum.EXPAND_ALL }, | ||
104 | + { | ||
105 | + label: t('component.tree.unExpandAll'), | ||
106 | + value: ToolbarEnum.UN_EXPAND_ALL, | ||
107 | + divider: checkable, | ||
108 | + }, | ||
109 | + ]; | ||
110 | + | ||
111 | + return checkable | ||
112 | + ? [ | ||
113 | + { label: t('component.tree.selectAll'), value: ToolbarEnum.SELECT_ALL }, | ||
106 | { | 114 | { |
107 | - label: t('component.tree.unExpandAll'), | ||
108 | - value: ToolbarEnum.UN_EXPAND_ALL, | 115 | + label: t('component.tree.unSelectAll'), |
116 | + value: ToolbarEnum.UN_SELECT_ALL, | ||
109 | divider: checkable, | 117 | divider: checkable, |
110 | }, | 118 | }, |
111 | - ]; | 119 | + ...defaultToolbarList, |
120 | + { label: t('component.tree.checkStrictly'), value: ToolbarEnum.CHECK_STRICTLY }, | ||
121 | + { label: t('component.tree.checkUnStrictly'), value: ToolbarEnum.CHECK_UN_STRICTLY }, | ||
122 | + ] | ||
123 | + : defaultToolbarList; | ||
124 | + }); | ||
112 | 125 | ||
113 | - return checkable | ||
114 | - ? [ | ||
115 | - { label: t('component.tree.selectAll'), value: ToolbarEnum.SELECT_ALL }, | ||
116 | - { | ||
117 | - label: t('component.tree.unSelectAll'), | ||
118 | - value: ToolbarEnum.UN_SELECT_ALL, | ||
119 | - divider: checkable, | ||
120 | - }, | ||
121 | - ...defaultToolbarList, | ||
122 | - { label: t('component.tree.checkStrictly'), value: ToolbarEnum.CHECK_STRICTLY }, | ||
123 | - { label: t('component.tree.checkUnStrictly'), value: ToolbarEnum.CHECK_UN_STRICTLY }, | ||
124 | - ] | ||
125 | - : defaultToolbarList; | ||
126 | - }); | 126 | + function handleMenuClick(e: { key: ToolbarEnum }) { |
127 | + const { key } = e; | ||
128 | + switch (key) { | ||
129 | + case ToolbarEnum.SELECT_ALL: | ||
130 | + props.checkAll?.(true); | ||
131 | + break; | ||
132 | + case ToolbarEnum.UN_SELECT_ALL: | ||
133 | + props.checkAll?.(false); | ||
134 | + break; | ||
135 | + case ToolbarEnum.EXPAND_ALL: | ||
136 | + props.expandAll?.(true); | ||
137 | + break; | ||
138 | + case ToolbarEnum.UN_EXPAND_ALL: | ||
139 | + props.expandAll?.(false); | ||
140 | + break; | ||
141 | + case ToolbarEnum.CHECK_STRICTLY: | ||
142 | + emit('strictly-change', false); | ||
143 | + break; | ||
144 | + case ToolbarEnum.CHECK_UN_STRICTLY: | ||
145 | + emit('strictly-change', true); | ||
146 | + break; | ||
147 | + } | ||
148 | + } | ||
127 | 149 | ||
128 | - function handleMenuClick(e: MenuInfo) { | ||
129 | - const { key } = e; | ||
130 | - switch (key) { | ||
131 | - case ToolbarEnum.SELECT_ALL: | ||
132 | - props.checkAll?.(true); | ||
133 | - break; | ||
134 | - case ToolbarEnum.UN_SELECT_ALL: | ||
135 | - props.checkAll?.(false); | ||
136 | - break; | ||
137 | - case ToolbarEnum.EXPAND_ALL: | ||
138 | - props.expandAll?.(true); | ||
139 | - break; | ||
140 | - case ToolbarEnum.UN_EXPAND_ALL: | ||
141 | - props.expandAll?.(false); | ||
142 | - break; | ||
143 | - case ToolbarEnum.CHECK_STRICTLY: | ||
144 | - emit('strictly-change', false); | ||
145 | - break; | ||
146 | - case ToolbarEnum.CHECK_UN_STRICTLY: | ||
147 | - emit('strictly-change', true); | ||
148 | - break; | ||
149 | - } | ||
150 | - } | 150 | + function emitChange(value?: string): void { |
151 | + emit('search', value); | ||
152 | + } | ||
151 | 153 | ||
152 | - function emitChange(value?: string): void { | ||
153 | - emit('search', value); | ||
154 | - } | ||
155 | - const debounceEmitChange = useDebounceFn(emitChange, 200); | 154 | + const debounceEmitChange = useDebounceFn(emitChange, 200); |
156 | 155 | ||
157 | - watch( | ||
158 | - () => searchValue.value, | ||
159 | - (v) => { | ||
160 | - debounceEmitChange(v); | ||
161 | - }, | ||
162 | - ); | ||
163 | - watch( | ||
164 | - () => props.searchText, | ||
165 | - (v) => { | ||
166 | - if (v !== searchValue.value) { | ||
167 | - searchValue.value = v; | ||
168 | - } | ||
169 | - }, | ||
170 | - ); | 156 | + watch( |
157 | + () => searchValue.value, | ||
158 | + (v) => { | ||
159 | + debounceEmitChange(v); | ||
160 | + }, | ||
161 | + ); | ||
171 | 162 | ||
172 | - return { t, toolbarList, handleMenuClick, searchValue, getInputSearchCls }; | 163 | + watch( |
164 | + () => props.searchText, | ||
165 | + (v) => { | ||
166 | + if (v !== searchValue.value) { | ||
167 | + searchValue.value = v; | ||
168 | + } | ||
173 | }, | 169 | }, |
174 | - }); | 170 | + ); |
175 | </script> | 171 | </script> |
176 | -<style lang="less" scoped> | ||
177 | - .basic-tree-header { | ||
178 | - border-bottom: 1px solid @border-color-base; | ||
179 | - } | ||
180 | -</style> |
src/components/Tree/src/TreeIcon.ts
1 | import type { VNode, FunctionalComponent } from 'vue'; | 1 | import type { VNode, FunctionalComponent } from 'vue'; |
2 | 2 | ||
3 | import { h } from 'vue'; | 3 | import { h } from 'vue'; |
4 | -import { isString } from '/@/utils/is'; | 4 | +import { isString } from '@vue/shared'; |
5 | import { Icon } from '/@/components/Icon'; | 5 | import { Icon } from '/@/components/Icon'; |
6 | 6 | ||
7 | -export interface ComponentProps { | ||
8 | - icon: VNode | string; | ||
9 | -} | ||
10 | - | ||
11 | -export const TreeIcon: FunctionalComponent = ({ icon }: ComponentProps) => { | 7 | +export const TreeIcon: FunctionalComponent = ({ icon }: { icon: VNode | string }) => { |
12 | if (!icon) return null; | 8 | if (!icon) return null; |
13 | if (isString(icon)) { | 9 | if (isString(icon)) { |
14 | return h(Icon, { icon, class: 'mr-1' }); | 10 | return h(Icon, { icon, class: 'mr-1' }); |
src/components/Tree/src/props.ts deleted
100644 → 0
1 | -import type { PropType } from 'vue'; | ||
2 | -import type { | ||
3 | - ReplaceFields, | ||
4 | - ActionItem, | ||
5 | - Keys, | ||
6 | - CheckKeys, | ||
7 | - ContextMenuOptions, | ||
8 | - TreeItem, | ||
9 | -} from './typing'; | ||
10 | -import type { ContextMenuItem } from '/@/hooks/web/useContextMenu'; | ||
11 | -import type { TreeDataItem } from 'ant-design-vue/es/tree'; | ||
12 | -import { propTypes } from '/@/utils/propTypes'; | ||
13 | - | ||
14 | -export const basicProps = { | ||
15 | - value: { | ||
16 | - type: [Object, Array] as PropType<Keys | CheckKeys>, | ||
17 | - }, | ||
18 | - renderIcon: { | ||
19 | - type: Function as PropType<(params: Recordable) => string>, | ||
20 | - }, | ||
21 | - | ||
22 | - helpMessage: { | ||
23 | - type: [String, Array] as PropType<string | string[]>, | ||
24 | - default: '', | ||
25 | - }, | ||
26 | - | ||
27 | - title: propTypes.string, | ||
28 | - toolbar: propTypes.bool, | ||
29 | - search: propTypes.bool, | ||
30 | - searchValue: propTypes.string, | ||
31 | - checkStrictly: propTypes.bool, | ||
32 | - clickRowToExpand: propTypes.bool.def(true), | ||
33 | - checkable: propTypes.bool.def(false), | ||
34 | - defaultExpandLevel: { | ||
35 | - type: [String, Number] as PropType<string | number>, | ||
36 | - default: '', | ||
37 | - }, | ||
38 | - defaultExpandAll: propTypes.bool.def(false), | ||
39 | - | ||
40 | - replaceFields: { | ||
41 | - type: Object as PropType<ReplaceFields>, | ||
42 | - }, | ||
43 | - | ||
44 | - treeData: { | ||
45 | - type: Array as PropType<TreeDataItem[]>, | ||
46 | - }, | ||
47 | - | ||
48 | - actionList: { | ||
49 | - type: Array as PropType<ActionItem[]>, | ||
50 | - default: () => [], | ||
51 | - }, | ||
52 | - | ||
53 | - expandedKeys: { | ||
54 | - type: Array as PropType<Keys>, | ||
55 | - default: () => [], | ||
56 | - }, | ||
57 | - | ||
58 | - selectedKeys: { | ||
59 | - type: Array as PropType<Keys>, | ||
60 | - default: () => [], | ||
61 | - }, | ||
62 | - | ||
63 | - checkedKeys: { | ||
64 | - type: Array as PropType<CheckKeys>, | ||
65 | - default: () => [], | ||
66 | - }, | ||
67 | - | ||
68 | - beforeRightClick: { | ||
69 | - type: Function as PropType<(...arg: any) => ContextMenuItem[] | ContextMenuOptions>, | ||
70 | - default: null, | ||
71 | - }, | ||
72 | - | ||
73 | - rightMenuList: { | ||
74 | - type: Array as PropType<ContextMenuItem[]>, | ||
75 | - }, | ||
76 | - // 自定义数据过滤判断方法(注: 不是整个过滤方法,而是内置过滤的判断方法,用于增强原本仅能通过title进行过滤的方式) | ||
77 | - filterFn: { | ||
78 | - type: Function as PropType< | ||
79 | - (searchValue: any, node: TreeItem, replaceFields: ReplaceFields) => boolean | ||
80 | - >, | ||
81 | - default: null, | ||
82 | - }, | ||
83 | - // 高亮搜索值,仅高亮具体匹配值(通过title)值为true时使用默认色值,值为#xxx时使用此值替代且高亮开启 | ||
84 | - highlight: { | ||
85 | - type: [Boolean, String] as PropType<Boolean | String>, | ||
86 | - default: false, | ||
87 | - }, | ||
88 | - // 搜索完成时自动展开结果 | ||
89 | - expandOnSearch: propTypes.bool.def(false), | ||
90 | - // 搜索完成自动选中所有结果,当且仅当 checkable===true 时生效 | ||
91 | - checkOnSearch: propTypes.bool.def(false), | ||
92 | - // 搜索完成自动select所有结果 | ||
93 | - selectedOnSearch: propTypes.bool.def(false), | ||
94 | -}; | ||
95 | - | ||
96 | -export const treeNodeProps = { | ||
97 | - actionList: { | ||
98 | - type: Array as PropType<ActionItem[]>, | ||
99 | - default: () => [], | ||
100 | - }, | ||
101 | - replaceFields: { | ||
102 | - type: Object as PropType<ReplaceFields>, | ||
103 | - }, | ||
104 | - treeData: { | ||
105 | - type: Array as PropType<TreeDataItem[]>, | ||
106 | - default: () => [], | ||
107 | - }, | ||
108 | -}; |
src/components/Tree/src/tree.ts
1 | +import type { ExtractPropTypes } from 'vue'; | ||
2 | +import type { TreeDataItem } from 'ant-design-vue/es/tree/Tree'; | ||
3 | + | ||
4 | +import { buildProps } from '/@/utils/props'; | ||
5 | + | ||
6 | +export enum ToolbarEnum { | ||
7 | + SELECT_ALL, | ||
8 | + UN_SELECT_ALL, | ||
9 | + EXPAND_ALL, | ||
10 | + UN_EXPAND_ALL, | ||
11 | + CHECK_STRICTLY, | ||
12 | + CHECK_UN_STRICTLY, | ||
13 | +} | ||
14 | + | ||
15 | +export const treeEmits = [ | ||
16 | + 'update:expandedKeys', | ||
17 | + 'update:selectedKeys', | ||
18 | + 'update:value', | ||
19 | + 'change', | ||
20 | + 'check', | ||
21 | + 'update:searchValue', | ||
22 | +]; | ||
23 | + | ||
24 | +export interface TreeState { | ||
25 | + expandedKeys: KeyType[]; | ||
26 | + selectedKeys: KeyType[]; | ||
27 | + checkedKeys: CheckKeys; | ||
28 | + checkStrictly: boolean; | ||
29 | +} | ||
30 | + | ||
31 | +export interface FieldNames { | ||
32 | + children?: string; | ||
33 | + title?: string; | ||
34 | + key?: string; | ||
35 | +} | ||
36 | + | ||
37 | +export type KeyType = string | number; | ||
38 | + | ||
39 | +export type CheckKeys = | ||
40 | + | KeyType[] | ||
41 | + | { checked: string[] | number[]; halfChecked: string[] | number[] }; | ||
42 | + | ||
43 | +export const treeProps = buildProps({ | ||
44 | + value: { | ||
45 | + type: [Object, Array] as PropType<KeyType[] | CheckKeys>, | ||
46 | + }, | ||
47 | + | ||
48 | + renderIcon: { | ||
49 | + type: Function as PropType<(params: Recordable) => string>, | ||
50 | + }, | ||
51 | + | ||
52 | + helpMessage: { | ||
53 | + type: [String, Array] as PropType<string | string[]>, | ||
54 | + default: '', | ||
55 | + }, | ||
56 | + | ||
57 | + title: { | ||
58 | + type: String, | ||
59 | + default: '', | ||
60 | + }, | ||
61 | + toolbar: Boolean, | ||
62 | + search: Boolean, | ||
63 | + searchValue: { | ||
64 | + type: String, | ||
65 | + default: '', | ||
66 | + }, | ||
67 | + checkStrictly: Boolean, | ||
68 | + clickRowToExpand: { | ||
69 | + type: Boolean, | ||
70 | + default: false, | ||
71 | + }, | ||
72 | + checkable: Boolean, | ||
73 | + defaultExpandLevel: { | ||
74 | + type: [String, Number] as PropType<string | number>, | ||
75 | + default: '', | ||
76 | + }, | ||
77 | + defaultExpandAll: Boolean, | ||
78 | + | ||
79 | + fieldNames: { | ||
80 | + type: Object as PropType<FieldNames>, | ||
81 | + }, | ||
82 | + | ||
83 | + treeData: { | ||
84 | + type: Array as PropType<TreeDataItem[]>, | ||
85 | + }, | ||
86 | + | ||
87 | + actionList: { | ||
88 | + type: Array as PropType<TreeActionItem[]>, | ||
89 | + default: () => [], | ||
90 | + }, | ||
91 | + | ||
92 | + expandedKeys: { | ||
93 | + type: Array as PropType<KeyType[]>, | ||
94 | + default: () => [], | ||
95 | + }, | ||
96 | + | ||
97 | + selectedKeys: { | ||
98 | + type: Array as PropType<KeyType[]>, | ||
99 | + default: () => [], | ||
100 | + }, | ||
101 | + | ||
102 | + checkedKeys: { | ||
103 | + type: Array as PropType<CheckKeys>, | ||
104 | + default: () => [], | ||
105 | + }, | ||
106 | + | ||
107 | + beforeRightClick: { | ||
108 | + type: Function as PropType<(...arg: any) => ContextMenuItem[] | ContextMenuOptions>, | ||
109 | + default: undefined, | ||
110 | + }, | ||
111 | + | ||
112 | + rightMenuList: { | ||
113 | + type: Array as PropType<ContextMenuItem[]>, | ||
114 | + }, | ||
115 | + // 自定义数据过滤判断方法(注: 不是整个过滤方法,而是内置过滤的判断方法,用于增强原本仅能通过title进行过滤的方式) | ||
116 | + filterFn: { | ||
117 | + type: Function as PropType< | ||
118 | + (searchValue: any, node: TreeItem, replaceFields: FieldNames) => boolean | ||
119 | + >, | ||
120 | + default: undefined, | ||
121 | + }, | ||
122 | + // 高亮搜索值,仅高亮具体匹配值(通过title)值为true时使用默认色值,值为#xxx时使用此值替代且高亮开启 | ||
123 | + highlight: { | ||
124 | + type: [Boolean, String] as PropType<Boolean | String>, | ||
125 | + default: false, | ||
126 | + }, | ||
127 | + // 搜索完成时自动展开结果 | ||
128 | + expandOnSearch: Boolean, | ||
129 | + // 搜索完成自动选中所有结果,当且仅当 checkable===true 时生效 | ||
130 | + checkOnSearch: Boolean, | ||
131 | + // 搜索完成自动select所有结果 | ||
132 | + selectedOnSearch: Boolean, | ||
133 | +}); | ||
134 | + | ||
135 | +export type TreeProps = ExtractPropTypes<typeof treeProps>; | ||
136 | + | ||
137 | +export interface ContextMenuItem { | ||
138 | + label: string; | ||
139 | + icon?: string; | ||
140 | + disabled?: boolean; | ||
141 | + handler?: Fn; | ||
142 | + divider?: boolean; | ||
143 | + children?: ContextMenuItem[]; | ||
144 | +} | ||
145 | + | ||
146 | +export interface ContextMenuOptions { | ||
147 | + icon?: string; | ||
148 | + styles?: any; | ||
149 | + items?: ContextMenuItem[]; | ||
150 | +} | ||
151 | + | ||
152 | +export interface TreeItem extends TreeDataItem { | ||
153 | + icon?: any; | ||
154 | +} | ||
155 | + | ||
156 | +export interface TreeActionItem { | ||
157 | + render: (record: Recordable) => any; | ||
158 | + show?: boolean | ((record: Recordable) => boolean); | ||
159 | +} | ||
160 | + | ||
161 | +export interface InsertNodeParams { | ||
162 | + parentKey: string | null; | ||
163 | + node: TreeDataItem; | ||
164 | + list?: TreeDataItem[]; | ||
165 | + push?: 'push' | 'unshift'; | ||
166 | +} | ||
167 | + | ||
168 | +export interface TreeActionType { | ||
169 | + checkAll: (checkAll: boolean) => void; | ||
170 | + expandAll: (expandAll: boolean) => void; | ||
171 | + setExpandedKeys: (keys: KeyType[]) => void; | ||
172 | + getExpandedKeys: () => KeyType[]; | ||
173 | + setSelectedKeys: (keys: KeyType[]) => void; | ||
174 | + getSelectedKeys: () => KeyType[]; | ||
175 | + setCheckedKeys: (keys: CheckKeys) => void; | ||
176 | + getCheckedKeys: () => CheckKeys; | ||
177 | + filterByLevel: (level: number) => void; | ||
178 | + insertNodeByKey: (opt: InsertNodeParams) => void; | ||
179 | + insertNodesByKey: (opt: InsertNodeParams) => void; | ||
180 | + deleteNodeByKey: (key: string) => void; | ||
181 | + updateNodeByKey: (key: string, node: Omit<TreeDataItem, 'key'>) => void; | ||
182 | + setSearchValue: (value: string) => void; | ||
183 | + getSearchValue: () => string; | ||
184 | +} |
src/components/Tree/src/typing.ts deleted
100644 → 0
1 | -import type { TreeDataItem, CheckEvent as CheckEventOrigin } from 'ant-design-vue/es/tree/Tree'; | ||
2 | - | ||
3 | -import { ContextMenuItem } from '/@/hooks/web/useContextMenu'; | ||
4 | - | ||
5 | -export interface ActionItem { | ||
6 | - render: (record: Recordable) => any; | ||
7 | - show?: boolean | ((record: Recordable) => boolean); | ||
8 | -} | ||
9 | - | ||
10 | -export interface TreeItem extends TreeDataItem { | ||
11 | - icon?: any; | ||
12 | -} | ||
13 | - | ||
14 | -export interface ReplaceFields { | ||
15 | - children?: string; | ||
16 | - title?: string; | ||
17 | - key?: string; | ||
18 | -} | ||
19 | - | ||
20 | -export type Keys = (string | number)[]; | ||
21 | -export type CheckKeys = | ||
22 | - | (string | number)[] | ||
23 | - | { checked: (string | number)[]; halfChecked: (string | number)[] }; | ||
24 | - | ||
25 | -export interface TreeActionType { | ||
26 | - checkAll: (checkAll: boolean) => void; | ||
27 | - expandAll: (expandAll: boolean) => void; | ||
28 | - setExpandedKeys: (keys: Keys) => void; | ||
29 | - getExpandedKeys: () => Keys; | ||
30 | - setSelectedKeys: (keys: Keys) => void; | ||
31 | - getSelectedKeys: () => Keys; | ||
32 | - setCheckedKeys: (keys: CheckKeys) => void; | ||
33 | - getCheckedKeys: () => CheckKeys; | ||
34 | - filterByLevel: (level: number) => void; | ||
35 | - insertNodeByKey: (opt: InsertNodeParams) => void; | ||
36 | - insertNodesByKey: (opt: InsertNodeParams) => void; | ||
37 | - deleteNodeByKey: (key: string) => void; | ||
38 | - updateNodeByKey: (key: string, node: Omit<TreeDataItem, 'key'>) => void; | ||
39 | - setSearchValue: (value: string) => void; | ||
40 | - getSearchValue: () => string; | ||
41 | -} | ||
42 | - | ||
43 | -export interface InsertNodeParams { | ||
44 | - parentKey: string | null; | ||
45 | - node: TreeDataItem; | ||
46 | - list?: TreeDataItem[]; | ||
47 | - push?: 'push' | 'unshift'; | ||
48 | -} | ||
49 | - | ||
50 | -export interface ContextMenuOptions { | ||
51 | - icon?: string; | ||
52 | - styles?: any; | ||
53 | - items?: ContextMenuItem[]; | ||
54 | -} | ||
55 | - | ||
56 | -export type CheckEvent = CheckEventOrigin; |
src/components/Tree/src/useTree.ts
1 | -import type { InsertNodeParams, Keys, ReplaceFields } from './typing'; | 1 | +import type { InsertNodeParams, KeyType, FieldNames } from './tree'; |
2 | import type { Ref, ComputedRef } from 'vue'; | 2 | import type { Ref, ComputedRef } from 'vue'; |
3 | import type { TreeDataItem } from 'ant-design-vue/es/tree/Tree'; | 3 | import type { TreeDataItem } from 'ant-design-vue/es/tree/Tree'; |
4 | 4 | ||
@@ -6,14 +6,11 @@ import { cloneDeep } from 'lodash-es'; | @@ -6,14 +6,11 @@ import { cloneDeep } from 'lodash-es'; | ||
6 | import { unref } from 'vue'; | 6 | import { unref } from 'vue'; |
7 | import { forEach } from '/@/utils/helper/treeHelper'; | 7 | import { forEach } from '/@/utils/helper/treeHelper'; |
8 | 8 | ||
9 | -export function useTree( | ||
10 | - treeDataRef: Ref<TreeDataItem[]>, | ||
11 | - getReplaceFields: ComputedRef<ReplaceFields>, | ||
12 | -) { | 9 | +export function useTree(treeDataRef: Ref<TreeDataItem[]>, getFieldNames: ComputedRef<FieldNames>) { |
13 | function getAllKeys(list?: TreeDataItem[]) { | 10 | function getAllKeys(list?: TreeDataItem[]) { |
14 | const keys: string[] = []; | 11 | const keys: string[] = []; |
15 | const treeData = list || unref(treeDataRef); | 12 | const treeData = list || unref(treeDataRef); |
16 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 13 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
17 | if (!childrenField || !keyField) return keys; | 14 | if (!childrenField || !keyField) return keys; |
18 | 15 | ||
19 | for (let index = 0; index < treeData.length; index++) { | 16 | for (let index = 0; index < treeData.length; index++) { |
@@ -24,14 +21,14 @@ export function useTree( | @@ -24,14 +21,14 @@ export function useTree( | ||
24 | keys.push(...(getAllKeys(children) as string[])); | 21 | keys.push(...(getAllKeys(children) as string[])); |
25 | } | 22 | } |
26 | } | 23 | } |
27 | - return keys as Keys; | 24 | + return keys as KeyType[]; |
28 | } | 25 | } |
29 | 26 | ||
30 | // get keys that can be checked and selected | 27 | // get keys that can be checked and selected |
31 | function getEnabledKeys(list?: TreeDataItem[]) { | 28 | function getEnabledKeys(list?: TreeDataItem[]) { |
32 | const keys: string[] = []; | 29 | const keys: string[] = []; |
33 | const treeData = list || unref(treeDataRef); | 30 | const treeData = list || unref(treeDataRef); |
34 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 31 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
35 | if (!childrenField || !keyField) return keys; | 32 | if (!childrenField || !keyField) return keys; |
36 | 33 | ||
37 | for (let index = 0; index < treeData.length; index++) { | 34 | for (let index = 0; index < treeData.length; index++) { |
@@ -42,13 +39,13 @@ export function useTree( | @@ -42,13 +39,13 @@ export function useTree( | ||
42 | keys.push(...(getEnabledKeys(children) as string[])); | 39 | keys.push(...(getEnabledKeys(children) as string[])); |
43 | } | 40 | } |
44 | } | 41 | } |
45 | - return keys as Keys; | 42 | + return keys as KeyType[]; |
46 | } | 43 | } |
47 | 44 | ||
48 | - function getChildrenKeys(nodeKey: string | number, list?: TreeDataItem[]): Keys { | ||
49 | - const keys: Keys = []; | 45 | + function getChildrenKeys(nodeKey: string | number, list?: TreeDataItem[]) { |
46 | + const keys: KeyType[] = []; | ||
50 | const treeData = list || unref(treeDataRef); | 47 | const treeData = list || unref(treeDataRef); |
51 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 48 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
52 | if (!childrenField || !keyField) return keys; | 49 | if (!childrenField || !keyField) return keys; |
53 | for (let index = 0; index < treeData.length; index++) { | 50 | for (let index = 0; index < treeData.length; index++) { |
54 | const node = treeData[index]; | 51 | const node = treeData[index]; |
@@ -64,14 +61,14 @@ export function useTree( | @@ -64,14 +61,14 @@ export function useTree( | ||
64 | } | 61 | } |
65 | } | 62 | } |
66 | } | 63 | } |
67 | - return keys as Keys; | 64 | + return keys as KeyType[]; |
68 | } | 65 | } |
69 | 66 | ||
70 | // Update node | 67 | // Update node |
71 | function updateNodeByKey(key: string, node: TreeDataItem, list?: TreeDataItem[]) { | 68 | function updateNodeByKey(key: string, node: TreeDataItem, list?: TreeDataItem[]) { |
72 | if (!key) return; | 69 | if (!key) return; |
73 | const treeData = list || unref(treeDataRef); | 70 | const treeData = list || unref(treeDataRef); |
74 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 71 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
75 | 72 | ||
76 | if (!childrenField || !keyField) return; | 73 | if (!childrenField || !keyField) return; |
77 | 74 | ||
@@ -98,7 +95,7 @@ export function useTree( | @@ -98,7 +95,7 @@ export function useTree( | ||
98 | for (let index = 0; index < data.length; index++) { | 95 | for (let index = 0; index < data.length; index++) { |
99 | const item = data[index]; | 96 | const item = data[index]; |
100 | 97 | ||
101 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 98 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
102 | const key = keyField ? item[keyField] : ''; | 99 | const key = keyField ? item[keyField] : ''; |
103 | const children = childrenField ? item[childrenField] : []; | 100 | const children = childrenField ? item[childrenField] : []; |
104 | res.push(key); | 101 | res.push(key); |
@@ -120,7 +117,7 @@ export function useTree( | @@ -120,7 +117,7 @@ export function useTree( | ||
120 | treeDataRef.value = treeData; | 117 | treeDataRef.value = treeData; |
121 | return; | 118 | return; |
122 | } | 119 | } |
123 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 120 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
124 | if (!childrenField || !keyField) return; | 121 | if (!childrenField || !keyField) return; |
125 | 122 | ||
126 | forEach(treeData, (treeItem) => { | 123 | forEach(treeData, (treeItem) => { |
@@ -145,7 +142,7 @@ export function useTree( | @@ -145,7 +142,7 @@ export function useTree( | ||
145 | treeData[push](list[i]); | 142 | treeData[push](list[i]); |
146 | } | 143 | } |
147 | } else { | 144 | } else { |
148 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 145 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
149 | if (!childrenField || !keyField) return; | 146 | if (!childrenField || !keyField) return; |
150 | 147 | ||
151 | forEach(treeData, (treeItem) => { | 148 | forEach(treeData, (treeItem) => { |
@@ -164,7 +161,7 @@ export function useTree( | @@ -164,7 +161,7 @@ export function useTree( | ||
164 | function deleteNodeByKey(key: string, list?: TreeDataItem[]) { | 161 | function deleteNodeByKey(key: string, list?: TreeDataItem[]) { |
165 | if (!key) return; | 162 | if (!key) return; |
166 | const treeData = list || unref(treeDataRef); | 163 | const treeData = list || unref(treeDataRef); |
167 | - const { key: keyField, children: childrenField } = unref(getReplaceFields); | 164 | + const { key: keyField, children: childrenField } = unref(getFieldNames); |
168 | if (!childrenField || !keyField) return; | 165 | if (!childrenField || !keyField) return; |
169 | 166 | ||
170 | for (let index = 0; index < treeData.length; index++) { | 167 | for (let index = 0; index < treeData.length; index++) { |
src/components/Tree/style/index.less
0 → 100644
1 | +@tree-prefix-cls: ~'@{namespace}-tree'; | ||
2 | + | ||
3 | +.@{tree-prefix-cls} { | ||
4 | + background-color: @component-background; | ||
5 | + | ||
6 | + .ant-tree-node-content-wrapper { | ||
7 | + position: relative; | ||
8 | + | ||
9 | + .ant-tree-title { | ||
10 | + position: absolute; | ||
11 | + left: 0; | ||
12 | + width: 100%; | ||
13 | + } | ||
14 | + } | ||
15 | + | ||
16 | + &__title { | ||
17 | + position: relative; | ||
18 | + display: flex; | ||
19 | + align-items: center; | ||
20 | + width: 100%; | ||
21 | + padding-right: 10px; | ||
22 | + | ||
23 | + &:hover { | ||
24 | + .@{tree-prefix-cls}__action { | ||
25 | + visibility: visible; | ||
26 | + } | ||
27 | + } | ||
28 | + } | ||
29 | + | ||
30 | + &__content { | ||
31 | + overflow: hidden; | ||
32 | + } | ||
33 | + | ||
34 | + &__actions { | ||
35 | + position: absolute; | ||
36 | + top: 2px; | ||
37 | + right: 3px; | ||
38 | + display: flex; | ||
39 | + } | ||
40 | + | ||
41 | + &__action { | ||
42 | + margin-left: 4px; | ||
43 | + visibility: hidden; | ||
44 | + } | ||
45 | + | ||
46 | + &-header { | ||
47 | + border-bottom: 1px solid @border-color-base; | ||
48 | + } | ||
49 | +} |
src/components/Tree/style/index.ts
0 → 100644
1 | +import './index.less'; |
src/main.ts
@@ -15,13 +15,6 @@ import { setupGlobDirectives } from '/@/directives'; | @@ -15,13 +15,6 @@ import { setupGlobDirectives } from '/@/directives'; | ||
15 | import { setupI18n } from '/@/locales/setupI18n'; | 15 | import { setupI18n } from '/@/locales/setupI18n'; |
16 | import { registerGlobComp } from '/@/components/registerGlobComp'; | 16 | import { registerGlobComp } from '/@/components/registerGlobComp'; |
17 | 17 | ||
18 | -// Importing on demand in local development will increase the number of browser requests by around 20%. | ||
19 | -// This may slow down the browser refresh speed. | ||
20 | -// Therefore, only enable on-demand importing in production environments . | ||
21 | -if (import.meta.env.DEV) { | ||
22 | - import('ant-design-vue/dist/antd.less'); | ||
23 | -} | ||
24 | - | ||
25 | async function bootstrap() { | 18 | async function bootstrap() { |
26 | const app = createApp(App); | 19 | const app = createApp(App); |
27 | 20 |
src/utils/bem.ts
0 → 100644
1 | +import { prefixCls } from '/@/settings/designSetting'; | ||
2 | + | ||
3 | +type Mod = string | { [key: string]: any }; | ||
4 | +type Mods = Mod | Mod[]; | ||
5 | + | ||
6 | +export type BEM = ReturnType<typeof createBEM>; | ||
7 | + | ||
8 | +function genBem(name: string, mods?: Mods): string { | ||
9 | + if (!mods) { | ||
10 | + return ''; | ||
11 | + } | ||
12 | + | ||
13 | + if (typeof mods === 'string') { | ||
14 | + return ` ${name}--${mods}`; | ||
15 | + } | ||
16 | + | ||
17 | + if (Array.isArray(mods)) { | ||
18 | + return mods.reduce<string>((ret, item) => ret + genBem(name, item), ''); | ||
19 | + } | ||
20 | + | ||
21 | + return Object.keys(mods).reduce((ret, key) => ret + (mods[key] ? genBem(name, key) : ''), ''); | ||
22 | +} | ||
23 | + | ||
24 | +/** | ||
25 | + * bem helper | ||
26 | + * b() // 'button' | ||
27 | + * b('text') // 'button__text' | ||
28 | + * b({ disabled }) // 'button button--disabled' | ||
29 | + * b('text', { disabled }) // 'button__text button__text--disabled' | ||
30 | + * b(['disabled', 'primary']) // 'button button--disabled button--primary' | ||
31 | + */ | ||
32 | +export function buildBEM(name: string) { | ||
33 | + return (el?: Mods, mods?: Mods): Mods => { | ||
34 | + if (el && typeof el !== 'string') { | ||
35 | + mods = el; | ||
36 | + el = ''; | ||
37 | + } | ||
38 | + | ||
39 | + el = el ? `${name}__${el}` : name; | ||
40 | + | ||
41 | + return `${el}${genBem(el, mods)}`; | ||
42 | + }; | ||
43 | +} | ||
44 | + | ||
45 | +export function createBEM(name: string) { | ||
46 | + return [buildBEM(`${prefixCls}-${name}`)]; | ||
47 | +} | ||
48 | + | ||
49 | +export function createNamespace(name: string) { | ||
50 | + const prefixedName = `${prefixCls}-${name}`; | ||
51 | + return [prefixedName, buildBEM(prefixedName)] as const; | ||
52 | +} |
src/utils/props.ts
0 → 100644
1 | +// copy from element-plus | ||
2 | + | ||
3 | +import { warn } from 'vue'; | ||
4 | +import { isObject } from '@vue/shared'; | ||
5 | +import { fromPairs } from 'lodash-es'; | ||
6 | +import type { ExtractPropTypes, PropType } from '@vue/runtime-core'; | ||
7 | +import type { Mutable } from './types'; | ||
8 | + | ||
9 | +const wrapperKey = Symbol(); | ||
10 | +export type PropWrapper<T> = { [wrapperKey]: T }; | ||
11 | + | ||
12 | +export const propKey = Symbol(); | ||
13 | + | ||
14 | +type ResolveProp<T> = ExtractPropTypes<{ | ||
15 | + key: { type: T; required: true }; | ||
16 | +}>['key']; | ||
17 | +type ResolvePropType<T> = ResolveProp<T> extends { type: infer V } ? V : ResolveProp<T>; | ||
18 | +type ResolvePropTypeWithReadonly<T> = Readonly<T> extends Readonly<Array<infer A>> | ||
19 | + ? ResolvePropType<A[]> | ||
20 | + : ResolvePropType<T>; | ||
21 | + | ||
22 | +type IfUnknown<T, V> = [unknown] extends [T] ? V : T; | ||
23 | + | ||
24 | +export type BuildPropOption<T, D extends BuildPropType<T, V, C>, R, V, C> = { | ||
25 | + type?: T; | ||
26 | + values?: readonly V[]; | ||
27 | + required?: R; | ||
28 | + default?: R extends true | ||
29 | + ? never | ||
30 | + : D extends Record<string, unknown> | Array<any> | ||
31 | + ? () => D | ||
32 | + : (() => D) | D; | ||
33 | + validator?: ((val: any) => val is C) | ((val: any) => boolean); | ||
34 | +}; | ||
35 | + | ||
36 | +type _BuildPropType<T, V, C> = | ||
37 | + | (T extends PropWrapper<unknown> | ||
38 | + ? T[typeof wrapperKey] | ||
39 | + : [V] extends [never] | ||
40 | + ? ResolvePropTypeWithReadonly<T> | ||
41 | + : never) | ||
42 | + | V | ||
43 | + | C; | ||
44 | +export type BuildPropType<T, V, C> = _BuildPropType< | ||
45 | + IfUnknown<T, never>, | ||
46 | + IfUnknown<V, never>, | ||
47 | + IfUnknown<C, never> | ||
48 | +>; | ||
49 | + | ||
50 | +type _BuildPropDefault<T, D> = [T] extends [ | ||
51 | + // eslint-disable-next-line @typescript-eslint/ban-types | ||
52 | + Record<string, unknown> | Array<any> | Function, | ||
53 | +] | ||
54 | + ? D | ||
55 | + : D extends () => T | ||
56 | + ? ReturnType<D> | ||
57 | + : D; | ||
58 | + | ||
59 | +export type BuildPropDefault<T, D, R> = R extends true | ||
60 | + ? { readonly default?: undefined } | ||
61 | + : { | ||
62 | + readonly default: Exclude<D, undefined> extends never | ||
63 | + ? undefined | ||
64 | + : Exclude<_BuildPropDefault<T, D>, undefined>; | ||
65 | + }; | ||
66 | +export type BuildPropReturn<T, D, R, V, C> = { | ||
67 | + readonly type: PropType<BuildPropType<T, V, C>>; | ||
68 | + readonly required: IfUnknown<R, false>; | ||
69 | + readonly validator: ((val: unknown) => boolean) | undefined; | ||
70 | + [propKey]: true; | ||
71 | +} & BuildPropDefault<BuildPropType<T, V, C>, IfUnknown<D, never>, IfUnknown<R, false>>; | ||
72 | + | ||
73 | +/** | ||
74 | + * @description Build prop. It can better optimize prop types | ||
75 | + * @description 生成 prop,能更好地优化类型 | ||
76 | + * @example | ||
77 | + // limited options | ||
78 | + // the type will be PropType<'light' | 'dark'> | ||
79 | + buildProp({ | ||
80 | + type: String, | ||
81 | + values: ['light', 'dark'], | ||
82 | + } as const) | ||
83 | + * @example | ||
84 | + // limited options and other types | ||
85 | + // the type will be PropType<'small' | 'medium' | number> | ||
86 | + buildProp({ | ||
87 | + type: [String, Number], | ||
88 | + values: ['small', 'medium'], | ||
89 | + validator: (val: unknown): val is number => typeof val === 'number', | ||
90 | + } as const) | ||
91 | + @link see more: https://github.com/element-plus/element-plus/pull/3341 | ||
92 | + */ | ||
93 | +export function buildProp< | ||
94 | + T = never, | ||
95 | + D extends BuildPropType<T, V, C> = never, | ||
96 | + R extends boolean = false, | ||
97 | + V = never, | ||
98 | + C = never, | ||
99 | +>(option: BuildPropOption<T, D, R, V, C>, key?: string): BuildPropReturn<T, D, R, V, C> { | ||
100 | + // filter native prop type and nested prop, e.g `null`, `undefined` (from `buildProps`) | ||
101 | + if (!isObject(option) || !!option[propKey]) return option as any; | ||
102 | + | ||
103 | + const { values, required, default: defaultValue, type, validator } = option; | ||
104 | + | ||
105 | + const _validator = | ||
106 | + values || validator | ||
107 | + ? (val: unknown) => { | ||
108 | + let valid = false; | ||
109 | + let allowedValues: unknown[] = []; | ||
110 | + | ||
111 | + if (values) { | ||
112 | + allowedValues = [...values, defaultValue]; | ||
113 | + valid ||= allowedValues.includes(val); | ||
114 | + } | ||
115 | + if (validator) valid ||= validator(val); | ||
116 | + | ||
117 | + if (!valid && allowedValues.length > 0) { | ||
118 | + const allowValuesText = [...new Set(allowedValues)] | ||
119 | + .map((value) => JSON.stringify(value)) | ||
120 | + .join(', '); | ||
121 | + warn( | ||
122 | + `Invalid prop: validation failed${ | ||
123 | + key ? ` for prop "${key}"` : '' | ||
124 | + }. Expected one of [${allowValuesText}], got value ${JSON.stringify(val)}.`, | ||
125 | + ); | ||
126 | + } | ||
127 | + return valid; | ||
128 | + } | ||
129 | + : undefined; | ||
130 | + | ||
131 | + return { | ||
132 | + type: | ||
133 | + typeof type === 'object' && Object.getOwnPropertySymbols(type).includes(wrapperKey) | ||
134 | + ? type[wrapperKey] | ||
135 | + : type, | ||
136 | + required: !!required, | ||
137 | + default: defaultValue, | ||
138 | + validator: _validator, | ||
139 | + [propKey]: true, | ||
140 | + } as unknown as BuildPropReturn<T, D, R, V, C>; | ||
141 | +} | ||
142 | + | ||
143 | +type NativePropType = [((...args: any) => any) | { new (...args: any): any } | undefined | null]; | ||
144 | + | ||
145 | +export const buildProps = < | ||
146 | + O extends { | ||
147 | + [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any> | ||
148 | + ? O[K] | ||
149 | + : [O[K]] extends NativePropType | ||
150 | + ? O[K] | ||
151 | + : O[K] extends BuildPropOption<infer T, infer D, infer R, infer V, infer C> | ||
152 | + ? D extends BuildPropType<T, V, C> | ||
153 | + ? BuildPropOption<T, D, R, V, C> | ||
154 | + : never | ||
155 | + : never; | ||
156 | + }, | ||
157 | +>( | ||
158 | + props: O, | ||
159 | +) => | ||
160 | + fromPairs( | ||
161 | + Object.entries(props).map(([key, option]) => [key, buildProp(option as any, key)]), | ||
162 | + ) as unknown as { | ||
163 | + [K in keyof O]: O[K] extends { [propKey]: boolean } | ||
164 | + ? O[K] | ||
165 | + : [O[K]] extends NativePropType | ||
166 | + ? O[K] | ||
167 | + : O[K] extends BuildPropOption< | ||
168 | + infer T, | ||
169 | + // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
170 | + infer _D, | ||
171 | + infer R, | ||
172 | + infer V, | ||
173 | + infer C | ||
174 | + > | ||
175 | + ? BuildPropReturn<T, O[K]['default'], R, V, C> | ||
176 | + : never; | ||
177 | + }; | ||
178 | + | ||
179 | +export const definePropType = <T>(val: any) => ({ [wrapperKey]: val } as PropWrapper<T>); | ||
180 | + | ||
181 | +export const keyOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>; | ||
182 | +export const mutable = <T extends readonly any[] | Record<string, unknown>>(val: T) => | ||
183 | + val as Mutable<typeof val>; | ||
184 | + | ||
185 | +export const componentSize = ['large', 'medium', 'small', 'mini'] as const; |
src/utils/types.ts
0 → 100644
1 | +// copy from element-plus | ||
2 | + | ||
3 | +import type { CSSProperties, Plugin } from 'vue'; | ||
4 | + | ||
5 | +type OptionalKeys<T extends Record<string, unknown>> = { | ||
6 | + [K in keyof T]: T extends Record<K, T[K]> ? never : K; | ||
7 | +}[keyof T]; | ||
8 | + | ||
9 | +type RequiredKeys<T extends Record<string, unknown>> = Exclude<keyof T, OptionalKeys<T>>; | ||
10 | + | ||
11 | +type MonoArgEmitter<T, Keys extends keyof T> = <K extends Keys>(evt: K, arg?: T[K]) => void; | ||
12 | + | ||
13 | +type BiArgEmitter<T, Keys extends keyof T> = <K extends Keys>(evt: K, arg: T[K]) => void; | ||
14 | + | ||
15 | +export type EventEmitter<T extends Record<string, unknown>> = MonoArgEmitter<T, OptionalKeys<T>> & | ||
16 | + BiArgEmitter<T, RequiredKeys<T>>; | ||
17 | + | ||
18 | +export type AnyFunction<T> = (...args: any[]) => T; | ||
19 | + | ||
20 | +export type PartialReturnType<T extends (...args: unknown[]) => unknown> = Partial<ReturnType<T>>; | ||
21 | + | ||
22 | +export type SFCWithInstall<T> = T & Plugin; | ||
23 | + | ||
24 | +export type Nullable<T> = T | null; | ||
25 | + | ||
26 | +export type RefElement = Nullable<HTMLElement>; | ||
27 | + | ||
28 | +export type CustomizedHTMLElement<T> = HTMLElement & T; | ||
29 | + | ||
30 | +export type Indexable<T> = { | ||
31 | + [key: string]: T; | ||
32 | +}; | ||
33 | + | ||
34 | +export type Hash<T> = Indexable<T>; | ||
35 | + | ||
36 | +export type TimeoutHandle = ReturnType<typeof global.setTimeout>; | ||
37 | + | ||
38 | +export type ComponentSize = 'large' | 'medium' | 'small' | 'mini'; | ||
39 | + | ||
40 | +export type StyleValue = string | CSSProperties | Array<StyleValue>; | ||
41 | + | ||
42 | +export type Mutable<T> = { -readonly [P in keyof T]: T[P] }; |
vite.config.ts
@@ -95,6 +95,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { | @@ -95,6 +95,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { | ||
95 | optimizeDeps: { | 95 | optimizeDeps: { |
96 | // @iconify/iconify: The dependency is dynamically and virtually loaded by @purge-icons/generated, so it needs to be specified explicitly | 96 | // @iconify/iconify: The dependency is dynamically and virtually loaded by @purge-icons/generated, so it needs to be specified explicitly |
97 | include: [ | 97 | include: [ |
98 | + '@vue/shared', | ||
98 | '@iconify/iconify', | 99 | '@iconify/iconify', |
99 | 'ant-design-vue/es/locale/zh_CN', | 100 | 'ant-design-vue/es/locale/zh_CN', |
100 | 'ant-design-vue/es/locale/en_US', | 101 | 'ant-design-vue/es/locale/en_US', |