Commit 46e087537415a91f8a656e1d7a83359d616d1b91
1 parent
815250ed
chore: add some notes
Showing
87 changed files
with
922 additions
and
724 deletions
.vscode/settings.json
@@ -138,6 +138,7 @@ | @@ -138,6 +138,7 @@ | ||
138 | // "vetur.format.defaultFormatter.html": "prettyhtml", | 138 | // "vetur.format.defaultFormatter.html": "prettyhtml", |
139 | "vetur.format.defaultFormatter.ts": "prettier-tslint", | 139 | "vetur.format.defaultFormatter.ts": "prettier-tslint", |
140 | "vetur.format.defaultFormatter.js": "prettier", | 140 | "vetur.format.defaultFormatter.js": "prettier", |
141 | + "vetur.languageFeatures.codeActions": false, | ||
141 | // "vetur.useWorkspaceDependencies": true, | 142 | // "vetur.useWorkspaceDependencies": true, |
142 | "vetur.format.defaultFormatterOptions": { | 143 | "vetur.format.defaultFormatterOptions": { |
143 | "js-beautify-html": { | 144 | "js-beautify-html": { |
CHANGELOG.zh_CN.md
build/vite/plugin/context/transform.ts
1 | -// 修改自 | 1 | +// Modified from |
2 | // https://github.com/luxueyan/vite-transform-globby-import/blob/master/src/index.ts | 2 | // https://github.com/luxueyan/vite-transform-globby-import/blob/master/src/index.ts |
3 | 3 | ||
4 | -// TODO 目前还不能监听文件新增及删除 内容已经改变,缓存问题? | 4 | +// TODO Currently, it is not possible to monitor file addition and deletion. The content has been changed, the cache problem? |
5 | import { join } from 'path'; | 5 | import { join } from 'path'; |
6 | import { lstatSync } from 'fs'; | 6 | import { lstatSync } from 'fs'; |
7 | import glob from 'glob'; | 7 | import glob from 'glob'; |
mock/demo/account.ts
@@ -4,11 +4,11 @@ import { resultSuccess } from '../_util'; | @@ -4,11 +4,11 @@ import { resultSuccess } from '../_util'; | ||
4 | const userInfo = { | 4 | const userInfo = { |
5 | name: 'Vben', | 5 | name: 'Vben', |
6 | userid: '00000001', | 6 | userid: '00000001', |
7 | - email: 'antdesign@alipay.com', | 7 | + email: 'test@gmail.com', |
8 | signature: '海纳百川,有容乃大', | 8 | signature: '海纳百川,有容乃大', |
9 | introduction: '微笑着,努力着,欣赏着', | 9 | introduction: '微笑着,努力着,欣赏着', |
10 | title: '交互专家', | 10 | title: '交互专家', |
11 | - group: '蚂蚁集团11-某某某事业群-某某平台部-某某技术部-UED', | 11 | + group: '某某某事业群-某某平台部-某某技术部-UED', |
12 | tags: [ | 12 | tags: [ |
13 | { | 13 | { |
14 | key: '0', | 14 | key: '0', |
@@ -38,7 +38,7 @@ const userInfo = { | @@ -38,7 +38,7 @@ const userInfo = { | ||
38 | notifyCount: 12, | 38 | notifyCount: 12, |
39 | unreadCount: 11, | 39 | unreadCount: 11, |
40 | country: 'China', | 40 | country: 'China', |
41 | - address: '厦门市 77 号', | 41 | + address: 'Xiamen City 77', |
42 | phone: '0592-268888888', | 42 | phone: '0592-268888888', |
43 | }; | 43 | }; |
44 | 44 |
package.json
@@ -22,8 +22,8 @@ | @@ -22,8 +22,8 @@ | ||
22 | }, | 22 | }, |
23 | "dependencies": { | 23 | "dependencies": { |
24 | "@iconify/iconify": "^2.0.0-rc.2", | 24 | "@iconify/iconify": "^2.0.0-rc.2", |
25 | - "@vueuse/core": "^4.0.0-beta.41", | ||
26 | - "ant-design-vue": "^2.0.0-rc.1", | 25 | + "@vueuse/core": "4.0.0-beta.41", |
26 | + "ant-design-vue": "2.0.0-beta.15", | ||
27 | "apexcharts": "3.22.0", | 27 | "apexcharts": "3.22.0", |
28 | "axios": "^0.21.0", | 28 | "axios": "^0.21.0", |
29 | "echarts": "^4.9.0", | 29 | "echarts": "^4.9.0", |
@@ -35,7 +35,7 @@ | @@ -35,7 +35,7 @@ | ||
35 | "qrcode": "^1.4.4", | 35 | "qrcode": "^1.4.4", |
36 | "vditor": "^3.6.2", | 36 | "vditor": "^3.6.2", |
37 | "vue": "^3.0.2", | 37 | "vue": "^3.0.2", |
38 | - "vue-i18n": "^9.0.0-beta.6", | 38 | + "vue-i18n": "^9.0.0-beta.7", |
39 | "vue-router": "^4.0.0-rc.3", | 39 | "vue-router": "^4.0.0-rc.3", |
40 | "vuex": "^4.0.0-rc.1", | 40 | "vuex": "^4.0.0-rc.1", |
41 | "vuex-module-decorators": "^1.0.1", | 41 | "vuex-module-decorators": "^1.0.1", |
@@ -45,10 +45,10 @@ | @@ -45,10 +45,10 @@ | ||
45 | "devDependencies": { | 45 | "devDependencies": { |
46 | "@commitlint/cli": "^11.0.0", | 46 | "@commitlint/cli": "^11.0.0", |
47 | "@commitlint/config-conventional": "^11.0.0", | 47 | "@commitlint/config-conventional": "^11.0.0", |
48 | - "@iconify/json": "^1.1.258", | 48 | + "@iconify/json": "^1.1.260", |
49 | "@ls-lint/ls-lint": "^1.9.2", | 49 | "@ls-lint/ls-lint": "^1.9.2", |
50 | "@purge-icons/generated": "^0.4.1", | 50 | "@purge-icons/generated": "^0.4.1", |
51 | - "@types/echarts": "^4.9.0", | 51 | + "@types/echarts": "^4.9.1", |
52 | "@types/fs-extra": "^9.0.4", | 52 | "@types/fs-extra": "^9.0.4", |
53 | "@types/koa-static": "^4.0.1", | 53 | "@types/koa-static": "^4.0.1", |
54 | "@types/lodash-es": "^4.17.3", | 54 | "@types/lodash-es": "^4.17.3", |
@@ -56,10 +56,10 @@ | @@ -56,10 +56,10 @@ | ||
56 | "@types/nprogress": "^0.2.0", | 56 | "@types/nprogress": "^0.2.0", |
57 | "@types/qrcode": "^1.3.5", | 57 | "@types/qrcode": "^1.3.5", |
58 | "@types/rollup-plugin-visualizer": "^2.6.0", | 58 | "@types/rollup-plugin-visualizer": "^2.6.0", |
59 | - "@types/yargs": "^15.0.9", | 59 | + "@types/yargs": "^15.0.10", |
60 | "@types/zxcvbn": "^4.4.0", | 60 | "@types/zxcvbn": "^4.4.0", |
61 | - "@typescript-eslint/eslint-plugin": "^4.6.1", | ||
62 | - "@typescript-eslint/parser": "^4.6.1", | 61 | + "@typescript-eslint/eslint-plugin": "^4.8.1", |
62 | + "@typescript-eslint/parser": "^4.8.1", | ||
63 | "@vue/compiler-sfc": "^3.0.2", | 63 | "@vue/compiler-sfc": "^3.0.2", |
64 | "@vuedx/typecheck": "^0.2.4-0", | 64 | "@vuedx/typecheck": "^0.2.4-0", |
65 | "@vuedx/typescript-plugin-vue": "^0.2.4-0", | 65 | "@vuedx/typescript-plugin-vue": "^0.2.4-0", |
@@ -84,7 +84,7 @@ | @@ -84,7 +84,7 @@ | ||
84 | "prettier": "^2.1.2", | 84 | "prettier": "^2.1.2", |
85 | "rimraf": "^3.0.2", | 85 | "rimraf": "^3.0.2", |
86 | "rollup-plugin-visualizer": "^4.1.2", | 86 | "rollup-plugin-visualizer": "^4.1.2", |
87 | - "stylelint": "^13.7.2", | 87 | + "stylelint": "^13.8.0", |
88 | "stylelint-config-prettier": "^8.0.2", | 88 | "stylelint-config-prettier": "^8.0.2", |
89 | "stylelint-config-standard": "^20.0.0", | 89 | "stylelint-config-standard": "^20.0.0", |
90 | "stylelint-order": "^4.1.0", | 90 | "stylelint-order": "^4.1.0", |
prettier.config.js
public/resource/img/loading.svg
@@ -33,20 +33,17 @@ | @@ -33,20 +33,17 @@ | ||
33 | </style> | 33 | </style> |
34 | <circle cx="97" cy="97" r="81" stroke-width="16" stroke="#327fd8" fill="none"></circle> | 34 | <circle cx="97" cy="97" r="81" stroke-width="16" stroke="#327fd8" fill="none"></circle> |
35 | <g class="load"> | 35 | <g class="load"> |
36 | - <!--右半圆环--> | ||
37 | <linearGradient id="left-linear" gradientUnits="userSpaceOnUse" x1="50" y1="0" x2="100" y2="180"> | 36 | <linearGradient id="left-linear" gradientUnits="userSpaceOnUse" x1="50" y1="0" x2="100" y2="180"> |
38 | <stop offset="0" style="stop-color: #64acff;" /> | 37 | <stop offset="0" style="stop-color: #64acff;" /> |
39 | <stop offset="1" style="stop-color: #9DBFE4;" /> | 38 | <stop offset="1" style="stop-color: #9DBFE4;" /> |
40 | </linearGradient> | 39 | </linearGradient> |
41 | <path class="left-linear" d="M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z" /> | 40 | <path class="left-linear" d="M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z" /> |
42 | - <!--左半圆环--> | ||
43 | <circle class="bottom" cx="100" cy="190" r="10" /> | 41 | <circle class="bottom" cx="100" cy="190" r="10" /> |
44 | <linearGradient id="right-linear" gradientUnits="userSpaceOnUse" x1="100" y1="120" x2="100" y2="180"> | 42 | <linearGradient id="right-linear" gradientUnits="userSpaceOnUse" x1="100" y1="120" x2="100" y2="180"> |
45 | <stop offset="0" style="stop-color: transparent;" /> | 43 | <stop offset="0" style="stop-color: transparent;" /> |
46 | <stop offset="1" style="stop-color: transparent;" /> | 44 | <stop offset="1" style="stop-color: transparent;" /> |
47 | </linearGradient> | 45 | </linearGradient> |
48 | <path class="right-linear" d="M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z" /> | 46 | <path class="right-linear" d="M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z" /> |
49 | - <!--左半圆环--> | ||
50 | <circle class="top" cx="100" cy="10" r="10" /> | 47 | <circle class="top" cx="100" cy="10" r="10" /> |
51 | </g> | 48 | </g> |
52 | </svg> | 49 | </svg> |
src/App.vue
1 | <template> | 1 | <template> |
2 | - <ConfigProvider :locale="zhCN" :transform-cell-text="transformCellText" v-bind="lockOn"> | 2 | + <ConfigProvider v-bind="lockEvent" :locale="zhCN" :transform-cell-text="transformCellText"> |
3 | <router-view /> | 3 | <router-view /> |
4 | </ConfigProvider> | 4 | </ConfigProvider> |
5 | </template> | 5 | </template> |
@@ -13,9 +13,8 @@ | @@ -13,9 +13,8 @@ | ||
13 | import moment from 'moment'; | 13 | import moment from 'moment'; |
14 | import 'moment/dist/locale/zh-cn'; | 14 | import 'moment/dist/locale/zh-cn'; |
15 | 15 | ||
16 | - import { useConfigProvider, useInitAppConfigStore } from './useApp'; | 16 | + import { getConfigProvider, initAppConfigStore } from '/@/setup/Application'; |
17 | import { useLockPage } from '/@/hooks/web/useLockPage'; | 17 | import { useLockPage } from '/@/hooks/web/useLockPage'; |
18 | - import { useSetting } from '/@/hooks/core/useSetting'; | ||
19 | 18 | ||
20 | moment.locale('zh-cn'); | 19 | moment.locale('zh-cn'); |
21 | 20 | ||
@@ -23,26 +22,22 @@ | @@ -23,26 +22,22 @@ | ||
23 | name: 'App', | 22 | name: 'App', |
24 | components: { ConfigProvider }, | 23 | components: { ConfigProvider }, |
25 | setup() { | 24 | setup() { |
26 | - // Initialize application settings | ||
27 | - useInitAppConfigStore(); | ||
28 | - // Initialize breakpoint monitoring | 25 | + // Initialize vuex internal system configuration |
26 | + initAppConfigStore(); | ||
27 | + | ||
28 | + // Create a global breakpoint monitor | ||
29 | createBreakpointListen(); | 29 | createBreakpointListen(); |
30 | - // Get system configuration | ||
31 | - const { projectSetting } = useSetting(); | 30 | + |
32 | // Get ConfigProvider configuration | 31 | // Get ConfigProvider configuration |
33 | - const { transformCellText } = useConfigProvider(); | 32 | + const { transformCellText } = getConfigProvider(); |
34 | 33 | ||
35 | - let lockOn = {}; | ||
36 | - if (projectSetting.lockTime) { | ||
37 | - // Monitor the mouse or keyboard time, used to recalculate the lock screen time | ||
38 | - const { on } = useLockPage(); | ||
39 | - lockOn = on; | ||
40 | - } | 34 | + // Create a lock screen monitor |
35 | + const lockEvent = useLockPage(); | ||
41 | 36 | ||
42 | return { | 37 | return { |
43 | transformCellText, | 38 | transformCellText, |
44 | zhCN, | 39 | zhCN, |
45 | - lockOn, | 40 | + lockEvent, |
46 | }; | 41 | }; |
47 | }, | 42 | }, |
48 | }); | 43 | }); |
src/api/demo/account.ts
@@ -5,7 +5,7 @@ enum Api { | @@ -5,7 +5,7 @@ enum Api { | ||
5 | ACCOUNT_INFO = '/account/getAccountInfo', | 5 | ACCOUNT_INFO = '/account/getAccountInfo', |
6 | } | 6 | } |
7 | 7 | ||
8 | -// 获取个人中心--基础设置内容 | 8 | +// Get personal center-basic settings |
9 | export function accountInfoApi() { | 9 | export function accountInfoApi() { |
10 | return defHttp.request<GetAccountInfoModel>({ | 10 | return defHttp.request<GetAccountInfoModel>({ |
11 | url: Api.ACCOUNT_INFO, | 11 | url: Api.ACCOUNT_INFO, |
src/api/sys/menu.ts
@@ -7,7 +7,7 @@ enum Api { | @@ -7,7 +7,7 @@ enum Api { | ||
7 | } | 7 | } |
8 | 8 | ||
9 | /** | 9 | /** |
10 | - * @description: 根据id获取用户菜单 | 10 | + * @description: Get user menu based on id |
11 | */ | 11 | */ |
12 | export function getMenuListById(params: getMenuListByIdParams) { | 12 | export function getMenuListById(params: getMenuListByIdParams) { |
13 | return defHttp.request<getMenuListByIdParamsResultModel>({ | 13 | return defHttp.request<getMenuListByIdParamsResultModel>({ |
src/api/sys/model/menuModel.ts
@@ -11,13 +11,13 @@ export interface RouteItem { | @@ -11,13 +11,13 @@ export interface RouteItem { | ||
11 | } | 11 | } |
12 | 12 | ||
13 | /** | 13 | /** |
14 | - * @description: 获取菜单接口 | 14 | + * @description: Get menu interface |
15 | */ | 15 | */ |
16 | export interface getMenuListByIdParams { | 16 | export interface getMenuListByIdParams { |
17 | id: number | string; | 17 | id: number | string; |
18 | } | 18 | } |
19 | 19 | ||
20 | /** | 20 | /** |
21 | - * @description: 获取菜单返回值 | 21 | + * @description: Get menu return value |
22 | */ | 22 | */ |
23 | export type getMenuListByIdParamsResultModel = RouteItem[]; | 23 | export type getMenuListByIdParamsResultModel = RouteItem[]; |
src/api/sys/upload.ts
src/components/Authority/index.ts
src/components/Authority/src/index.vue
1 | +<!-- | ||
2 | + * @Author: Vben | ||
3 | + * @Description:Access control component for fine-grained access control. | ||
4 | +--> | ||
1 | <script lang="ts"> | 5 | <script lang="ts"> |
2 | import type { PropType } from 'vue'; | 6 | import type { PropType } from 'vue'; |
3 | import { defineComponent, computed, unref } from 'vue'; | 7 | import { defineComponent, computed, unref } from 'vue'; |
4 | 8 | ||
5 | import { PermissionModeEnum } from '/@/enums/appEnum'; | 9 | import { PermissionModeEnum } from '/@/enums/appEnum'; |
6 | import { RoleEnum } from '/@/enums/roleEnum'; | 10 | import { RoleEnum } from '/@/enums/roleEnum'; |
11 | + | ||
7 | import { usePermission } from '/@/hooks/web/usePermission'; | 12 | import { usePermission } from '/@/hooks/web/usePermission'; |
8 | import { appStore } from '/@/store/modules/app'; | 13 | import { appStore } from '/@/store/modules/app'; |
14 | + | ||
9 | import { getSlot } from '/@/utils/helper/tsxHelper'; | 15 | import { getSlot } from '/@/utils/helper/tsxHelper'; |
10 | 16 | ||
11 | export default defineComponent({ | 17 | export default defineComponent({ |
12 | name: 'Authority', | 18 | name: 'Authority', |
13 | props: { | 19 | props: { |
14 | - // 指定角色可见 | 20 | + /** |
21 | + * Specified role is visible | ||
22 | + * When the permission mode is the role mode, the value value can pass the role value. | ||
23 | + * When the permission mode is background, the value value can pass the code permission value | ||
24 | + * @default '' | ||
25 | + */ | ||
15 | value: { | 26 | value: { |
16 | type: [Number, Array, String] as PropType<RoleEnum | RoleEnum[] | string | string[]>, | 27 | type: [Number, Array, String] as PropType<RoleEnum | RoleEnum[] | string | string[]>, |
17 | default: '', | 28 | default: '', |
@@ -23,7 +34,7 @@ | @@ -23,7 +34,7 @@ | ||
23 | }); | 34 | }); |
24 | 35 | ||
25 | /** | 36 | /** |
26 | - * 渲染角色按钮 | 37 | + * Render role button |
27 | */ | 38 | */ |
28 | function renderRoleAuth() { | 39 | function renderRoleAuth() { |
29 | const { value } = props; | 40 | const { value } = props; |
@@ -34,10 +45,8 @@ | @@ -34,10 +45,8 @@ | ||
34 | return hasPermission(value) ? getSlot(slots) : null; | 45 | return hasPermission(value) ? getSlot(slots) : null; |
35 | } | 46 | } |
36 | 47 | ||
37 | - /** | ||
38 | - * 渲染编码按钮 | ||
39 | - * 这里只判断是否包含,具体实现可以根据项目自行写逻辑 | ||
40 | - */ | 48 | + // Render coding button |
49 | + // Here only judge whether it is included, the specific implementation can be written according to the project logic | ||
41 | function renderCodeAuth() { | 50 | function renderCodeAuth() { |
42 | const { value } = props; | 51 | const { value } = props; |
43 | if (!value) { | 52 | if (!value) { |
@@ -49,12 +58,12 @@ | @@ -49,12 +58,12 @@ | ||
49 | 58 | ||
50 | return () => { | 59 | return () => { |
51 | const mode = unref(getModeRef); | 60 | const mode = unref(getModeRef); |
52 | - // 基于角色渲染 | 61 | + // Role-based value control |
53 | if (mode === PermissionModeEnum.ROLE) { | 62 | if (mode === PermissionModeEnum.ROLE) { |
54 | return renderRoleAuth(); | 63 | return renderRoleAuth(); |
55 | } | 64 | } |
56 | 65 | ||
57 | - // 基于后台编码渲染 | 66 | + // Based on background role permission control |
58 | if (mode === PermissionModeEnum.BACK) { | 67 | if (mode === PermissionModeEnum.BACK) { |
59 | return renderCodeAuth(); | 68 | return renderCodeAuth(); |
60 | } | 69 | } |
src/components/Basic/src/BasicArrow.vue
src/components/Basic/src/BasicHelp.vue
@@ -71,9 +71,6 @@ | @@ -71,9 +71,6 @@ | ||
71 | return props.absolute ? props.position : {}; | 71 | return props.absolute ? props.position : {}; |
72 | }); | 72 | }); |
73 | 73 | ||
74 | - /** | ||
75 | - * @description: 渲染内容 | ||
76 | - */ | ||
77 | const renderTitle = () => { | 74 | const renderTitle = () => { |
78 | const list = props.text; | 75 | const list = props.text; |
79 | if (isString(list)) { | 76 | if (isString(list)) { |
@@ -89,6 +86,7 @@ | @@ -89,6 +86,7 @@ | ||
89 | 86 | ||
90 | return () => { | 87 | return () => { |
91 | return h( | 88 | return h( |
89 | + // @ts-ignores | ||
92 | Tooltip, | 90 | Tooltip, |
93 | { | 91 | { |
94 | title: h( | 92 | title: h( |
src/components/Button/index.vue
@@ -12,33 +12,19 @@ | @@ -12,33 +12,19 @@ | ||
12 | 12 | ||
13 | import { defineComponent, computed } from 'vue'; | 13 | import { defineComponent, computed } from 'vue'; |
14 | import { Button } from 'ant-design-vue'; | 14 | import { Button } from 'ant-design-vue'; |
15 | - // import { extendSlots } from '/@/utils/helper/tsxHelper'; | ||
16 | - // import { useThrottle } from '/@/hooks/core/useThrottle'; | ||
17 | - // import { isFunction } from '/@/utils/is'; | ||
18 | import Icon from '/@/components/Icon'; | 15 | import Icon from '/@/components/Icon'; |
19 | export default defineComponent({ | 16 | export default defineComponent({ |
20 | name: 'AButton', | 17 | name: 'AButton', |
21 | inheritAttrs: false, | 18 | inheritAttrs: false, |
22 | components: { Button, Icon }, | 19 | components: { Button, Icon }, |
23 | props: { | 20 | props: { |
24 | - // 按钮类型 | ||
25 | type: { | 21 | type: { |
26 | type: String as PropType<'primary' | 'default' | 'danger' | 'dashed' | 'link'>, | 22 | type: String as PropType<'primary' | 'default' | 'danger' | 'dashed' | 'link'>, |
27 | default: 'default', | 23 | default: 'default', |
28 | }, | 24 | }, |
29 | - // 节流防抖类型 throttle debounce | ||
30 | - // throttle: { | ||
31 | - // type: String as PropType<'throttle' | 'debounce'>, | ||
32 | - // default: 'throttle', | ||
33 | - // }, | ||
34 | color: { | 25 | color: { |
35 | type: String as PropType<'error' | 'warning' | 'success' | ''>, | 26 | type: String as PropType<'error' | 'warning' | 'success' | ''>, |
36 | }, | 27 | }, |
37 | - // // 防抖节流时间 | ||
38 | - // throttleTime: { | ||
39 | - // type: Number as PropType<number>, | ||
40 | - // default: 50, | ||
41 | - // }, | ||
42 | loading: { | 28 | loading: { |
43 | type: Boolean as PropType<boolean>, | 29 | type: Boolean as PropType<boolean>, |
44 | default: false, | 30 | default: false, |
@@ -58,42 +44,15 @@ | @@ -58,42 +44,15 @@ | ||
58 | const getIsCircleBtn = computed(() => { | 44 | const getIsCircleBtn = computed(() => { |
59 | return attrs.shape === 'circle'; | 45 | return attrs.shape === 'circle'; |
60 | }); | 46 | }); |
61 | - // const getListeners = computed(() => { | ||
62 | - // const { throttle, throttleTime = 0 } = props; | ||
63 | - // // 是否开启节流防抖 | ||
64 | - // const throttleType = throttle!.toLowerCase(); | ||
65 | - // const isDebounce = throttleType === 'debounce'; | ||
66 | - // const openThrottle = ['throttle', 'debounce'].includes(throttleType) && throttleTime > 0; | ||
67 | - // if (!openThrottle) { | ||
68 | - // return { | ||
69 | - // ...attrs, | ||
70 | - // }; | ||
71 | - // } | ||
72 | - | ||
73 | - // const on: { | ||
74 | - // onClick?: Fn; | ||
75 | - // } = {}; | ||
76 | - | ||
77 | - // if (attrs.onClick && isFunction(attrs.onClick) && openThrottle) { | ||
78 | - // const [handler] = useThrottle(attrs.onClick as any, throttleTime!, { | ||
79 | - // debounce: isDebounce, | ||
80 | - // immediate: false, | ||
81 | - // }); | ||
82 | - // on.onClick = handler; | ||
83 | - // } | ||
84 | - | ||
85 | - // return { | ||
86 | - // ...attrs, | ||
87 | - // ...on, | ||
88 | - // }; | ||
89 | - // }); | ||
90 | 47 | ||
91 | const getColor = computed(() => { | 48 | const getColor = computed(() => { |
92 | - const res: string[] = []; | ||
93 | const { color, disabled } = props; | 49 | const { color, disabled } = props; |
94 | - color && res.push(`ant-btn-${color}`); | ||
95 | - disabled && res.push('is-disabled'); | ||
96 | - return res; | 50 | + return [ |
51 | + { | ||
52 | + [`ant-btn-${color}`]: !!color, | ||
53 | + [`is-disabled`]: disabled, | ||
54 | + }, | ||
55 | + ]; | ||
97 | }); | 56 | }); |
98 | 57 | ||
99 | const getBindValue = computed((): any => { | 58 | const getBindValue = computed((): any => { |
src/components/Container/src/LazyContainer.vue
@@ -22,7 +22,8 @@ | @@ -22,7 +22,8 @@ | ||
22 | import { defineComponent, reactive, onMounted, ref, toRef, toRefs } from 'vue'; | 22 | import { defineComponent, reactive, onMounted, ref, toRef, toRefs } from 'vue'; |
23 | 23 | ||
24 | import { Skeleton } from 'ant-design-vue'; | 24 | import { Skeleton } from 'ant-design-vue'; |
25 | - import { useTimeoutFn, useIntersectionObserver } from '@vueuse/core'; | 25 | + import { useTimeoutFn } from '@vueuse/core'; |
26 | + import { useIntersectionObserver } from '/@/hooks/event/useIntersectionObserver'; | ||
26 | interface State { | 27 | interface State { |
27 | isInit: boolean; | 28 | isInit: boolean; |
28 | loading: boolean; | 29 | loading: boolean; |
src/components/Container/src/collapse/CollapseContainer.vue
@@ -43,23 +43,22 @@ | @@ -43,23 +43,22 @@ | ||
43 | }, | 43 | }, |
44 | name: 'CollapseContainer', | 44 | name: 'CollapseContainer', |
45 | props: { | 45 | props: { |
46 | - // 标题 | ||
47 | title: { | 46 | title: { |
48 | type: String as PropType<string>, | 47 | type: String as PropType<string>, |
49 | default: '', | 48 | default: '', |
50 | }, | 49 | }, |
51 | - // 是否可以展开 | 50 | + // Can it be expanded |
52 | canExpan: { | 51 | canExpan: { |
53 | type: Boolean as PropType<boolean>, | 52 | type: Boolean as PropType<boolean>, |
54 | default: true, | 53 | default: true, |
55 | }, | 54 | }, |
56 | - // 标题右侧温馨提醒 | 55 | + // Warm reminder on the right side of the title |
57 | helpMessage: { | 56 | helpMessage: { |
58 | type: [Array, String] as PropType<string[] | string>, | 57 | type: [Array, String] as PropType<string[] | string>, |
59 | default: '', | 58 | default: '', |
60 | }, | 59 | }, |
61 | - // 展开收缩的时候是否触发window.resize, | ||
62 | - // 可以适应表格和表单,当表单收缩起来,表格触发resize 自适应高度 | 60 | + // Whether to trigger window.resize when expanding and contracting, |
61 | + // Can adapt to tables and forms, when the form shrinks, the form triggers resize to adapt to the height | ||
63 | triggerWindowResize: { | 62 | triggerWindowResize: { |
64 | type: Boolean as PropType<boolean>, | 63 | type: Boolean as PropType<boolean>, |
65 | default: false, | 64 | default: false, |
@@ -68,12 +67,12 @@ | @@ -68,12 +67,12 @@ | ||
68 | type: Boolean as PropType<boolean>, | 67 | type: Boolean as PropType<boolean>, |
69 | default: false, | 68 | default: false, |
70 | }, | 69 | }, |
71 | - // 延时加载 | 70 | + // Delayed loading |
72 | lazy: { | 71 | lazy: { |
73 | type: Boolean as PropType<boolean>, | 72 | type: Boolean as PropType<boolean>, |
74 | default: false, | 73 | default: false, |
75 | }, | 74 | }, |
76 | - // 延时加载时间 | 75 | + // Delayed loading time |
77 | lazyTime: { | 76 | lazyTime: { |
78 | type: Number as PropType<number>, | 77 | type: Number as PropType<number>, |
79 | default: 0, | 78 | default: 0, |
@@ -82,14 +81,14 @@ | @@ -82,14 +81,14 @@ | ||
82 | setup(props) { | 81 | setup(props) { |
83 | const showRef = ref(true); | 82 | const showRef = ref(true); |
84 | /** | 83 | /** |
85 | - * @description: 处理开展事件 | 84 | + * @description: Handling development events |
86 | */ | 85 | */ |
87 | function handleExpand() { | 86 | function handleExpand() { |
88 | const hasShow = !unref(showRef); | 87 | const hasShow = !unref(showRef); |
89 | showRef.value = hasShow; | 88 | showRef.value = hasShow; |
90 | 89 | ||
91 | if (props.triggerWindowResize) { | 90 | if (props.triggerWindowResize) { |
92 | - // 这里200毫秒是因为展开有动画, | 91 | + // 200 milliseconds here is because the expansion has animation, |
93 | useTimeoutFn(triggerWindowResize, 200); | 92 | useTimeoutFn(triggerWindowResize, 200); |
94 | } | 93 | } |
95 | } | 94 | } |
src/components/ContextMenu/src/props.ts
@@ -9,25 +9,23 @@ export const props = { | @@ -9,25 +9,23 @@ export const props = { | ||
9 | type: Object as PropType<Event>, | 9 | type: Object as PropType<Event>, |
10 | default: null, | 10 | default: null, |
11 | }, | 11 | }, |
12 | - // 样式 | ||
13 | styles: { | 12 | styles: { |
14 | type: Object as PropType<any>, | 13 | type: Object as PropType<any>, |
15 | default: null, | 14 | default: null, |
16 | }, | 15 | }, |
17 | showIcon: { | 16 | showIcon: { |
18 | - // 是否显示icon | ||
19 | type: Boolean as PropType<boolean>, | 17 | type: Boolean as PropType<boolean>, |
20 | default: true, | 18 | default: true, |
21 | }, | 19 | }, |
22 | axis: { | 20 | axis: { |
23 | - // 鼠标右键点击的位置 | 21 | + // The position of the right mouse button click |
24 | type: Object as PropType<Axis>, | 22 | type: Object as PropType<Axis>, |
25 | default() { | 23 | default() { |
26 | return { x: 0, y: 0 }; | 24 | return { x: 0, y: 0 }; |
27 | }, | 25 | }, |
28 | }, | 26 | }, |
29 | items: { | 27 | items: { |
30 | - // 最重要的列表,没有的话直接不显示 | 28 | + // The most important list, if not, will not be displayed |
31 | type: Array as PropType<ContextMenuItem[]>, | 29 | type: Array as PropType<ContextMenuItem[]>, |
32 | default() { | 30 | default() { |
33 | return []; | 31 | return []; |
src/components/CountTo/index.ts
src/components/Description/src/index.tsx
@@ -14,9 +14,8 @@ export default defineComponent({ | @@ -14,9 +14,8 @@ export default defineComponent({ | ||
14 | props: descProps, | 14 | props: descProps, |
15 | emits: ['register'], | 15 | emits: ['register'], |
16 | setup(props, { attrs, slots, emit }) { | 16 | setup(props, { attrs, slots, emit }) { |
17 | - // props来自设置 | ||
18 | const propsRef = ref<Partial<DescOptions> | null>(null); | 17 | const propsRef = ref<Partial<DescOptions> | null>(null); |
19 | - // 自定义title组件:获得title | 18 | + // Custom title component: get title |
20 | const getMergeProps = computed(() => { | 19 | const getMergeProps = computed(() => { |
21 | return { | 20 | return { |
22 | ...props, | 21 | ...props, |
@@ -34,19 +33,19 @@ export default defineComponent({ | @@ -34,19 +33,19 @@ export default defineComponent({ | ||
34 | }); | 33 | }); |
35 | 34 | ||
36 | /** | 35 | /** |
37 | - * @description: 是否使用标题 | 36 | + * @description: Whether to use title |
38 | */ | 37 | */ |
39 | const useWrapper = computed(() => { | 38 | const useWrapper = computed(() => { |
40 | return !!unref(getMergeProps).title; | 39 | return !!unref(getMergeProps).title; |
41 | }); | 40 | }); |
42 | 41 | ||
43 | /** | 42 | /** |
44 | - * @description: 获取配置Collapse | 43 | + * @description: Get configuration Collapse |
45 | */ | 44 | */ |
46 | const getCollapseOptions = computed( | 45 | const getCollapseOptions = computed( |
47 | (): CollapseContainerOptions => { | 46 | (): CollapseContainerOptions => { |
48 | return { | 47 | return { |
49 | - // 默认不能展开 | 48 | + // Cannot be expanded by default |
50 | canExpand: false, | 49 | canExpand: false, |
51 | ...unref(getProps).collapseOptions, | 50 | ...unref(getProps).collapseOptions, |
52 | }; | 51 | }; |
@@ -57,7 +56,7 @@ export default defineComponent({ | @@ -57,7 +56,7 @@ export default defineComponent({ | ||
57 | * @description:设置desc | 56 | * @description:设置desc |
58 | */ | 57 | */ |
59 | function setDescProps(descProps: Partial<DescOptions>): void { | 58 | function setDescProps(descProps: Partial<DescOptions>): void { |
60 | - // 保留上一次的setDrawerProps | 59 | + // Keep the last setDrawerProps |
61 | const mergeProps = deepMerge(unref(propsRef) || {}, descProps); | 60 | const mergeProps = deepMerge(unref(propsRef) || {}, descProps); |
62 | propsRef.value = cloneDeep(mergeProps); | 61 | propsRef.value = cloneDeep(mergeProps); |
63 | } | 62 | } |
@@ -68,7 +67,7 @@ export default defineComponent({ | @@ -68,7 +67,7 @@ export default defineComponent({ | ||
68 | 67 | ||
69 | emit('register', methods); | 68 | emit('register', methods); |
70 | 69 | ||
71 | - // 防止换行 | 70 | + // Prevent line breaks |
72 | function renderLabel({ label, labelMinWidth, labelStyle }: DescItem) { | 71 | function renderLabel({ label, labelMinWidth, labelStyle }: DescItem) { |
73 | if (!labelStyle && !labelMinWidth) { | 72 | if (!labelStyle && !labelMinWidth) { |
74 | return label; | 73 | return label; |
@@ -101,7 +100,6 @@ export default defineComponent({ | @@ -101,7 +100,6 @@ export default defineComponent({ | ||
101 | 100 | ||
102 | const width = contentMinWidth; | 101 | const width = contentMinWidth; |
103 | return ( | 102 | return ( |
104 | - // @ts-ignore | ||
105 | <Descriptions.Item label={renderLabel(item)} key={field} span={span}> | 103 | <Descriptions.Item label={renderLabel(item)} key={field} span={span}> |
106 | {() => | 104 | {() => |
107 | contentMinWidth ? ( | 105 | contentMinWidth ? ( |
@@ -131,7 +129,7 @@ export default defineComponent({ | @@ -131,7 +129,7 @@ export default defineComponent({ | ||
131 | 129 | ||
132 | const renderContainer = () => { | 130 | const renderContainer = () => { |
133 | const content = props.useCollapse ? renderDesc() : <div>{renderDesc()}</div>; | 131 | const content = props.useCollapse ? renderDesc() : <div>{renderDesc()}</div>; |
134 | - // 减少dom层级 | 132 | + // Reduce the dom level |
135 | return props.useCollapse ? ( | 133 | return props.useCollapse ? ( |
136 | <CollapseContainer | 134 | <CollapseContainer |
137 | title={unref(getMergeProps).title} | 135 | title={unref(getMergeProps).title} |
src/components/Description/src/types.ts
@@ -2,7 +2,6 @@ import type { VNode } from 'vue'; | @@ -2,7 +2,6 @@ import type { VNode } from 'vue'; | ||
2 | import type { CollapseContainerOptions } from '/@/components/Container/index'; | 2 | import type { CollapseContainerOptions } from '/@/components/Container/index'; |
3 | 3 | ||
4 | export interface DescItem { | 4 | export interface DescItem { |
5 | - // 最小宽度 | ||
6 | labelMinWidth?: number; | 5 | labelMinWidth?: number; |
7 | 6 | ||
8 | contentMinWidth?: number; | 7 | contentMinWidth?: number; |
@@ -11,7 +10,7 @@ export interface DescItem { | @@ -11,7 +10,7 @@ export interface DescItem { | ||
11 | 10 | ||
12 | field: string; | 11 | field: string; |
13 | label: any; | 12 | label: any; |
14 | - // 和并列 | 13 | + // Merge column |
15 | span?: number; | 14 | span?: number; |
16 | show?: (...arg: any) => boolean; | 15 | show?: (...arg: any) => boolean; |
17 | // render | 16 | // render |
@@ -19,10 +18,10 @@ export interface DescItem { | @@ -19,10 +18,10 @@ export interface DescItem { | ||
19 | } | 18 | } |
20 | 19 | ||
21 | export interface DescOptions { | 20 | export interface DescOptions { |
22 | - // 是否包含collapse组件 | 21 | + // Whether to include the collapse component |
23 | useCollapse?: boolean; | 22 | useCollapse?: boolean; |
24 | /** | 23 | /** |
25 | - * item配置 | 24 | + * item configuration |
26 | * @type DescItem | 25 | * @type DescItem |
27 | */ | 26 | */ |
28 | schema: DescItem[]; | 27 | schema: DescItem[]; |
@@ -32,7 +31,7 @@ export interface DescOptions { | @@ -32,7 +31,7 @@ export interface DescOptions { | ||
32 | */ | 31 | */ |
33 | data: any; | 32 | data: any; |
34 | /** | 33 | /** |
35 | - * 内置的CollapseContainer组件配置 | 34 | + * Built-in CollapseContainer component configuration |
36 | * @type CollapseContainerOptions | 35 | * @type CollapseContainerOptions |
37 | */ | 36 | */ |
38 | collapseOptions?: CollapseContainerOptions; | 37 | collapseOptions?: CollapseContainerOptions; |
src/components/Drawer/src/BasicDrawer.tsx
@@ -71,7 +71,7 @@ export default defineComponent({ | @@ -71,7 +71,7 @@ export default defineComponent({ | ||
71 | } | 71 | } |
72 | ); | 72 | ); |
73 | 73 | ||
74 | - // 底部按钮自定义实现, | 74 | + // Custom implementation of the bottom button, |
75 | const getFooterHeight = computed(() => { | 75 | const getFooterHeight = computed(() => { |
76 | const { footerHeight, showFooter }: DrawerProps = unref(getProps); | 76 | const { footerHeight, showFooter }: DrawerProps = unref(getProps); |
77 | if (showFooter && footerHeight) { | 77 | if (showFooter && footerHeight) { |
@@ -80,7 +80,7 @@ export default defineComponent({ | @@ -80,7 +80,7 @@ export default defineComponent({ | ||
80 | return `0px`; | 80 | return `0px`; |
81 | }); | 81 | }); |
82 | 82 | ||
83 | - // 取消事件 | 83 | + // Cancel event |
84 | async function onClose(e: any) { | 84 | async function onClose(e: any) { |
85 | const { closeFunc } = unref(getProps); | 85 | const { closeFunc } = unref(getProps); |
86 | emit('close', e); | 86 | emit('close', e); |
@@ -93,7 +93,7 @@ export default defineComponent({ | @@ -93,7 +93,7 @@ export default defineComponent({ | ||
93 | } | 93 | } |
94 | 94 | ||
95 | function setDrawerProps(props: Partial<DrawerProps>): void { | 95 | function setDrawerProps(props: Partial<DrawerProps>): void { |
96 | - // 保留上一次的setDrawerProps | 96 | + // Keep the last setDrawerProps |
97 | propsRef.value = deepMerge(unref(propsRef) || {}, props); | 97 | propsRef.value = deepMerge(unref(propsRef) || {}, props); |
98 | if (Reflect.has(props, 'visible')) { | 98 | if (Reflect.has(props, 'visible')) { |
99 | visibleRef.value = !!props.visible; | 99 | visibleRef.value = !!props.visible; |
src/components/Drawer/src/props.ts
1 | import type { PropType } from 'vue'; | 1 | import type { PropType } from 'vue'; |
2 | -// import {DrawerProps} from './types' | ||
3 | export const footerProps = { | 2 | export const footerProps = { |
4 | confirmLoading: Boolean as PropType<boolean>, | 3 | confirmLoading: Boolean as PropType<boolean>, |
5 | /** | 4 | /** |
6 | - * @description: 显示关闭按钮 | 5 | + * @description: Show close button |
7 | */ | 6 | */ |
8 | showCancelBtn: { | 7 | showCancelBtn: { |
9 | type: Boolean as PropType<boolean>, | 8 | type: Boolean as PropType<boolean>, |
@@ -15,7 +14,7 @@ export const footerProps = { | @@ -15,7 +14,7 @@ export const footerProps = { | ||
15 | default: '关闭', | 14 | default: '关闭', |
16 | }, | 15 | }, |
17 | /** | 16 | /** |
18 | - * @description: 显示确认按钮 | 17 | + * @description: Show confirmation button |
19 | */ | 18 | */ |
20 | showOkBtn: { | 19 | showOkBtn: { |
21 | type: Boolean as PropType<boolean>, | 20 | type: Boolean as PropType<boolean>, |
src/components/Drawer/src/types.ts
@@ -73,7 +73,7 @@ export interface DrawerProps extends DrawerFooterProps { | @@ -73,7 +73,7 @@ export interface DrawerProps extends DrawerFooterProps { | ||
73 | showDetailBack?: boolean; | 73 | showDetailBack?: boolean; |
74 | visible?: boolean; | 74 | visible?: boolean; |
75 | /** | 75 | /** |
76 | - * 内置的ScrollContainer组件配置 | 76 | + * Built-in ScrollContainer component configuration |
77 | * @type ScrollContainerOptions | 77 | * @type ScrollContainerOptions |
78 | */ | 78 | */ |
79 | scrollOptions?: ScrollContainerOptions; | 79 | scrollOptions?: ScrollContainerOptions; |
src/components/Drawer/src/useDrawer.ts
@@ -22,7 +22,7 @@ import { isFunction } from '/@/utils/is'; | @@ -22,7 +22,7 @@ import { isFunction } from '/@/utils/is'; | ||
22 | 22 | ||
23 | const dataTransferRef = reactive<any>({}); | 23 | const dataTransferRef = reactive<any>({}); |
24 | /** | 24 | /** |
25 | - * @description: 适用于将drawer独立出去,外面调用 | 25 | + * @description: Applicable to separate drawer and call outside |
26 | */ | 26 | */ |
27 | export function useDrawer(): UseDrawerReturnType { | 27 | export function useDrawer(): UseDrawerReturnType { |
28 | if (!getCurrentInstance()) { | 28 | if (!getCurrentInstance()) { |
src/components/Dropdown/props.ts
1 | import type { PropType } from 'vue'; | 1 | import type { PropType } from 'vue'; |
2 | -/** | ||
3 | - * @description: 基础表格参数配置 | ||
4 | - */ | 2 | + |
5 | export const dropdownProps = { | 3 | export const dropdownProps = { |
6 | /** | 4 | /** |
7 | * the trigger mode which executes the drop-down action | 5 | * the trigger mode which executes the drop-down action |
@@ -14,52 +12,6 @@ export const dropdownProps = { | @@ -14,52 +12,6 @@ export const dropdownProps = { | ||
14 | return ['contextmenu']; | 12 | return ['contextmenu']; |
15 | }, | 13 | }, |
16 | }, | 14 | }, |
17 | - | ||
18 | - // /** | ||
19 | - // * the dropdown menu | ||
20 | - // * @type () => Menu | ||
21 | - // */ | ||
22 | - // overlay: { | ||
23 | - // type: null, | ||
24 | - // }, | ||
25 | - | ||
26 | - // /** | ||
27 | - // * Class name of the dropdown root element | ||
28 | - // * @type string | ||
29 | - // */ | ||
30 | - // overlayClassName: String, | ||
31 | - | ||
32 | - // /** | ||
33 | - // * Style of the dropdown root element | ||
34 | - // * @type object | ||
35 | - // */ | ||
36 | - // overlayStyle: Object, | ||
37 | - | ||
38 | - // /** | ||
39 | - // * whether the dropdown menu is visible | ||
40 | - // * @type boolean | ||
41 | - // */ | ||
42 | - // visible: Boolean, | ||
43 | - | ||
44 | - // /** | ||
45 | - // * whether the dropdown menu is disabled | ||
46 | - // * @type boolean | ||
47 | - // */ | ||
48 | - // disabled: Boolean, | ||
49 | - | ||
50 | - // /** | ||
51 | - // * to set the ontainer of the dropdown menu. The default is to create a div element in body, you can reset it to the scrolling area and make a relative reposition. | ||
52 | - // * @default () => document.body | ||
53 | - // * @type Function | ||
54 | - // */ | ||
55 | - // getPopupContainer: Function, | ||
56 | - | ||
57 | - // /** | ||
58 | - // * placement of pop menu: bottomLeft bottomCenter bottomRight topLeft topCenter topRight | ||
59 | - // * @default 'bottomLeft' | ||
60 | - // * @type string | ||
61 | - // */ | ||
62 | - // placement: String, | ||
63 | }; | 15 | }; |
64 | export const basicDropdownProps = Object.assign({}, dropdownProps, { | 16 | export const basicDropdownProps = Object.assign({}, dropdownProps, { |
65 | dropMenuList: { | 17 | dropMenuList: { |
src/components/Form/src/BasicForm.vue
@@ -27,7 +27,7 @@ | @@ -27,7 +27,7 @@ | ||
27 | <script lang="ts"> | 27 | <script lang="ts"> |
28 | import type { FormActionType, FormProps, FormSchema } from './types/form'; | 28 | import type { FormActionType, FormProps, FormSchema } from './types/form'; |
29 | import type { AdvanceState } from './types/hooks'; | 29 | import type { AdvanceState } from './types/hooks'; |
30 | - import type { Ref } from 'vue'; | 30 | + import type { Ref, WatchStopHandle } from 'vue'; |
31 | import type { ValidateFields } from 'ant-design-vue/lib/form/interface'; | 31 | import type { ValidateFields } from 'ant-design-vue/lib/form/interface'; |
32 | 32 | ||
33 | import { defineComponent, reactive, ref, computed, unref, toRef, onMounted, watch } from 'vue'; | 33 | import { defineComponent, reactive, ref, computed, unref, toRef, onMounted, watch } from 'vue'; |
@@ -66,6 +66,7 @@ | @@ -66,6 +66,7 @@ | ||
66 | }); | 66 | }); |
67 | 67 | ||
68 | const defaultValueRef = ref<any>({}); | 68 | const defaultValueRef = ref<any>({}); |
69 | + const isInitedDefaultRef = ref(false); | ||
69 | const propsRef = ref<Partial<FormProps>>({}); | 70 | const propsRef = ref<Partial<FormProps>>({}); |
70 | const schemaRef = ref<Nullable<FormSchema[]>>(null); | 71 | const schemaRef = ref<Nullable<FormSchema[]>>(null); |
71 | const formElRef = ref<Nullable<FormActionType>>(null); | 72 | const formElRef = ref<Nullable<FormActionType>>(null); |
@@ -164,16 +165,19 @@ | @@ -164,16 +165,19 @@ | ||
164 | } | 165 | } |
165 | ); | 166 | ); |
166 | 167 | ||
167 | - watch( | 168 | + const stopWatch: WatchStopHandle = watch( |
168 | () => getSchema.value, | 169 | () => getSchema.value, |
169 | - () => { | ||
170 | - initDefault(); | 170 | + (schema) => { |
171 | + if (unref(isInitedDefaultRef)) { | ||
172 | + return stopWatch(); | ||
173 | + } | ||
174 | + if (schema && schema.length) { | ||
175 | + initDefault(); | ||
176 | + isInitedDefaultRef.value = true; | ||
177 | + } | ||
171 | } | 178 | } |
172 | ); | 179 | ); |
173 | 180 | ||
174 | - /** | ||
175 | - * @description:设置表单 | ||
176 | - */ | ||
177 | function setProps(formProps: Partial<FormProps>): void { | 181 | function setProps(formProps: Partial<FormProps>): void { |
178 | const mergeProps = deepMerge(unref(propsRef) || {}, formProps); | 182 | const mergeProps = deepMerge(unref(propsRef) || {}, formProps); |
179 | propsRef.value = mergeProps; | 183 | propsRef.value = mergeProps; |
src/components/Form/src/componentMap.ts
src/components/Form/src/hooks/useAdvanced.ts
@@ -114,7 +114,7 @@ export default function ({ | @@ -114,7 +114,7 @@ export default function ({ | ||
114 | ) { | 114 | ) { |
115 | advanceState.hideAdvanceBtn = false; | 115 | advanceState.hideAdvanceBtn = false; |
116 | 116 | ||
117 | - // 大于3行默认收起 | 117 | + // More than 3 lines collapsed by default |
118 | } else if (!advanceState.isLoad) { | 118 | } else if (!advanceState.isLoad) { |
119 | advanceState.isLoad = true; | 119 | advanceState.isLoad = true; |
120 | advanceState.isAdvanced = !advanceState.isAdvanced; | 120 | advanceState.isAdvanced = !advanceState.isAdvanced; |
@@ -124,7 +124,7 @@ export default function ({ | @@ -124,7 +124,7 @@ export default function ({ | ||
124 | if (itemColSum > BASIC_COL_LEN) { | 124 | if (itemColSum > BASIC_COL_LEN) { |
125 | return { isAdvanced: advanceState.isAdvanced, itemColSum }; | 125 | return { isAdvanced: advanceState.isAdvanced, itemColSum }; |
126 | } else { | 126 | } else { |
127 | - // 第一行始终显示 | 127 | + // The first line is always displayed |
128 | return { isAdvanced: true, itemColSum }; | 128 | return { isAdvanced: true, itemColSum }; |
129 | } | 129 | } |
130 | } | 130 | } |
src/components/Form/src/hooks/useFormAction.ts
@@ -62,7 +62,7 @@ export function useFormAction({ | @@ -62,7 +62,7 @@ export function useFormAction({ | ||
62 | Object.keys(values).forEach((key) => { | 62 | Object.keys(values).forEach((key) => { |
63 | const element = values[key]; | 63 | const element = values[key]; |
64 | if (element !== undefined && element !== null && fields.includes(key)) { | 64 | if (element !== undefined && element !== null && fields.includes(key)) { |
65 | - // 时间 | 65 | + // time type |
66 | if (itemIsDateType(key)) { | 66 | if (itemIsDateType(key)) { |
67 | if (Array.isArray(element)) { | 67 | if (Array.isArray(element)) { |
68 | const arr: any[] = []; | 68 | const arr: any[] = []; |
@@ -84,7 +84,7 @@ export function useFormAction({ | @@ -84,7 +84,7 @@ export function useFormAction({ | ||
84 | // } | 84 | // } |
85 | } | 85 | } |
86 | /** | 86 | /** |
87 | - * @description: 根据字段名删除 | 87 | + * @description: Delete based on field name |
88 | */ | 88 | */ |
89 | function removeSchemaByFiled(fields: string | string[]): void { | 89 | function removeSchemaByFiled(fields: string | string[]): void { |
90 | const schemaList: FormSchema[] = cloneDeep(unref(getSchema)); | 90 | const schemaList: FormSchema[] = cloneDeep(unref(getSchema)); |
@@ -102,7 +102,7 @@ export function useFormAction({ | @@ -102,7 +102,7 @@ export function useFormAction({ | ||
102 | } | 102 | } |
103 | 103 | ||
104 | /** | 104 | /** |
105 | - * @description: 根据字段名删除 | 105 | + * @description: Delete based on field name |
106 | */ | 106 | */ |
107 | function _removeSchemaByFiled(field: string, schemaList: FormSchema[]): void { | 107 | function _removeSchemaByFiled(field: string, schemaList: FormSchema[]): void { |
108 | if (isString(field)) { | 108 | if (isString(field)) { |
@@ -114,7 +114,7 @@ export function useFormAction({ | @@ -114,7 +114,7 @@ export function useFormAction({ | ||
114 | } | 114 | } |
115 | 115 | ||
116 | /** | 116 | /** |
117 | - * @description: 往某个字段后面插入,如果没有插入最后一个 | 117 | + * @description: Insert after a certain field, if not insert the last |
118 | */ | 118 | */ |
119 | function appendSchemaByField(schema: FormSchema, prefixField?: string) { | 119 | function appendSchemaByField(schema: FormSchema, prefixField?: string) { |
120 | const schemaList: FormSchema[] = cloneDeep(unref(getSchema)); | 120 | const schemaList: FormSchema[] = cloneDeep(unref(getSchema)); |
@@ -169,7 +169,7 @@ export function useFormAction({ | @@ -169,7 +169,7 @@ export function useFormAction({ | ||
169 | } | 169 | } |
170 | 170 | ||
171 | /** | 171 | /** |
172 | - * @description: 是否是时间 | 172 | + * @description: Is it time |
173 | */ | 173 | */ |
174 | function itemIsDateType(key: string) { | 174 | function itemIsDateType(key: string) { |
175 | return unref(getSchema).some((item) => { | 175 | return unref(getSchema).some((item) => { |
@@ -193,7 +193,7 @@ export function useFormAction({ | @@ -193,7 +193,7 @@ export function useFormAction({ | ||
193 | } | 193 | } |
194 | 194 | ||
195 | /** | 195 | /** |
196 | - * @description: 表单提交 | 196 | + * @description: Form submission |
197 | */ | 197 | */ |
198 | async function handleSubmit(e?: Event): Promise<void> { | 198 | async function handleSubmit(e?: Event): Promise<void> { |
199 | e && e.preventDefault(); | 199 | e && e.preventDefault(); |
src/components/Form/src/hooks/useFormValues.ts
@@ -18,7 +18,7 @@ export function useFormValues({ | @@ -18,7 +18,7 @@ export function useFormValues({ | ||
18 | getSchema, | 18 | getSchema, |
19 | formModel, | 19 | formModel, |
20 | }: UseFormValuesContext) { | 20 | }: UseFormValuesContext) { |
21 | - // 处理表单值 | 21 | + // Processing form values |
22 | function handleFormValues(values: any) { | 22 | function handleFormValues(values: any) { |
23 | if (!isObject(values)) { | 23 | if (!isObject(values)) { |
24 | return {}; | 24 | return {}; |
@@ -37,7 +37,7 @@ export function useFormValues({ | @@ -37,7 +37,7 @@ export function useFormValues({ | ||
37 | if (isArray(value) && value[0]._isAMomentObject && value[1]._isAMomentObject) { | 37 | if (isArray(value) && value[0]._isAMomentObject && value[1]._isAMomentObject) { |
38 | value = value.map((item) => transformDateFunc(item)); | 38 | value = value.map((item) => transformDateFunc(item)); |
39 | } | 39 | } |
40 | - // 去除空格 | 40 | + // Remove spaces |
41 | if (isString(value)) { | 41 | if (isString(value)) { |
42 | value = value.trim(); | 42 | value = value.trim(); |
43 | } | 43 | } |
@@ -47,7 +47,7 @@ export function useFormValues({ | @@ -47,7 +47,7 @@ export function useFormValues({ | ||
47 | } | 47 | } |
48 | 48 | ||
49 | /** | 49 | /** |
50 | - * @description: 处理时间区间参数 | 50 | + * @description: Processing time interval parameters |
51 | */ | 51 | */ |
52 | function handleRangeTimeValue(values: any) { | 52 | function handleRangeTimeValue(values: any) { |
53 | const fieldMapToTime = unref(fieldMapToTimeRef); | 53 | const fieldMapToTime = unref(fieldMapToTimeRef); |
src/components/Form/src/hooks/useLabelWidth.ts
@@ -31,7 +31,7 @@ export function useItemLabelWidth(schemaItemRef: Ref<FormSchema>, propsRef: Ref< | @@ -31,7 +31,7 @@ export function useItemLabelWidth(schemaItemRef: Ref<FormSchema>, propsRef: Ref< | ||
31 | wrapperCol: globWrapperCol, | 31 | wrapperCol: globWrapperCol, |
32 | } = unref(propsRef) as any; | 32 | } = unref(propsRef) as any; |
33 | 33 | ||
34 | - // 如果全局有设置labelWidth, 则所有item使用 | 34 | + // If labelWidth is set globally, all items use |
35 | if ((!globalLabelWidth && !labelWidth && !globalLabelCol) || disabledLabelWidth) { | 35 | if ((!globalLabelWidth && !labelWidth && !globalLabelCol) || disabledLabelWidth) { |
36 | return { labelCol, wrapperCol }; | 36 | return { labelCol, wrapperCol }; |
37 | } | 37 | } |
src/components/Form/src/types/form.ts
@@ -42,57 +42,57 @@ export type UseFormReturnType = [RegisterFn, FormActionType]; | @@ -42,57 +42,57 @@ export type UseFormReturnType = [RegisterFn, FormActionType]; | ||
42 | 42 | ||
43 | export interface FormProps { | 43 | export interface FormProps { |
44 | // layout?: 'vertical' | 'inline' | 'horizontal'; | 44 | // layout?: 'vertical' | 'inline' | 'horizontal'; |
45 | - // 表单值 | 45 | + // Form value |
46 | model?: any; | 46 | model?: any; |
47 | - // 整个表单所有项宽度 | 47 | + // The width of all items in the entire form |
48 | labelWidth?: number | string; | 48 | labelWidth?: number | string; |
49 | - // 重置时提交 | 49 | + // Submit form on reset |
50 | submitOnReset?: boolean; | 50 | submitOnReset?: boolean; |
51 | - // 整个表单通用Col配置 | 51 | + // Col configuration for the entire form |
52 | labelCol?: Partial<ColEx>; | 52 | labelCol?: Partial<ColEx>; |
53 | - // 整个表单通用Col配置 | 53 | + // Col configuration for the entire form |
54 | wrapperCol?: Partial<ColEx>; | 54 | wrapperCol?: Partial<ColEx>; |
55 | 55 | ||
56 | - // 通用col配置 | 56 | + // General col configuration |
57 | baseColProps?: Partial<ColEx>; | 57 | baseColProps?: Partial<ColEx>; |
58 | 58 | ||
59 | - // 表单配置规则 | 59 | + // Form configuration rules |
60 | schemas?: FormSchema[]; | 60 | schemas?: FormSchema[]; |
61 | - // 用于合并到动态控制表单项的 函数values | 61 | + // Function values used to merge into dynamic control form items |
62 | mergeDynamicData?: any; | 62 | mergeDynamicData?: any; |
63 | - // 紧凑模式,用于搜索表单 | 63 | + // Compact mode for search forms |
64 | compact?: boolean; | 64 | compact?: boolean; |
65 | - // 空白行span | 65 | + // Blank line span |
66 | emptySpan?: number | Partial<ColEx>; | 66 | emptySpan?: number | Partial<ColEx>; |
67 | - // 表单内部组件大小 | 67 | + // Internal component size of the form |
68 | size?: 'default' | 'small' | 'large'; | 68 | size?: 'default' | 'small' | 'large'; |
69 | - // 是否禁用 | 69 | + // Whether to disable |
70 | disabled?: boolean; | 70 | disabled?: boolean; |
71 | - // 时间区间字段映射成多个 | 71 | + // Time interval fields are mapped into multiple |
72 | fieldMapToTime?: FieldMapToTime; | 72 | fieldMapToTime?: FieldMapToTime; |
73 | - // 自动设置placeholder | 73 | + // Placeholder is set automatically |
74 | autoSetPlaceHolder?: boolean; | 74 | autoSetPlaceHolder?: boolean; |
75 | - // 校验信息是否加入label | 75 | + // Check whether the information is added to the label |
76 | rulesMessageJoinLabel?: boolean; | 76 | rulesMessageJoinLabel?: boolean; |
77 | - // 是否显示收起展开按钮 | 77 | + // Whether to show collapse and expand buttons |
78 | showAdvancedButton?: boolean; | 78 | showAdvancedButton?: boolean; |
79 | - // 超过指定行数自动收起 | 79 | + // Automatically collapse over the specified number of rows |
80 | autoAdvancedLine?: number; | 80 | autoAdvancedLine?: number; |
81 | - // 是否显示操作按钮 | 81 | + // Whether to show the operation button |
82 | showActionButtonGroup?: boolean; | 82 | showActionButtonGroup?: boolean; |
83 | 83 | ||
84 | - // 重置按钮配置 | 84 | + // Reset button configuration |
85 | resetButtonOptions?: Partial<ButtonProps>; | 85 | resetButtonOptions?: Partial<ButtonProps>; |
86 | 86 | ||
87 | - // 确认按钮配置 | 87 | + // Confirm button configuration |
88 | submitButtonOptions?: Partial<ButtonProps>; | 88 | submitButtonOptions?: Partial<ButtonProps>; |
89 | 89 | ||
90 | - // 操作列配置 | 90 | + // Operation column configuration |
91 | actionColOptions?: Partial<ColEx>; | 91 | actionColOptions?: Partial<ColEx>; |
92 | 92 | ||
93 | - // 显示重置按钮 | 93 | + // Show reset button |
94 | showResetButton?: boolean; | 94 | showResetButton?: boolean; |
95 | - // 显示确认按钮 | 95 | + // Show confirmation button |
96 | showSubmitButton?: boolean; | 96 | showSubmitButton?: boolean; |
97 | 97 | ||
98 | resetFunc?: () => Promise<void>; | 98 | resetFunc?: () => Promise<void>; |
@@ -101,27 +101,27 @@ export interface FormProps { | @@ -101,27 +101,27 @@ export interface FormProps { | ||
101 | colon?: boolean; | 101 | colon?: boolean; |
102 | } | 102 | } |
103 | export interface FormSchema { | 103 | export interface FormSchema { |
104 | - // 字段名 | 104 | + // Field name |
105 | field: string; | 105 | field: string; |
106 | - // 内部值更改触发的事件名,默认 change | 106 | + // Event name triggered by internal value change, default change |
107 | changeEvent?: string; | 107 | changeEvent?: string; |
108 | - // v-model绑定的变量名 默认 value | 108 | + // Variable name bound to v-model Default value |
109 | valueField?: string; | 109 | valueField?: string; |
110 | - // 标签名 | 110 | + // Label name |
111 | label: string; | 111 | label: string; |
112 | - // 辅助文本 | 112 | + // Auxiliary text |
113 | subLabel?: string; | 113 | subLabel?: string; |
114 | - // 文本右侧帮助文本 | 114 | + // Help text on the right side of the text |
115 | helpMessage?: string | string[]; | 115 | helpMessage?: string | string[]; |
116 | - // BaseHelp组件props | 116 | + // BaseHelp component props |
117 | helpComponentProps?: Partial<HelpComponentProps>; | 117 | helpComponentProps?: Partial<HelpComponentProps>; |
118 | - // label宽度,有传的话 itemProps配置的 labelCol 和WrapperCol会失效 | 118 | + // Label width, if it is passed, the labelCol and WrapperCol configured by itemProps will be invalid |
119 | labelWidth?: string | number; | 119 | labelWidth?: string | number; |
120 | - // 禁用调有formModel全局设置的labelWidth,自己手动设置 labelCol和wrapperCol | 120 | + // Disable the adjustment of labelWidth with global settings of formModel, and manually set labelCol and wrapperCol by yourself |
121 | disabledLabelWidth?: boolean; | 121 | disabledLabelWidth?: boolean; |
122 | - // 组件 | 122 | + // render component |
123 | component: ComponentType; | 123 | component: ComponentType; |
124 | - // 组件参数 | 124 | + // Component parameters |
125 | componentProps?: | 125 | componentProps?: |
126 | | ((opt: { | 126 | | ((opt: { |
127 | schema: FormSchema; | 127 | schema: FormSchema; |
@@ -130,35 +130,35 @@ export interface FormSchema { | @@ -130,35 +130,35 @@ export interface FormSchema { | ||
130 | formModel: any; | 130 | formModel: any; |
131 | }) => any) | 131 | }) => any) |
132 | | object; | 132 | | object; |
133 | - // 必填 | 133 | + // Required |
134 | required?: boolean; | 134 | required?: boolean; |
135 | 135 | ||
136 | - // 校验规则 | 136 | + // Validation rules |
137 | rules?: Rule[]; | 137 | rules?: Rule[]; |
138 | - // 校验信息是否加入label | 138 | + // Check whether the information is added to the label |
139 | rulesMessageJoinLabel?: boolean; | 139 | rulesMessageJoinLabel?: boolean; |
140 | 140 | ||
141 | - // 参考formModelItem | 141 | + // Reference formModelItem |
142 | itemProps?: Partial<FormItem>; | 142 | itemProps?: Partial<FormItem>; |
143 | 143 | ||
144 | - // formModelItem外层的col配置 | 144 | + // col configuration outside formModelItem |
145 | colProps?: Partial<ColEx>; | 145 | colProps?: Partial<ColEx>; |
146 | 146 | ||
147 | // 默认值 | 147 | // 默认值 |
148 | defaultValue?: any; | 148 | defaultValue?: any; |
149 | isAdvanced?: boolean; | 149 | isAdvanced?: boolean; |
150 | 150 | ||
151 | - // 配合详情组件 | 151 | + // Matching details components |
152 | span?: number; | 152 | span?: number; |
153 | 153 | ||
154 | ifShow?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); | 154 | ifShow?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); |
155 | 155 | ||
156 | show?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); | 156 | show?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); |
157 | 157 | ||
158 | - // 渲染form-item标签内的内容 | 158 | + // Render the content in the form-item tag |
159 | render?: (renderCallbackParams: RenderCallbackParams) => VNode | VNode[] | string; | 159 | render?: (renderCallbackParams: RenderCallbackParams) => VNode | VNode[] | string; |
160 | 160 | ||
161 | - // 渲染 col内容,需要外层包裹 form-item | 161 | + // Rendering col content requires outer wrapper form-item |
162 | renderColContent?: (renderCallbackParams: RenderCallbackParams) => VNode | VNode[] | string; | 162 | renderColContent?: (renderCallbackParams: RenderCallbackParams) => VNode | VNode[] | string; |
163 | 163 | ||
164 | renderComponentContent?: | 164 | renderComponentContent?: |
@@ -167,10 +167,10 @@ export interface FormSchema { | @@ -167,10 +167,10 @@ export interface FormSchema { | ||
167 | | VNode[] | 167 | | VNode[] |
168 | | string; | 168 | | string; |
169 | 169 | ||
170 | - // 自定义slot, 在 from-item内 | 170 | + // Custom slot, in from-item |
171 | slot?: string; | 171 | slot?: string; |
172 | 172 | ||
173 | - // 自定义slot,类似renderColContent | 173 | + // Custom slot, similar to renderColContent |
174 | colSlot?: string; | 174 | colSlot?: string; |
175 | 175 | ||
176 | dynamicDisabled?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); | 176 | dynamicDisabled?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean); |
@@ -179,16 +179,16 @@ export interface FormSchema { | @@ -179,16 +179,16 @@ export interface FormSchema { | ||
179 | } | 179 | } |
180 | export interface HelpComponentProps { | 180 | export interface HelpComponentProps { |
181 | maxWidth: string; | 181 | maxWidth: string; |
182 | - // 是否显示序号 | 182 | + // Whether to display the serial number |
183 | showIndex: boolean; | 183 | showIndex: boolean; |
184 | - // 文本列表 | 184 | + // Text list |
185 | text: any; | 185 | text: any; |
186 | - // 颜色 | 186 | + // colour |
187 | color: string; | 187 | color: string; |
188 | - // 字体大小 | 188 | + // font size |
189 | fontSize: string; | 189 | fontSize: string; |
190 | icon: string; | 190 | icon: string; |
191 | absolute: boolean; | 191 | absolute: boolean; |
192 | - // 定位 | 192 | + // Positioning |
193 | position: any; | 193 | position: any; |
194 | } | 194 | } |
src/components/Menu/src/BasicMenu.tsx
@@ -6,7 +6,8 @@ import { Menu } from 'ant-design-vue'; | @@ -6,7 +6,8 @@ import { Menu } from 'ant-design-vue'; | ||
6 | import SearchInput from './SearchInput.vue'; | 6 | import SearchInput from './SearchInput.vue'; |
7 | import MenuContent from './MenuContent'; | 7 | import MenuContent from './MenuContent'; |
8 | 8 | ||
9 | -import { MenuModeEnum, MenuThemeEnum, MenuTypeEnum } from '/@/enums/menuEnum'; | 9 | +import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum'; |
10 | +import { ThemeEnum } from '/@/enums/appEnum'; | ||
10 | 11 | ||
11 | import { menuStore } from '/@/store/modules/menu'; | 12 | import { menuStore } from '/@/store/modules/menu'; |
12 | import { appStore } from '/@/store/modules/app'; | 13 | import { appStore } from '/@/store/modules/app'; |
@@ -254,7 +255,7 @@ export default defineComponent({ | @@ -254,7 +255,7 @@ export default defineComponent({ | ||
254 | {getSlot(slots, 'header')} | 255 | {getSlot(slots, 'header')} |
255 | <SearchInput | 256 | <SearchInput |
256 | class={!props.search ? 'hidden' : ''} | 257 | class={!props.search ? 'hidden' : ''} |
257 | - theme={props.theme as MenuThemeEnum} | 258 | + theme={props.theme as ThemeEnum} |
258 | onChange={handleInputChange} | 259 | onChange={handleInputChange} |
259 | onClick={handleInputClick} | 260 | onClick={handleInputClick} |
260 | collapsed={getCollapsedState} | 261 | collapsed={getCollapsedState} |
src/components/Menu/src/SearchInput.vue
@@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
11 | <script lang="ts"> | 11 | <script lang="ts"> |
12 | import type { PropType } from 'vue'; | 12 | import type { PropType } from 'vue'; |
13 | import { defineComponent, computed } from 'vue'; | 13 | import { defineComponent, computed } from 'vue'; |
14 | - import { MenuThemeEnum } from '/@/enums/menuEnum'; | 14 | + import { ThemeEnum } from '/@/enums/appEnum'; |
15 | 15 | ||
16 | // hook | 16 | // hook |
17 | import { useDebounce } from '/@/hooks/core/useDebounce'; | 17 | import { useDebounce } from '/@/hooks/core/useDebounce'; |
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | default: true, | 25 | default: true, |
26 | }, | 26 | }, |
27 | theme: { | 27 | theme: { |
28 | - type: String as PropType<MenuThemeEnum>, | 28 | + type: String as PropType<ThemeEnum>, |
29 | }, | 29 | }, |
30 | }, | 30 | }, |
31 | setup(props, { emit }) { | 31 | setup(props, { emit }) { |
src/components/Menu/src/props.ts
1 | import type { Menu } from '/@/router/types'; | 1 | import type { Menu } from '/@/router/types'; |
2 | import type { PropType } from 'vue'; | 2 | import type { PropType } from 'vue'; |
3 | 3 | ||
4 | -import { MenuModeEnum, MenuTypeEnum, MenuThemeEnum } from '/@/enums/menuEnum'; | 4 | +import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum'; |
5 | +import { ThemeEnum } from '/@/enums/appEnum'; | ||
5 | export const basicProps = { | 6 | export const basicProps = { |
6 | items: { | 7 | items: { |
7 | type: Array as PropType<Menu[]>, | 8 | type: Array as PropType<Menu[]>, |
@@ -40,7 +41,7 @@ export const basicProps = { | @@ -40,7 +41,7 @@ export const basicProps = { | ||
40 | }, | 41 | }, |
41 | theme: { | 42 | theme: { |
42 | type: String as PropType<string>, | 43 | type: String as PropType<string>, |
43 | - default: MenuThemeEnum.DARK, | 44 | + default: ThemeEnum.DARK, |
44 | }, | 45 | }, |
45 | showLogo: { | 46 | showLogo: { |
46 | type: Boolean as PropType<boolean>, | 47 | type: Boolean as PropType<boolean>, |
src/components/Menu/src/types.d.ts
1 | +import { ThemeEnum } from '/@/enums/appEnum'; | ||
1 | export interface MenuState { | 2 | export interface MenuState { |
2 | // 默认选中的列表 | 3 | // 默认选中的列表 |
3 | defaultSelectedKeys: string[]; | 4 | defaultSelectedKeys: string[]; |
@@ -6,7 +7,7 @@ export interface MenuState { | @@ -6,7 +7,7 @@ export interface MenuState { | ||
6 | mode: MenuModeEnum; | 7 | mode: MenuModeEnum; |
7 | 8 | ||
8 | // 主题 | 9 | // 主题 |
9 | - theme: ComputedRef<MenuThemeEnum> | MenuThemeEnum; | 10 | + theme: ComputedRef<ThemeEnum> | ThemeEnum; |
10 | 11 | ||
11 | // 缩进 | 12 | // 缩进 |
12 | inlineIndent?: number; | 13 | inlineIndent?: number; |
src/components/Table/src/style/index.less
@@ -208,8 +208,8 @@ | @@ -208,8 +208,8 @@ | ||
208 | padding: 16px; | 208 | padding: 16px; |
209 | 209 | ||
210 | .ant-form { | 210 | .ant-form { |
211 | - padding: 12px 12px 4px 12px; | ||
212 | - margin-bottom: 12px; | 211 | + padding: 20px 20px 4px 12px; |
212 | + margin-bottom: 18px; | ||
213 | background: #fff; | 213 | background: #fff; |
214 | border-radius: 2px; | 214 | border-radius: 2px; |
215 | } | 215 | } |
src/components/registerGlobComp.ts
@@ -33,7 +33,7 @@ import { | @@ -33,7 +33,7 @@ import { | ||
33 | Result, | 33 | Result, |
34 | Empty, | 34 | Empty, |
35 | } from 'ant-design-vue'; | 35 | } from 'ant-design-vue'; |
36 | -import { getApp } from '/@/useApp'; | 36 | +import { getApp } from '/@/setup/Application'; |
37 | 37 | ||
38 | const compList = [Icon, Button, AntButton.Group, AppFooter]; | 38 | const compList = [Icon, Button, AntButton.Group, AppFooter]; |
39 | 39 |
src/design/var/index.less
src/enums/appEnum.ts
@@ -15,6 +15,13 @@ export enum ThemeModeEnum { | @@ -15,6 +15,13 @@ export enum ThemeModeEnum { | ||
15 | SEMI_DARK = 'semi-dark-mode', | 15 | SEMI_DARK = 'semi-dark-mode', |
16 | } | 16 | } |
17 | 17 | ||
18 | +// menu theme enum | ||
19 | +export enum ThemeEnum { | ||
20 | + DARK = 'dark', | ||
21 | + | ||
22 | + LIGHT = 'light', | ||
23 | +} | ||
24 | + | ||
18 | /** | 25 | /** |
19 | * 权限模式 | 26 | * 权限模式 |
20 | */ | 27 | */ |
src/enums/eventBusEnum.ts deleted
100644 → 0
1 | -export const MENU_DRAG_STATE = 'MENU_DRAG_STATE'; |
src/enums/menuEnum.ts
@@ -10,13 +10,6 @@ export enum MenuTypeEnum { | @@ -10,13 +10,6 @@ export enum MenuTypeEnum { | ||
10 | TOP_MENU = 'top-menu', | 10 | TOP_MENU = 'top-menu', |
11 | } | 11 | } |
12 | 12 | ||
13 | -// menu theme enum | ||
14 | -export enum MenuThemeEnum { | ||
15 | - DARK = 'dark', | ||
16 | - | ||
17 | - LIGHT = 'light', | ||
18 | -} | ||
19 | - | ||
20 | // 折叠触发器位置 | 13 | // 折叠触发器位置 |
21 | export enum TriggerEnum { | 14 | export enum TriggerEnum { |
22 | // 不显示 | 15 | // 不显示 |
src/enums/paginationEnum.ts deleted
100644 → 0
src/enums/resultEnum.ts deleted
100644 → 0
src/hooks/core/onMountedOrActivated.ts
0 → 100644
1 | +import { nextTick, onMounted, onActivated } from 'vue'; | ||
2 | + | ||
3 | +export function onMountedOrActivated(hook: Fn) { | ||
4 | + let mounted: boolean; | ||
5 | + | ||
6 | + onMounted(() => { | ||
7 | + hook(); | ||
8 | + nextTick(() => { | ||
9 | + mounted = true; | ||
10 | + }); | ||
11 | + }); | ||
12 | + | ||
13 | + onActivated(() => { | ||
14 | + if (mounted) { | ||
15 | + hook(); | ||
16 | + } | ||
17 | + }); | ||
18 | +} |
src/hooks/core/useExpose.ts
0 → 100644
src/hooks/core/useModel.ts
0 → 100644
1 | +import { toRef, Ref, reactive, customRef, SetupContext, watch, UnwrapRef } from 'vue'; | ||
2 | + | ||
3 | +export type ModelProps<U> = Readonly< | ||
4 | + { [props: string]: any } & { | ||
5 | + modelValue?: U; | ||
6 | + } | ||
7 | +>; | ||
8 | + | ||
9 | +export function useModel<T>( | ||
10 | + props: ModelProps<T>, | ||
11 | + context: SetupContext, | ||
12 | + callback?: (val: T | undefined, internalState: { value: UnwrapRef<T | undefined> }) => any | ||
13 | +) { | ||
14 | + const outerModel: Ref<T | undefined> = toRef(props, 'modelValue'); | ||
15 | + const internalState = reactive({ | ||
16 | + value: props.modelValue, | ||
17 | + }); | ||
18 | + | ||
19 | + const internalModel = customRef<UnwrapRef<T> | undefined>((track, trigger) => { | ||
20 | + return { | ||
21 | + get() { | ||
22 | + track(); | ||
23 | + return internalState.value; | ||
24 | + }, | ||
25 | + set(newVal) { | ||
26 | + if (internalState.value === newVal) return; | ||
27 | + internalState.value = newVal; | ||
28 | + context.emit('update:modelValue', newVal); | ||
29 | + trigger(); | ||
30 | + }, | ||
31 | + }; | ||
32 | + }); | ||
33 | + | ||
34 | + watch(outerModel, (val, oldVal) => { | ||
35 | + if (val === oldVal || val === internalState.value) return; | ||
36 | + if (callback) { | ||
37 | + callback(val, internalState); | ||
38 | + return; | ||
39 | + } | ||
40 | + internalState.value = val as UnwrapRef<T> | undefined; | ||
41 | + }); | ||
42 | + | ||
43 | + return { | ||
44 | + internalState, | ||
45 | + internalModel, | ||
46 | + }; | ||
47 | +} |
src/hooks/core/useRefs.ts
0 → 100644
1 | +import { ref, onBeforeUpdate } from 'vue'; | ||
2 | + | ||
3 | +export function useRefs() { | ||
4 | + const refs = ref([] as Element[]); | ||
5 | + | ||
6 | + onBeforeUpdate(() => { | ||
7 | + refs.value = []; | ||
8 | + }); | ||
9 | + | ||
10 | + const setRefs = (index: number) => (el: Element) => { | ||
11 | + refs.value[index] = el; | ||
12 | + }; | ||
13 | + | ||
14 | + return [refs, setRefs]; | ||
15 | +} |
src/hooks/core/useThrottle.ts
@@ -27,7 +27,7 @@ export function throttle<T extends unknown[]>( | @@ -27,7 +27,7 @@ export function throttle<T extends unknown[]>( | ||
27 | } | 27 | } |
28 | let { immediate = false } = options; | 28 | let { immediate = false } = options; |
29 | const { once = false, debounce = false } = options; | 29 | const { once = false, debounce = false } = options; |
30 | - let timeoutId: ReturnType<typeof setTimeout> | undefined; | 30 | + let timeoutId: Nullable<TimeoutHandle>; |
31 | // Has it been cancelled | 31 | // Has it been cancelled |
32 | let cancelled: boolean | null = false; | 32 | let cancelled: boolean | null = false; |
33 | /** | 33 | /** |
@@ -36,7 +36,7 @@ export function throttle<T extends unknown[]>( | @@ -36,7 +36,7 @@ export function throttle<T extends unknown[]>( | ||
36 | function clearTimer() { | 36 | function clearTimer() { |
37 | if (timeoutId) { | 37 | if (timeoutId) { |
38 | window.clearTimeout(timeoutId); | 38 | window.clearTimeout(timeoutId); |
39 | - timeoutId = undefined; | 39 | + timeoutId = null; |
40 | } | 40 | } |
41 | } | 41 | } |
42 | /** cancel exec */ | 42 | /** cancel exec */ |
@@ -63,7 +63,7 @@ export function throttle<T extends unknown[]>( | @@ -63,7 +63,7 @@ export function throttle<T extends unknown[]>( | ||
63 | const callNow = !timeoutId; | 63 | const callNow = !timeoutId; |
64 | if (callNow) { | 64 | if (callNow) { |
65 | exec(); | 65 | exec(); |
66 | - timeoutId = undefined; | 66 | + timeoutId = null; |
67 | } | 67 | } |
68 | } else { | 68 | } else { |
69 | debounce && clearTimer(); | 69 | debounce && clearTimer(); |
src/hooks/core/useToggle.ts
0 → 100644
1 | +import { ref, watch, Ref, SetupContext } from 'vue'; | ||
2 | + | ||
3 | +export function useToggle(internalModel: Ref<unknown>, { emit }: SetupContext) { | ||
4 | + const isActive = ref(!!internalModel.value); | ||
5 | + const isToggled = ref(false); | ||
6 | + watch(internalModel, (val) => { | ||
7 | + isActive.value = !!val; | ||
8 | + }); | ||
9 | + watch(isActive, (value) => { | ||
10 | + !!value !== !!internalModel.value && emit('onUpdate:modelValue', value); | ||
11 | + }); | ||
12 | + function toggleIt() { | ||
13 | + isToggled.value = !isToggled.value; | ||
14 | + } | ||
15 | + return { | ||
16 | + isActive, | ||
17 | + toggleIt, | ||
18 | + isToggled, | ||
19 | + }; | ||
20 | +} |
src/hooks/event/useIntersectionObserver.ts
0 → 100644
1 | +import { Ref, watchEffect, ref } from 'vue'; | ||
2 | + | ||
3 | +interface IntersectionObserverProps { | ||
4 | + target: Ref<Element | null | undefined>; | ||
5 | + root?: Ref<Element | null | undefined>; | ||
6 | + onIntersect: IntersectionObserverCallback; | ||
7 | + rootMargin?: string; | ||
8 | + threshold?: number; | ||
9 | +} | ||
10 | + | ||
11 | +export function useIntersectionObserver({ | ||
12 | + target, | ||
13 | + root, | ||
14 | + onIntersect, | ||
15 | + rootMargin = '0px', | ||
16 | + threshold = 0.1, | ||
17 | +}: IntersectionObserverProps) { | ||
18 | + let cleanup = () => {}; | ||
19 | + const observer: Ref<Nullable<IntersectionObserver>> = ref(null); | ||
20 | + const stopEffect = watchEffect(() => { | ||
21 | + cleanup(); | ||
22 | + | ||
23 | + observer.value = new IntersectionObserver(onIntersect, { | ||
24 | + root: root ? root.value : null, | ||
25 | + rootMargin, | ||
26 | + threshold, | ||
27 | + }); | ||
28 | + | ||
29 | + const current = target.value; | ||
30 | + | ||
31 | + current && observer.value.observe(current); | ||
32 | + | ||
33 | + cleanup = () => { | ||
34 | + if (observer.value) { | ||
35 | + observer.value.disconnect(); | ||
36 | + target.value && observer.value.unobserve(target.value); | ||
37 | + } | ||
38 | + }; | ||
39 | + }); | ||
40 | + | ||
41 | + return { | ||
42 | + observer, | ||
43 | + stop: () => { | ||
44 | + cleanup(); | ||
45 | + stopEffect(); | ||
46 | + }, | ||
47 | + }; | ||
48 | +} |
src/hooks/web/useClickOutside.ts
1 | import { ref, Ref, unref } from 'vue'; | 1 | import { ref, Ref, unref } from 'vue'; |
2 | import { useEventListener } from '/@/hooks/event/useEventListener'; | 2 | import { useEventListener } from '/@/hooks/event/useEventListener'; |
3 | +import { isServer } from '/@/utils/is'; | ||
3 | export function useClickOutside<T extends HTMLElement>( | 4 | export function useClickOutside<T extends HTMLElement>( |
4 | containerRef: Ref<T>, | 5 | containerRef: Ref<T>, |
5 | - onClickOutside: (e: MouseEvent | TouchEvent) => void | 6 | + onClickOutside: (e: MouseEvent | TouchEvent) => void, |
7 | + eventName = 'click' | ||
6 | ) { | 8 | ) { |
9 | + if (isServer) return; | ||
10 | + | ||
7 | const isTouchRef = ref(false); | 11 | const isTouchRef = ref(false); |
12 | + | ||
8 | useEventListener({ | 13 | useEventListener({ |
9 | el: document, | 14 | el: document, |
10 | name: 'touchend', | 15 | name: 'touchend', |
@@ -13,7 +18,7 @@ export function useClickOutside<T extends HTMLElement>( | @@ -13,7 +18,7 @@ export function useClickOutside<T extends HTMLElement>( | ||
13 | }); | 18 | }); |
14 | useEventListener({ | 19 | useEventListener({ |
15 | el: document, | 20 | el: document, |
16 | - name: 'click', | 21 | + name: eventName, |
17 | listener: handler, | 22 | listener: handler, |
18 | options: true, | 23 | options: true, |
19 | }); | 24 | }); |
src/hooks/web/useHeight.ts
0 → 100644
1 | +import { Ref, ref, onMounted, nextTick } from 'vue'; | ||
2 | +import { useRect } from '/@/hooks/web/useRect'; | ||
3 | +export const useHeight = (element: Element | Ref<Element>) => { | ||
4 | + const height = ref(); | ||
5 | + | ||
6 | + onMounted(() => { | ||
7 | + nextTick(() => { | ||
8 | + height.value = useRect(element).height; | ||
9 | + }); | ||
10 | + }); | ||
11 | + | ||
12 | + return height; | ||
13 | +}; |
src/hooks/web/useLockPage.ts
1 | -import { onUnmounted, watchEffect } from 'vue'; | 1 | +import { computed, onUnmounted, watchEffect } from 'vue'; |
2 | import { useThrottle } from '/@/hooks/core/useThrottle'; | 2 | import { useThrottle } from '/@/hooks/core/useThrottle'; |
3 | 3 | ||
4 | import { appStore } from '/@/store/modules/app'; | 4 | import { appStore } from '/@/store/modules/app'; |
@@ -7,10 +7,11 @@ import { userStore } from '/@/store/modules/user'; | @@ -7,10 +7,11 @@ import { userStore } from '/@/store/modules/user'; | ||
7 | export function useLockPage() { | 7 | export function useLockPage() { |
8 | let timeId: ReturnType<typeof setTimeout>; | 8 | let timeId: ReturnType<typeof setTimeout>; |
9 | 9 | ||
10 | - function clear() { | 10 | + function clear(): void { |
11 | window.clearTimeout(timeId); | 11 | window.clearTimeout(timeId); |
12 | } | 12 | } |
13 | - function resetCalcLockTimeout() { | 13 | + |
14 | + function resetCalcLockTimeout(): void { | ||
14 | // not login | 15 | // not login |
15 | if (!userStore.getTokenState) { | 16 | if (!userStore.getTokenState) { |
16 | clear(); | 17 | clear(); |
@@ -28,31 +29,37 @@ export function useLockPage() { | @@ -28,31 +29,37 @@ export function useLockPage() { | ||
28 | }, lockTime * 60 * 1000); | 29 | }, lockTime * 60 * 1000); |
29 | } | 30 | } |
30 | 31 | ||
31 | - function lockPage() { | 32 | + function lockPage(): void { |
32 | appStore.commitLockInfoState({ | 33 | appStore.commitLockInfoState({ |
33 | isLock: true, | 34 | isLock: true, |
34 | pwd: undefined, | 35 | pwd: undefined, |
35 | }); | 36 | }); |
36 | } | 37 | } |
37 | 38 | ||
38 | - watchEffect(() => { | 39 | + watchEffect((onClean) => { |
39 | if (userStore.getTokenState) { | 40 | if (userStore.getTokenState) { |
40 | resetCalcLockTimeout(); | 41 | resetCalcLockTimeout(); |
41 | } else { | 42 | } else { |
42 | clear(); | 43 | clear(); |
43 | } | 44 | } |
45 | + onClean(() => { | ||
46 | + clear(); | ||
47 | + }); | ||
44 | }); | 48 | }); |
49 | + | ||
45 | onUnmounted(() => { | 50 | onUnmounted(() => { |
46 | clear(); | 51 | clear(); |
47 | }); | 52 | }); |
53 | + | ||
48 | const [keyupFn] = useThrottle(resetCalcLockTimeout, 2000); | 54 | const [keyupFn] = useThrottle(resetCalcLockTimeout, 2000); |
49 | 55 | ||
50 | - return { | ||
51 | - registerGlobOnKeyup: keyupFn, | ||
52 | - registerGlobOnMouseMove: keyupFn, | ||
53 | - on: { | ||
54 | - onKeyup: keyupFn, | ||
55 | - onMousemove: keyupFn, | ||
56 | - }, | ||
57 | - }; | 56 | + return computed(() => { |
57 | + const openLockPage = appStore.getProjectConfig.lockTime; | ||
58 | + if (openLockPage) { | ||
59 | + return { onKeyup: keyupFn, onMousemove: keyupFn }; | ||
60 | + } else { | ||
61 | + clear(); | ||
62 | + return {}; | ||
63 | + } | ||
64 | + }); | ||
58 | } | 65 | } |
src/hooks/web/usePermission.ts
1 | +import type { RouteRecordRaw } from 'vue-router'; | ||
2 | + | ||
1 | import { appStore } from '/@/store/modules/app'; | 3 | import { appStore } from '/@/store/modules/app'; |
2 | import { permissionStore } from '/@/store/modules/permission'; | 4 | import { permissionStore } from '/@/store/modules/permission'; |
5 | +import { userStore } from '/@/store/modules/user'; | ||
6 | + | ||
3 | import { useTabs } from './useTabs'; | 7 | import { useTabs } from './useTabs'; |
4 | -import { RoleEnum } from '/@/enums/roleEnum'; | 8 | + |
5 | import router, { resetRouter } from '/@/router'; | 9 | import router, { resetRouter } from '/@/router'; |
6 | -import { userStore } from '/@/store/modules/user'; | ||
7 | -import { isArray } from '/@/utils/is'; | ||
8 | import { RootRoute } from '/@/router/routes'; | 10 | import { RootRoute } from '/@/router/routes'; |
9 | -import type { RouteRecordRaw } from 'vue-router'; | 11 | + |
10 | import { PermissionModeEnum } from '/@/enums/appEnum'; | 12 | import { PermissionModeEnum } from '/@/enums/appEnum'; |
13 | +import { RoleEnum } from '/@/enums/roleEnum'; | ||
14 | + | ||
11 | import { intersection } from 'lodash-es'; | 15 | import { intersection } from 'lodash-es'; |
16 | +import { isArray } from '/@/utils/is'; | ||
12 | 17 | ||
18 | +// User permissions related operations | ||
13 | export function usePermission() { | 19 | export function usePermission() { |
14 | /** | 20 | /** |
15 | - * 更换权限模式 | 21 | + * Change permission mode |
16 | */ | 22 | */ |
17 | async function togglePermissionMode() { | 23 | async function togglePermissionMode() { |
18 | appStore.commitProjectConfigState({ | 24 | appStore.commitProjectConfigState({ |
@@ -25,6 +31,10 @@ export function usePermission() { | @@ -25,6 +31,10 @@ export function usePermission() { | ||
25 | // location.reload(); | 31 | // location.reload(); |
26 | } | 32 | } |
27 | 33 | ||
34 | + /** | ||
35 | + * Reset and regain authority resource information | ||
36 | + * @param id | ||
37 | + */ | ||
28 | async function resume(id?: string | number) { | 38 | async function resume(id?: string | number) { |
29 | resetRouter(); | 39 | resetRouter(); |
30 | const routes = await permissionStore.buildRoutesAction(id); | 40 | const routes = await permissionStore.buildRoutesAction(id); |
@@ -41,12 +51,12 @@ export function usePermission() { | @@ -41,12 +51,12 @@ export function usePermission() { | ||
41 | } | 51 | } |
42 | 52 | ||
43 | /** | 53 | /** |
44 | - * 角色模式下判断是否显示 | 54 | + * Determine whether there is permission |
45 | */ | 55 | */ |
46 | function hasPermission(value?: RoleEnum | RoleEnum[] | string | string[], def = true): boolean { | 56 | function hasPermission(value?: RoleEnum | RoleEnum[] | string | string[], def = true): boolean { |
47 | const permMode = appStore.getProjectConfig.permissionMode; | 57 | const permMode = appStore.getProjectConfig.permissionMode; |
48 | if (PermissionModeEnum.ROLE === permMode) { | 58 | if (PermissionModeEnum.ROLE === permMode) { |
49 | - // !不传默认可见 | 59 | + // Visible by default |
50 | if (!value) { | 60 | if (!value) { |
51 | return def; | 61 | return def; |
52 | } | 62 | } |
@@ -56,7 +66,7 @@ export function usePermission() { | @@ -56,7 +66,7 @@ export function usePermission() { | ||
56 | return (intersection(value, userStore.getRoleListState) as RoleEnum[]).length > 0; | 66 | return (intersection(value, userStore.getRoleListState) as RoleEnum[]).length > 0; |
57 | } | 67 | } |
58 | if (PermissionModeEnum.BACK === permMode) { | 68 | if (PermissionModeEnum.BACK === permMode) { |
59 | - // !不传默认可见 | 69 | + // Visible by default |
60 | if (!value) { | 70 | if (!value) { |
61 | return def; | 71 | return def; |
62 | } | 72 | } |
@@ -66,17 +76,18 @@ export function usePermission() { | @@ -66,17 +76,18 @@ export function usePermission() { | ||
66 | } | 76 | } |
67 | return (intersection(value, allCodeList) as string[]).length > 0; | 77 | return (intersection(value, allCodeList) as string[]).length > 0; |
68 | } | 78 | } |
69 | - | ||
70 | return true; | 79 | return true; |
71 | } | 80 | } |
72 | 81 | ||
73 | /** | 82 | /** |
74 | - * 更新角色 | 83 | + * Change roles |
75 | * @param roles | 84 | * @param roles |
76 | */ | 85 | */ |
77 | async function changeRole(roles: RoleEnum | RoleEnum[]): Promise<void> { | 86 | async function changeRole(roles: RoleEnum | RoleEnum[]): Promise<void> { |
78 | if (appStore.getProjectConfig.permissionMode !== PermissionModeEnum.ROLE) { | 87 | if (appStore.getProjectConfig.permissionMode !== PermissionModeEnum.ROLE) { |
79 | - throw new Error('请在配置中将PermissionModeEnum切换为ROLE模式在进行操作!'); | 88 | + throw new Error( |
89 | + 'Please switch PermissionModeEnum to ROLE mode in the configuration to operate!' | ||
90 | + ); | ||
80 | } | 91 | } |
81 | if (!isArray(roles)) { | 92 | if (!isArray(roles)) { |
82 | roles = [roles]; | 93 | roles = [roles]; |
@@ -86,10 +97,10 @@ export function usePermission() { | @@ -86,10 +97,10 @@ export function usePermission() { | ||
86 | } | 97 | } |
87 | 98 | ||
88 | /** | 99 | /** |
89 | - * | 100 | + * Change menu |
90 | */ | 101 | */ |
91 | async function changeMenu(id?: string | number) { | 102 | async function changeMenu(id?: string | number) { |
92 | - // 这里传入id是为测试,实际可以不用传,会自动获取登录人的id | 103 | + // TODO The id passed in here is for testing. Actually, you don’t need to pass it. The id of the login person will be automatically obtained. |
93 | resume(id); | 104 | resume(id); |
94 | } | 105 | } |
95 | 106 |
src/hooks/web/useRect.ts
0 → 100644
1 | +import { Ref, unref } from 'vue'; | ||
2 | +import { isWindow } from '/@/utils/is'; | ||
3 | + | ||
4 | +export const useRect = (elementRef: (Element | Window) | Ref<Element | Window | undefined>) => { | ||
5 | + const element = unref(elementRef); | ||
6 | + | ||
7 | + if (isWindow(element)) { | ||
8 | + const width = element.innerWidth; | ||
9 | + const height = element.innerHeight; | ||
10 | + | ||
11 | + return { | ||
12 | + top: 0, | ||
13 | + left: 0, | ||
14 | + right: width, | ||
15 | + bottom: height, | ||
16 | + width, | ||
17 | + height, | ||
18 | + }; | ||
19 | + } | ||
20 | + | ||
21 | + if (element && element.getBoundingClientRect) { | ||
22 | + return element.getBoundingClientRect(); | ||
23 | + } | ||
24 | + | ||
25 | + return { | ||
26 | + top: 0, | ||
27 | + left: 0, | ||
28 | + right: 0, | ||
29 | + bottom: 0, | ||
30 | + width: 0, | ||
31 | + height: 0, | ||
32 | + }; | ||
33 | +}; |
src/layouts/default/setting/SettingDrawer.tsx
@@ -35,7 +35,7 @@ interface SwitchOptions { | @@ -35,7 +35,7 @@ interface SwitchOptions { | ||
35 | } | 35 | } |
36 | 36 | ||
37 | interface SelectConfig { | 37 | interface SelectConfig { |
38 | - options?: SelectOptions; | 38 | + options?: LabelValueOptions; |
39 | def?: any; | 39 | def?: any; |
40 | disabled?: boolean; | 40 | disabled?: boolean; |
41 | handler?: Fn; | 41 | handler?: Fn; |
src/layouts/default/setting/const.ts
1 | -import { ContentEnum, RouterTransitionEnum } from '/@/enums/appEnum'; | ||
2 | -import { MenuThemeEnum, TopMenuAlignEnum, TriggerEnum } from '/@/enums/menuEnum'; | 1 | +import { ContentEnum, RouterTransitionEnum, ThemeEnum } from '/@/enums/appEnum'; |
2 | +import { TopMenuAlignEnum, TriggerEnum } from '/@/enums/menuEnum'; | ||
3 | 3 | ||
4 | export enum HandlerEnum { | 4 | export enum HandlerEnum { |
5 | CHANGE_LAYOUT, | 5 | CHANGE_LAYOUT, |
@@ -40,11 +40,11 @@ export enum HandlerEnum { | @@ -40,11 +40,11 @@ export enum HandlerEnum { | ||
40 | 40 | ||
41 | export const themeOptions = [ | 41 | export const themeOptions = [ |
42 | { | 42 | { |
43 | - value: MenuThemeEnum.LIGHT, | 43 | + value: ThemeEnum.LIGHT, |
44 | label: '亮色', | 44 | label: '亮色', |
45 | }, | 45 | }, |
46 | { | 46 | { |
47 | - value: MenuThemeEnum.DARK, | 47 | + value: ThemeEnum.DARK, |
48 | label: '暗色', | 48 | label: '暗色', |
49 | }, | 49 | }, |
50 | ]; | 50 | ]; |
src/main.ts
@@ -4,34 +4,40 @@ import router, { setupRouter } from '/@/router'; | @@ -4,34 +4,40 @@ import router, { setupRouter } from '/@/router'; | ||
4 | import { setupStore } from '/@/store'; | 4 | import { setupStore } from '/@/store'; |
5 | import { setupAntd } from '/@/setup/ant-design-vue'; | 5 | import { setupAntd } from '/@/setup/ant-design-vue'; |
6 | import { setupErrorHandle } from '/@/setup/error-handle'; | 6 | import { setupErrorHandle } from '/@/setup/error-handle'; |
7 | -import { setupDirectives } from '/@/setup/directives'; | 7 | +import { setupGlobDirectives } from '/@/setup/directives'; |
8 | 8 | ||
9 | -import { isDevMode, isProdMode, isUseMock } from '/@/utils/env'; | ||
10 | import { setupProdMockServer } from '../mock/_createProductionServer'; | 9 | import { setupProdMockServer } from '../mock/_createProductionServer'; |
11 | -import { setApp } from './useApp'; | 10 | +import { setApp } from '/@/setup/Application'; |
12 | 11 | ||
13 | import App from './App.vue'; | 12 | import App from './App.vue'; |
13 | + | ||
14 | +import { isDevMode, isProdMode, isUseMock } from '/@/utils/env'; | ||
15 | + | ||
14 | import '/@/design/index.less'; | 16 | import '/@/design/index.less'; |
15 | 17 | ||
16 | const app = createApp(App); | 18 | const app = createApp(App); |
17 | 19 | ||
18 | -// ui | 20 | +// Configure component library |
19 | setupAntd(app); | 21 | setupAntd(app); |
20 | -// router | 22 | + |
23 | +// Configure routing | ||
21 | setupRouter(app); | 24 | setupRouter(app); |
22 | -// store | 25 | + |
26 | +// Configure vuex store | ||
23 | setupStore(app); | 27 | setupStore(app); |
24 | 28 | ||
25 | -// Directives | ||
26 | -setupDirectives(app); | 29 | +// Register global directive |
30 | +setupGlobDirectives(app); | ||
27 | 31 | ||
28 | -// error-handle | 32 | +// Configure global error handling |
29 | setupErrorHandle(app); | 33 | setupErrorHandle(app); |
30 | 34 | ||
35 | +// Mount when the route is ready | ||
31 | router.isReady().then(() => { | 36 | router.isReady().then(() => { |
32 | app.mount('#app'); | 37 | app.mount('#app'); |
33 | }); | 38 | }); |
34 | 39 | ||
40 | +// The development environment takes effect | ||
35 | if (isDevMode()) { | 41 | if (isDevMode()) { |
36 | app.config.performance = true; | 42 | app.config.performance = true; |
37 | window.__APP__ = app; | 43 | window.__APP__ = app; |
src/settings/projectSetting.ts
1 | import type { ProjectConfig } from '/@/types/config'; | 1 | import type { ProjectConfig } from '/@/types/config'; |
2 | 2 | ||
3 | -import { MenuTypeEnum, MenuThemeEnum, MenuModeEnum, TriggerEnum } from '/@/enums/menuEnum'; | ||
4 | -import { ContentEnum, PermissionModeEnum, RouterTransitionEnum } from '/@/enums/appEnum'; | 3 | +import { MenuTypeEnum, MenuModeEnum, TriggerEnum } from '/@/enums/menuEnum'; |
4 | +import { ContentEnum, PermissionModeEnum, ThemeEnum, RouterTransitionEnum } from '/@/enums/appEnum'; | ||
5 | import { primaryColor } from '../../build/config/lessModifyVars'; | 5 | import { primaryColor } from '../../build/config/lessModifyVars'; |
6 | import { isProdMode } from '/@/utils/env'; | 6 | import { isProdMode } from '/@/utils/env'; |
7 | 7 | ||
@@ -39,7 +39,7 @@ const setting: ProjectConfig = { | @@ -39,7 +39,7 @@ const setting: ProjectConfig = { | ||
39 | // 是否显示顶部 | 39 | // 是否显示顶部 |
40 | show: true, | 40 | show: true, |
41 | // theme | 41 | // theme |
42 | - theme: MenuThemeEnum.LIGHT, | 42 | + theme: ThemeEnum.LIGHT, |
43 | // 开启锁屏功能 | 43 | // 开启锁屏功能 |
44 | useLockPage: true, | 44 | useLockPage: true, |
45 | // 显示刷新按钮 | 45 | // 显示刷新按钮 |
@@ -74,7 +74,7 @@ const setting: ProjectConfig = { | @@ -74,7 +74,7 @@ const setting: ProjectConfig = { | ||
74 | // 菜单类型 | 74 | // 菜单类型 |
75 | type: MenuTypeEnum.SIDEBAR, | 75 | type: MenuTypeEnum.SIDEBAR, |
76 | // 菜单主题 | 76 | // 菜单主题 |
77 | - theme: MenuThemeEnum.DARK, | 77 | + theme: ThemeEnum.DARK, |
78 | // 分割菜单 | 78 | // 分割菜单 |
79 | split: false, | 79 | split: false, |
80 | // 顶部菜单布局 | 80 | // 顶部菜单布局 |
src/useApp.ts renamed to src/setup/Application.ts
1 | -// Application related functions | 1 | +/** |
2 | + * Application configuration | ||
3 | + */ | ||
4 | + | ||
2 | import type { ProjectConfig } from '/@/types/config'; | 5 | import type { ProjectConfig } from '/@/types/config'; |
3 | import type { App } from 'vue'; | 6 | import type { App } from 'vue'; |
4 | import { computed, ref } from 'vue'; | 7 | import { computed, ref } from 'vue'; |
@@ -18,7 +21,9 @@ import { | @@ -18,7 +21,9 @@ import { | ||
18 | 21 | ||
19 | import { appStore } from '/@/store/modules/app'; | 22 | import { appStore } from '/@/store/modules/app'; |
20 | 23 | ||
24 | +// Used to share global app instances | ||
21 | let app: App; | 25 | let app: App; |
26 | + | ||
22 | export function setApp(_app: App): void { | 27 | export function setApp(_app: App): void { |
23 | app = _app; | 28 | app = _app; |
24 | } | 29 | } |
@@ -27,7 +32,7 @@ export function getApp(): App { | @@ -27,7 +32,7 @@ export function getApp(): App { | ||
27 | return app; | 32 | return app; |
28 | } | 33 | } |
29 | 34 | ||
30 | -// TODO 主题切换 | 35 | +// TODO Theme switching |
31 | export function useThemeMode(mode: ThemeModeEnum) { | 36 | export function useThemeMode(mode: ThemeModeEnum) { |
32 | const modeRef = ref(mode); | 37 | const modeRef = ref(mode); |
33 | const html = document.documentElement; | 38 | const html = document.documentElement; |
@@ -43,7 +48,7 @@ export function useThemeMode(mode: ThemeModeEnum) { | @@ -43,7 +48,7 @@ export function useThemeMode(mode: ThemeModeEnum) { | ||
43 | } | 48 | } |
44 | 49 | ||
45 | // Initial project configuration | 50 | // Initial project configuration |
46 | -export function useInitAppConfigStore() { | 51 | +export function initAppConfigStore() { |
47 | let projCfg: ProjectConfig = getLocal(PROJ_CFG_KEY) as ProjectConfig; | 52 | let projCfg: ProjectConfig = getLocal(PROJ_CFG_KEY) as ProjectConfig; |
48 | if (!projCfg) { | 53 | if (!projCfg) { |
49 | projCfg = projectSetting; | 54 | projCfg = projectSetting; |
@@ -67,8 +72,8 @@ export function useInitAppConfigStore() { | @@ -67,8 +72,8 @@ export function useInitAppConfigStore() { | ||
67 | appStore.commitProjectConfigState(projCfg); | 72 | appStore.commitProjectConfigState(projCfg); |
68 | } | 73 | } |
69 | 74 | ||
70 | -// Config Provider | ||
71 | -export function useConfigProvider() { | 75 | +// antdv Config Provider |
76 | +export function getConfigProvider() { | ||
72 | function transformCellText({ text }: { text: string }) { | 77 | function transformCellText({ text }: { text: string }) { |
73 | if (isNull(text) || isUnDef(text)) { | 78 | if (isNull(text) || isUnDef(text)) { |
74 | return ' - '; | 79 | return ' - '; |
src/setup/ant-design-vue/index.ts
src/setup/ant-design-vue/spin.less deleted
100644 → 0
src/setup/ant-design-vue/spin.tsx
1 | import { Spin } from 'ant-design-vue'; | 1 | import { Spin } from 'ant-design-vue'; |
2 | import svgImg from '/@/assets/images/loading.svg'; | 2 | import svgImg from '/@/assets/images/loading.svg'; |
3 | 3 | ||
4 | -import './spin.less'; | ||
5 | Spin.setDefaultIndicator({ | 4 | Spin.setDefaultIndicator({ |
6 | indicator: () => { | 5 | indicator: () => { |
7 | return ( | 6 | return ( |
8 | - <div class="app-svg-loading"> | 7 | + <div |
8 | + class="app-svg-loading" | ||
9 | + style={{ | ||
10 | + position: 'relative', | ||
11 | + width: 'auto', | ||
12 | + }} | ||
13 | + > | ||
9 | <img src={svgImg} alt="" height="32" width="32" class="g-loading" /> | 14 | <img src={svgImg} alt="" height="32" width="32" class="g-loading" /> |
10 | </div> | 15 | </div> |
11 | ); | 16 | ); |
src/setup/application.ts
0 → 100644
1 | +/** | ||
2 | + * Application configuration | ||
3 | + */ | ||
4 | + | ||
5 | +import type { ProjectConfig } from '/@/types/config'; | ||
6 | +import type { App } from 'vue'; | ||
7 | +import { computed, ref } from 'vue'; | ||
8 | + | ||
9 | +import { ThemeModeEnum } from '/@/enums/appEnum'; | ||
10 | +import { PROJ_CFG_KEY } from '/@/enums/cacheEnum'; | ||
11 | + | ||
12 | +import projectSetting from '/@/settings/projectSetting'; | ||
13 | +import { getLocal } from '/@/utils/helper/persistent'; | ||
14 | +import { isUnDef, isNull } from '/@/utils/is'; | ||
15 | +import { | ||
16 | + updateGrayMode, | ||
17 | + updateColorWeak, | ||
18 | + updateHeaderBgColor, | ||
19 | + updateSidebarBgColor, | ||
20 | +} from '/@/setup/theme'; | ||
21 | + | ||
22 | +import { appStore } from '/@/store/modules/app'; | ||
23 | + | ||
24 | +// Used to share global app instances | ||
25 | +let app: App; | ||
26 | + | ||
27 | +export function setApp(_app: App): void { | ||
28 | + app = _app; | ||
29 | +} | ||
30 | + | ||
31 | +export function getApp(): App { | ||
32 | + return app; | ||
33 | +} | ||
34 | + | ||
35 | +// TODO Theme switching | ||
36 | +export function useThemeMode(mode: ThemeModeEnum) { | ||
37 | + const modeRef = ref(mode); | ||
38 | + const html = document.documentElement; | ||
39 | + const clsList = html.classList; | ||
40 | + | ||
41 | + const change = () => { | ||
42 | + clsList.contains(mode) ? clsList.remove(mode) : clsList.add(mode); | ||
43 | + }; | ||
44 | + return { | ||
45 | + runChangeThemeMode: change, | ||
46 | + mode: computed(() => modeRef.value), | ||
47 | + }; | ||
48 | +} | ||
49 | + | ||
50 | +// Initial project configuration | ||
51 | +export function initAppConfigStore() { | ||
52 | + let projCfg: ProjectConfig = getLocal(PROJ_CFG_KEY) as ProjectConfig; | ||
53 | + if (!projCfg) { | ||
54 | + projCfg = projectSetting; | ||
55 | + } | ||
56 | + const { colorWeak, grayMode, headerBgColor, menuBgColor } = projCfg; | ||
57 | + try { | ||
58 | + // if ( | ||
59 | + // themeColor !== primaryColor && | ||
60 | + // themeColor && | ||
61 | + // process.env.VUE_APP_USE_THEME_REPLACER !== 'TRUE' | ||
62 | + // ) { | ||
63 | + // updateTheme(themeColor); | ||
64 | + // } | ||
65 | + headerBgColor && updateHeaderBgColor(headerBgColor); | ||
66 | + menuBgColor && updateSidebarBgColor(menuBgColor); | ||
67 | + grayMode && updateGrayMode(grayMode); | ||
68 | + colorWeak && updateColorWeak(colorWeak); | ||
69 | + } catch (error) { | ||
70 | + console.log(error); | ||
71 | + } | ||
72 | + appStore.commitProjectConfigState(projCfg); | ||
73 | +} | ||
74 | + | ||
75 | +// antdv Config Provider | ||
76 | +export function getConfigProvider() { | ||
77 | + function transformCellText({ text }: { text: string }) { | ||
78 | + if (isNull(text) || isUnDef(text)) { | ||
79 | + return ' - '; | ||
80 | + } | ||
81 | + return text; | ||
82 | + } | ||
83 | + return { | ||
84 | + transformCellText, | ||
85 | + }; | ||
86 | +} |
src/setup/directives/index.ts
1 | +/** | ||
2 | + * Configure and register global directives | ||
3 | + */ | ||
1 | import type { App } from 'vue'; | 4 | import type { App } from 'vue'; |
2 | import { setupPermissionDirective } from './permission'; | 5 | import { setupPermissionDirective } from './permission'; |
3 | -export function setupDirectives(app: App) { | 6 | + |
7 | +export function setupGlobDirectives(app: App) { | ||
4 | setupPermissionDirective(app); | 8 | setupPermissionDirective(app); |
5 | } | 9 | } |
src/setup/directives/permission.ts
1 | +/** | ||
2 | + * Global authority directive | ||
3 | + * Used for fine-grained control of component permissions | ||
4 | + * @Example v-auth="RoleEnum.TEST" | ||
5 | + */ | ||
6 | +import type { App, Directive, DirectiveBinding } from 'vue'; | ||
7 | + | ||
1 | import { appStore } from '/@/store/modules/app'; | 8 | import { appStore } from '/@/store/modules/app'; |
2 | -import type { App } from 'vue'; | ||
3 | import { usePermission } from '/@/hooks/web/usePermission'; | 9 | import { usePermission } from '/@/hooks/web/usePermission'; |
4 | import { PermissionModeEnum } from '/@/enums/appEnum'; | 10 | import { PermissionModeEnum } from '/@/enums/appEnum'; |
5 | const { hasPermission } = usePermission(); | 11 | const { hasPermission } = usePermission(); |
@@ -13,18 +19,28 @@ function isAuth(el: Element, binding: any) { | @@ -13,18 +19,28 @@ function isAuth(el: Element, binding: any) { | ||
13 | } | 19 | } |
14 | } | 20 | } |
15 | } | 21 | } |
22 | + | ||
16 | function isBackMode() { | 23 | function isBackMode() { |
17 | return appStore.getProjectConfig.permissionMode === PermissionModeEnum.BACK; | 24 | return appStore.getProjectConfig.permissionMode === PermissionModeEnum.BACK; |
18 | } | 25 | } |
26 | + | ||
27 | +const mounted = (el: Element, binding: DirectiveBinding<any>) => { | ||
28 | + if (isBackMode()) return; | ||
29 | + isAuth(el, binding); | ||
30 | +}; | ||
31 | + | ||
32 | +const updated = (el: Element, binding: DirectiveBinding<any>) => { | ||
33 | + if (!isBackMode()) return; | ||
34 | + isAuth(el, binding); | ||
35 | +}; | ||
36 | + | ||
37 | +const authDirective: Directive = { | ||
38 | + mounted, | ||
39 | + updated, | ||
40 | +}; | ||
41 | + | ||
19 | export function setupPermissionDirective(app: App) { | 42 | export function setupPermissionDirective(app: App) { |
20 | - app.directive('auth', { | ||
21 | - mounted(el: Element, binding) { | ||
22 | - if (isBackMode()) return; | ||
23 | - isAuth(el, binding); | ||
24 | - }, | ||
25 | - updated(el: Element, binding) { | ||
26 | - if (!isBackMode()) return; | ||
27 | - isAuth(el, binding); | ||
28 | - }, | ||
29 | - }); | 43 | + app.directive('auth', authDirective); |
30 | } | 44 | } |
45 | + | ||
46 | +export default authDirective; |
src/setup/directives/repeatClick.ts
1 | +/** | ||
2 | + * Prevent repeated clicks | ||
3 | + * @Example v-repeat-click="()=>{}" | ||
4 | + */ | ||
1 | import { on, once } from '/@/utils/domUtils'; | 5 | import { on, once } from '/@/utils/domUtils'; |
6 | +import type { Directive, DirectiveBinding } from 'vue'; | ||
2 | 7 | ||
3 | -export default { | ||
4 | - beforeMount(el: Element, binding: any) { | ||
5 | - let interval: ReturnType<typeof setInterval> | null = null; | 8 | +const repeatDirective: Directive = { |
9 | + beforeMount(el: Element, binding: DirectiveBinding<any>) { | ||
10 | + let interval: Nullable<IntervalHandle> = null; | ||
6 | let startTime = 0; | 11 | let startTime = 0; |
7 | - const handler = () => binding.value && binding.value(); | ||
8 | - const clear = () => { | 12 | + const handler = (): void => binding.value && binding.value(); |
13 | + const clear = (): void => { | ||
9 | if (Date.now() - startTime < 100) { | 14 | if (Date.now() - startTime < 100) { |
10 | handler(); | 15 | handler(); |
11 | } | 16 | } |
@@ -13,7 +18,7 @@ export default { | @@ -13,7 +18,7 @@ export default { | ||
13 | interval = null; | 18 | interval = null; |
14 | }; | 19 | }; |
15 | 20 | ||
16 | - on(el, 'mousedown', (e) => { | 21 | + on(el, 'mousedown', (e: MouseEvent): void => { |
17 | if ((e as any).button !== 0) return; | 22 | if ((e as any).button !== 0) return; |
18 | startTime = Date.now(); | 23 | startTime = Date.now(); |
19 | once(document as any, 'mouseup', clear); | 24 | once(document as any, 'mouseup', clear); |
@@ -22,3 +27,5 @@ export default { | @@ -22,3 +27,5 @@ export default { | ||
22 | }); | 27 | }); |
23 | }, | 28 | }, |
24 | }; | 29 | }; |
30 | + | ||
31 | +export default repeatDirective; |
src/setup/error-handle/index.ts
1 | +/** | ||
2 | + * Used to configure the global error handling function, which can monitor vue errors, script errors, static resource errors and Promise errors | ||
3 | + */ | ||
4 | + | ||
1 | import { errorStore, ErrorInfo } from '/@/store/modules/error'; | 5 | import { errorStore, ErrorInfo } from '/@/store/modules/error'; |
2 | import { useSetting } from '/@/hooks/core/useSetting'; | 6 | import { useSetting } from '/@/hooks/core/useSetting'; |
3 | import { ErrorTypeEnum } from '/@/enums/exceptionEnum'; | 7 | import { ErrorTypeEnum } from '/@/enums/exceptionEnum'; |
4 | import { App } from 'vue'; | 8 | import { App } from 'vue'; |
9 | + | ||
10 | +/** | ||
11 | + * Handling error stack information | ||
12 | + * @param error | ||
13 | + */ | ||
5 | function processStackMsg(error: Error) { | 14 | function processStackMsg(error: Error) { |
6 | if (!error.stack) { | 15 | if (!error.stack) { |
7 | return ''; | 16 | return ''; |
8 | } | 17 | } |
9 | let stack = error.stack | 18 | let stack = error.stack |
10 | - .replace(/\n/gi, '') // 去掉换行,节省传输内容大小 | ||
11 | - .replace(/\bat\b/gi, '@') // chrome中是at,ff中是@ | ||
12 | - .split('@') // 以@分割信息 | ||
13 | - .slice(0, 9) // 最大堆栈长度(Error.stackTraceLimit = 10),所以只取前10条 | ||
14 | - .map((v) => v.replace(/^\s*|\s*$/g, '')) // 去除多余空格 | ||
15 | - .join('~') // 手动添加分隔符,便于后期展示 | ||
16 | - .replace(/\?[^:]+/gi, ''); // 去除js文件链接的多余参数(?x=1之类) | 19 | + .replace(/\n/gi, '') // Remove line breaks to save the size of the transmitted content |
20 | + .replace(/\bat\b/gi, '@') // At in chrome, @ in ff | ||
21 | + .split('@') // Split information with @ | ||
22 | + .slice(0, 9) // The maximum stack length (Error.stackTraceLimit = 10), so only take the first 10 | ||
23 | + .map((v) => v.replace(/^\s*|\s*$/g, '')) // Remove extra spaces | ||
24 | + .join('~') // Manually add separators for later display | ||
25 | + .replace(/\?[^:]+/gi, ''); // Remove redundant parameters of js file links (?x=1 and the like) | ||
17 | const msg = error.toString(); | 26 | const msg = error.toString(); |
18 | if (stack.indexOf(msg) < 0) { | 27 | if (stack.indexOf(msg) < 0) { |
19 | stack = msg + '@' + stack; | 28 | stack = msg + '@' + stack; |
@@ -21,6 +30,10 @@ function processStackMsg(error: Error) { | @@ -21,6 +30,10 @@ function processStackMsg(error: Error) { | ||
21 | return stack; | 30 | return stack; |
22 | } | 31 | } |
23 | 32 | ||
33 | +/** | ||
34 | + * get comp name | ||
35 | + * @param vm | ||
36 | + */ | ||
24 | function formatComponentName(vm: any) { | 37 | function formatComponentName(vm: any) { |
25 | if (vm.$root === vm) { | 38 | if (vm.$root === vm) { |
26 | return { | 39 | return { |
@@ -43,6 +56,10 @@ function formatComponentName(vm: any) { | @@ -43,6 +56,10 @@ function formatComponentName(vm: any) { | ||
43 | }; | 56 | }; |
44 | } | 57 | } |
45 | 58 | ||
59 | +/** | ||
60 | + * Configure Vue error handling function | ||
61 | + */ | ||
62 | + | ||
46 | function vueErrorHandler(err: Error, vm: any, info: string) { | 63 | function vueErrorHandler(err: Error, vm: any, info: string) { |
47 | const { name, path } = formatComponentName(vm); | 64 | const { name, path } = formatComponentName(vm); |
48 | errorStore.commitErrorInfoState({ | 65 | errorStore.commitErrorInfoState({ |
@@ -56,6 +73,9 @@ function vueErrorHandler(err: Error, vm: any, info: string) { | @@ -56,6 +73,9 @@ function vueErrorHandler(err: Error, vm: any, info: string) { | ||
56 | }); | 73 | }); |
57 | } | 74 | } |
58 | 75 | ||
76 | +/** | ||
77 | + * Configure script error handling function | ||
78 | + */ | ||
59 | export function scriptErrorHandler( | 79 | export function scriptErrorHandler( |
60 | event: Event | string, | 80 | event: Event | string, |
61 | source?: string, | 81 | source?: string, |
@@ -86,6 +106,9 @@ export function scriptErrorHandler( | @@ -86,6 +106,9 @@ export function scriptErrorHandler( | ||
86 | return true; | 106 | return true; |
87 | } | 107 | } |
88 | 108 | ||
109 | +/** | ||
110 | + * Configure Promise error handling function | ||
111 | + */ | ||
89 | function registerPromiseErrorHandler() { | 112 | function registerPromiseErrorHandler() { |
90 | window.addEventListener( | 113 | window.addEventListener( |
91 | 'unhandledrejection', | 114 | 'unhandledrejection', |
@@ -104,8 +127,11 @@ function registerPromiseErrorHandler() { | @@ -104,8 +127,11 @@ function registerPromiseErrorHandler() { | ||
104 | ); | 127 | ); |
105 | } | 128 | } |
106 | 129 | ||
130 | +/** | ||
131 | + * Configure monitoring resource loading error handling function | ||
132 | + */ | ||
107 | function registerResourceErrorHandler() { | 133 | function registerResourceErrorHandler() { |
108 | - // 监控资源加载错误(img,script,css,以及jsonp) | 134 | + // Monitoring resource loading error(img,script,css,and jsonp) |
109 | window.addEventListener( | 135 | window.addEventListener( |
110 | 'error', | 136 | 'error', |
111 | function (e: Event) { | 137 | function (e: Event) { |
@@ -129,19 +155,23 @@ function registerResourceErrorHandler() { | @@ -129,19 +155,23 @@ function registerResourceErrorHandler() { | ||
129 | ); | 155 | ); |
130 | } | 156 | } |
131 | 157 | ||
158 | +/** | ||
159 | + * Configure global error handling | ||
160 | + * @param app | ||
161 | + */ | ||
132 | export function setupErrorHandle(app: App) { | 162 | export function setupErrorHandle(app: App) { |
133 | const { projectSetting } = useSetting(); | 163 | const { projectSetting } = useSetting(); |
134 | const { useErrorHandle } = projectSetting; | 164 | const { useErrorHandle } = projectSetting; |
135 | - if (!useErrorHandle) { | ||
136 | - return; | ||
137 | - } | ||
138 | - // Vue异常监控; | 165 | + if (!useErrorHandle) return; |
166 | + // Vue exception monitoring; | ||
139 | app.config.errorHandler = vueErrorHandler; | 167 | app.config.errorHandler = vueErrorHandler; |
140 | - // js错误 | 168 | + |
169 | + // script error | ||
141 | window.onerror = scriptErrorHandler; | 170 | window.onerror = scriptErrorHandler; |
142 | - // promise 异常 | 171 | + |
172 | + // promise exception | ||
143 | registerPromiseErrorHandler(); | 173 | registerPromiseErrorHandler(); |
144 | 174 | ||
145 | - // 静态资源异常 | 175 | + // Static resource exception |
146 | registerResourceErrorHandler(); | 176 | registerResourceErrorHandler(); |
147 | } | 177 | } |
src/setup/theme/index.ts
1 | import { isHexColor, colorIsDark, lighten, darken } from '/@/utils/color'; | 1 | import { isHexColor, colorIsDark, lighten, darken } from '/@/utils/color'; |
2 | import { appStore } from '/@/store/modules/app'; | 2 | import { appStore } from '/@/store/modules/app'; |
3 | -import { MenuThemeEnum } from '/@/enums/menuEnum'; | 3 | +import { ThemeEnum } from '/@/enums/appEnum'; |
4 | 4 | ||
5 | const HEADER_BG_COLOR_VAR = '--header-bg-color'; | 5 | const HEADER_BG_COLOR_VAR = '--header-bg-color'; |
6 | const HEADER_BG_HOVER_COLOR_VAR = '--header-bg-hover-color'; | 6 | const HEADER_BG_HOVER_COLOR_VAR = '--header-bg-hover-color'; |
@@ -22,14 +22,26 @@ function toggleClass(flag: boolean, clsName: string) { | @@ -22,14 +22,26 @@ function toggleClass(flag: boolean, clsName: string) { | ||
22 | document.body.className = flag ? `${className} ${clsName} ` : className; | 22 | document.body.className = flag ? `${className} ${clsName} ` : className; |
23 | } | 23 | } |
24 | 24 | ||
25 | +/** | ||
26 | + * Change the status of the project's color weakness mode | ||
27 | + * @param gray | ||
28 | + */ | ||
25 | export const updateColorWeak = (colorWeak: boolean) => { | 29 | export const updateColorWeak = (colorWeak: boolean) => { |
26 | toggleClass(colorWeak, 'color-weak'); | 30 | toggleClass(colorWeak, 'color-weak'); |
27 | }; | 31 | }; |
28 | 32 | ||
33 | +/** | ||
34 | + * Change project gray mode status | ||
35 | + * @param gray | ||
36 | + */ | ||
29 | export const updateGrayMode = (gray: boolean) => { | 37 | export const updateGrayMode = (gray: boolean) => { |
30 | toggleClass(gray, 'gray-mode'); | 38 | toggleClass(gray, 'gray-mode'); |
31 | }; | 39 | }; |
32 | 40 | ||
41 | +/** | ||
42 | + * Change the background color of the top header | ||
43 | + * @param color | ||
44 | + */ | ||
33 | export function updateHeaderBgColor(color: string) { | 45 | export function updateHeaderBgColor(color: string) { |
34 | if (!isHexColor(color)) return; | 46 | if (!isHexColor(color)) return; |
35 | // bg color | 47 | // bg color |
@@ -40,15 +52,20 @@ export function updateHeaderBgColor(color: string) { | @@ -40,15 +52,20 @@ export function updateHeaderBgColor(color: string) { | ||
40 | setCssVar(HEADER_BG_HOVER_COLOR_VAR, hoverColor); | 52 | setCssVar(HEADER_BG_HOVER_COLOR_VAR, hoverColor); |
41 | setCssVar(HEADER_MENU_ACTIVE_BG_COLOR_VAR, hoverColor); | 53 | setCssVar(HEADER_MENU_ACTIVE_BG_COLOR_VAR, hoverColor); |
42 | 54 | ||
55 | + // Determine the depth of the color value and automatically switch the theme | ||
43 | const isDark = colorIsDark(color); | 56 | const isDark = colorIsDark(color); |
44 | 57 | ||
45 | appStore.commitProjectConfigState({ | 58 | appStore.commitProjectConfigState({ |
46 | headerSetting: { | 59 | headerSetting: { |
47 | - theme: isDark ? MenuThemeEnum.DARK : MenuThemeEnum.LIGHT, | 60 | + theme: isDark ? ThemeEnum.DARK : ThemeEnum.LIGHT, |
48 | }, | 61 | }, |
49 | }); | 62 | }); |
50 | } | 63 | } |
51 | 64 | ||
65 | +/** | ||
66 | + * Change the background color of the left menu | ||
67 | + * @param color bg color | ||
68 | + */ | ||
52 | export function updateSidebarBgColor(color: string) { | 69 | export function updateSidebarBgColor(color: string) { |
53 | if (!isHexColor(color)) return; | 70 | if (!isHexColor(color)) return; |
54 | 71 | ||
@@ -58,11 +75,12 @@ export function updateSidebarBgColor(color: string) { | @@ -58,11 +75,12 @@ export function updateSidebarBgColor(color: string) { | ||
58 | setCssVar(SIDER_LIGHTEN_2_BG_COLOR, lighten(color, 8)); | 75 | setCssVar(SIDER_LIGHTEN_2_BG_COLOR, lighten(color, 8)); |
59 | 76 | ||
60 | // only #ffffff is light | 77 | // only #ffffff is light |
78 | + // Only when the background color is #fff, the theme of the menu will be changed to light | ||
61 | const isLight = ['#fff', '#ffffff'].includes(color.toLowerCase()); | 79 | const isLight = ['#fff', '#ffffff'].includes(color.toLowerCase()); |
62 | 80 | ||
63 | appStore.commitProjectConfigState({ | 81 | appStore.commitProjectConfigState({ |
64 | menuSetting: { | 82 | menuSetting: { |
65 | - theme: isLight ? MenuThemeEnum.LIGHT : MenuThemeEnum.DARK, | 83 | + theme: isLight ? ThemeEnum.LIGHT : ThemeEnum.DARK, |
66 | }, | 84 | }, |
67 | }); | 85 | }); |
68 | } | 86 | } |
src/store/index.ts
1 | import type { App } from 'vue'; | 1 | import type { App } from 'vue'; |
2 | -import { | ||
3 | - createStore, | ||
4 | - // createLogger, Plugin | ||
5 | -} from 'vuex'; | 2 | +import { createStore, createLogger, Plugin } from 'vuex'; |
6 | import { config } from 'vuex-module-decorators'; | 3 | import { config } from 'vuex-module-decorators'; |
7 | import { isDevMode } from '/@/utils/env'; | 4 | import { isDevMode } from '/@/utils/env'; |
8 | 5 | ||
9 | config.rawError = true; | 6 | config.rawError = true; |
10 | const isDev = isDevMode(); | 7 | const isDev = isDevMode(); |
11 | -// const plugins: Plugin<any>[] = isDev ? [createLogger()] : []; | 8 | +const plugins: Plugin<any>[] = isDev ? [createLogger()] : []; |
12 | 9 | ||
13 | const store = createStore({ | 10 | const store = createStore({ |
14 | - modules: {}, | 11 | + // modules: {}, |
15 | strict: isDev, | 12 | strict: isDev, |
16 | - // plugins, | 13 | + plugins, |
17 | }); | 14 | }); |
18 | 15 | ||
19 | export function setupStore(app: App<Element>) { | 16 | export function setupStore(app: App<Element>) { |
src/types/config.d.ts
1 | // 左侧菜单, 顶部菜单 | 1 | // 左侧菜单, 顶部菜单 |
2 | -import { MenuTypeEnum, MenuModeEnum, MenuThemeEnum, TriggerEnum } from '/@/enums/menuEnum'; | ||
3 | -import { ContentEnum, PermissionModeEnum, RouterTransitionEnum } from '/@/enums/appEnum'; | 2 | +import { MenuTypeEnum, MenuModeEnum, TriggerEnum } from '/@/enums/menuEnum'; |
3 | +import { ContentEnum, PermissionModeEnum, ThemeEnum, RouterTransitionEnum } from '/@/enums/appEnum'; | ||
4 | 4 | ||
5 | export interface MessageSetting { | 5 | export interface MessageSetting { |
6 | title: string; | 6 | title: string; |
@@ -20,7 +20,7 @@ export interface MenuSetting { | @@ -20,7 +20,7 @@ export interface MenuSetting { | ||
20 | menuWidth: number; | 20 | menuWidth: number; |
21 | mode: MenuModeEnum; | 21 | mode: MenuModeEnum; |
22 | type: MenuTypeEnum; | 22 | type: MenuTypeEnum; |
23 | - theme: MenuThemeEnum; | 23 | + theme: ThemeEnum; |
24 | topMenuAlign: 'start' | 'center' | 'end'; | 24 | topMenuAlign: 'start' | 'center' | 'end'; |
25 | collapsedShowSearch: boolean; | 25 | collapsedShowSearch: boolean; |
26 | trigger: TriggerEnum; | 26 | trigger: TriggerEnum; |
@@ -41,7 +41,7 @@ export interface MultiTabsSetting { | @@ -41,7 +41,7 @@ export interface MultiTabsSetting { | ||
41 | export interface HeaderSetting { | 41 | export interface HeaderSetting { |
42 | fixed: boolean; | 42 | fixed: boolean; |
43 | show: boolean; | 43 | show: boolean; |
44 | - theme: MenuThemeEnum; | 44 | + theme: ThemeEnum; |
45 | // 显示刷新按钮 | 45 | // 显示刷新按钮 |
46 | showRedo: boolean; | 46 | showRedo: boolean; |
47 | // 显示全屏按钮 | 47 | // 显示全屏按钮 |
src/types/event.d.ts
1 | -/** | ||
2 | - * @description: 输入框事件 | ||
3 | - */ | ||
4 | declare interface ChangeEvent extends Event { | 1 | declare interface ChangeEvent extends Event { |
5 | target: HTMLInputElement; | 2 | target: HTMLInputElement; |
6 | } | 3 | } |
7 | -interface WheelEvent { | 4 | + |
5 | +declare interface WheelEvent { | ||
8 | path?: EventTarget[]; | 6 | path?: EventTarget[]; |
9 | } | 7 | } |
src/types/global.d.ts
@@ -6,7 +6,6 @@ declare interface PromiseFn<T = any, R = T> { | @@ -6,7 +6,6 @@ declare interface PromiseFn<T = any, R = T> { | ||
6 | (...arg: T[]): Promise<R>; | 6 | (...arg: T[]): Promise<R>; |
7 | } | 7 | } |
8 | 8 | ||
9 | -// 任意对象 | ||
10 | declare interface IObj<T = any> { | 9 | declare interface IObj<T = any> { |
11 | [key: string]: T; | 10 | [key: string]: T; |
12 | [key: number]: T; | 11 | [key: number]: T; |
@@ -34,19 +33,11 @@ declare type Indexable<T = any> = { | @@ -34,19 +33,11 @@ declare type Indexable<T = any> = { | ||
34 | 33 | ||
35 | declare type Hash<T> = Indexable<T>; | 34 | declare type Hash<T> = Indexable<T>; |
36 | 35 | ||
37 | -// declare type DeepPartial<T> = { | ||
38 | -// [P in keyof T]?: T[P] extends (infer U)[] | ||
39 | -// ? RecursivePartial<U>[] | ||
40 | -// : T[P] extends object | ||
41 | -// ? RecursivePartial<T[P]> | ||
42 | -// : T[P]; | ||
43 | -// }; | ||
44 | - | ||
45 | declare type DeepPartial<T> = { | 36 | declare type DeepPartial<T> = { |
46 | [P in keyof T]?: DeepPartial<T[P]>; | 37 | [P in keyof T]?: DeepPartial<T[P]>; |
47 | }; | 38 | }; |
48 | 39 | ||
49 | -declare type SelectOptions = { | 40 | +declare type LabelValueOptions = { |
50 | label: string; | 41 | label: string; |
51 | value: any; | 42 | value: any; |
52 | }[]; | 43 | }[]; |
@@ -54,3 +45,7 @@ declare type SelectOptions = { | @@ -54,3 +45,7 @@ declare type SelectOptions = { | ||
54 | declare type EmitType = (event: string, ...args: any[]) => void; | 45 | declare type EmitType = (event: string, ...args: any[]) => void; |
55 | 46 | ||
56 | declare type TargetContext = '_self' | '_blank'; | 47 | declare type TargetContext = '_self' | '_blank'; |
48 | + | ||
49 | +declare type TimeoutHandle = ReturnType<typeof setTimeout>; | ||
50 | + | ||
51 | +declare type IntervalHandle = ReturnType<typeof setInterval>; |
src/types/window.d.ts
@@ -2,6 +2,7 @@ import type { App } from 'vue'; | @@ -2,6 +2,7 @@ import type { App } from 'vue'; | ||
2 | 2 | ||
3 | declare global { | 3 | declare global { |
4 | declare interface Window { | 4 | declare interface Window { |
5 | + // Global vue app instance | ||
5 | __APP__: App<Element>; | 6 | __APP__: App<Element>; |
6 | } | 7 | } |
7 | } | 8 | } |
src/utils/auth/index.ts
1 | import { userStore } from '/@/store/modules/user'; | 1 | import { userStore } from '/@/store/modules/user'; |
2 | -// import { permissionStore } from '@/store/modules/permission'; | ||
3 | -// import { RoleEnum } from '@/enums/roleEnum'; | ||
4 | 2 | ||
5 | /** | 3 | /** |
6 | - * @description: 获取token | 4 | + * @description: Get token |
5 | + * @return jwt token | ||
7 | */ | 6 | */ |
8 | export function getToken(): string { | 7 | export function getToken(): string { |
9 | return userStore.getTokenState; | 8 | return userStore.getTokenState; |
src/utils/event/triggerWindowResizeEvent.ts
@@ -4,6 +4,6 @@ | @@ -4,6 +4,6 @@ | ||
4 | export function triggerWindowResize() { | 4 | export function triggerWindowResize() { |
5 | const event = document.createEvent('HTMLEvents'); | 5 | const event = document.createEvent('HTMLEvents'); |
6 | event.initEvent('resize', true, true); | 6 | event.initEvent('resize', true, true); |
7 | - (event as any).eventType = 'message'; | 7 | + (event as ChangeEvent).eventType = 'message'; |
8 | window.dispatchEvent(event); | 8 | window.dispatchEvent(event); |
9 | } | 9 | } |
src/utils/is.ts
@@ -50,10 +50,6 @@ export function isArray(val: unknown): val is Array<any> { | @@ -50,10 +50,6 @@ export function isArray(val: unknown): val is Array<any> { | ||
50 | return val && Array.isArray(val); | 50 | return val && Array.isArray(val); |
51 | } | 51 | } |
52 | 52 | ||
53 | -export const isClient = () => { | ||
54 | - return typeof window !== 'undefined'; | ||
55 | -}; | ||
56 | - | ||
57 | export const isWindow = (val: any): val is Window => { | 53 | export const isWindow = (val: any): val is Window => { |
58 | return typeof window !== 'undefined' && is(val, 'Window'); | 54 | return typeof window !== 'undefined' && is(val, 'Window'); |
59 | }; | 55 | }; |
@@ -64,6 +60,8 @@ export const isElement = (val: unknown): val is Element => { | @@ -64,6 +60,8 @@ export const isElement = (val: unknown): val is Element => { | ||
64 | 60 | ||
65 | export const isServer = typeof window === 'undefined'; | 61 | export const isServer = typeof window === 'undefined'; |
66 | 62 | ||
63 | +export const isClient = typeof window !== 'undefined'; | ||
64 | + | ||
67 | export function isImageDom(o: Element) { | 65 | export function isImageDom(o: Element) { |
68 | return o && ['IMAGE', 'IMG'].includes(o.tagName); | 66 | return o && ['IMAGE', 'IMG'].includes(o.tagName); |
69 | } | 67 | } |
src/utils/log.ts
1 | const projectName = import.meta.env.VITE_GLOB_APP_TITLE; | 1 | const projectName = import.meta.env.VITE_GLOB_APP_TITLE; |
2 | + | ||
2 | export function warn(message: string) { | 3 | export function warn(message: string) { |
3 | console.warn(`[${projectName} warn]:${message}`); | 4 | console.warn(`[${projectName} warn]:${message}`); |
4 | } | 5 | } |
src/views/dashboard/welcome/index.vue
@@ -9,9 +9,6 @@ | @@ -9,9 +9,6 @@ | ||
9 | export default defineComponent({ | 9 | export default defineComponent({ |
10 | name: 'Welcome', | 10 | name: 'Welcome', |
11 | components: { House }, | 11 | components: { House }, |
12 | - setup() { | ||
13 | - return {}; | ||
14 | - }, | ||
15 | }); | 12 | }); |
16 | </script> | 13 | </script> |
17 | <style lang="less" scoped> | 14 | <style lang="less" scoped> |
src/views/demo/page/form/high/data.ts
1 | import { FormSchema } from '/@/components/Form'; | 1 | import { FormSchema } from '/@/components/Form'; |
2 | 2 | ||
3 | -const basicOptions: SelectOptions = [ | 3 | +const basicOptions: LabelValueOptions = [ |
4 | { | 4 | { |
5 | label: '付晓晓', | 5 | label: '付晓晓', |
6 | value: '1', | 6 | value: '1', |
@@ -11,7 +11,7 @@ const basicOptions: SelectOptions = [ | @@ -11,7 +11,7 @@ const basicOptions: SelectOptions = [ | ||
11 | }, | 11 | }, |
12 | ]; | 12 | ]; |
13 | 13 | ||
14 | -const storeTypeOptions: SelectOptions = [ | 14 | +const storeTypeOptions: LabelValueOptions = [ |
15 | { | 15 | { |
16 | label: '私密', | 16 | label: '私密', |
17 | value: '1', | 17 | value: '1', |
src/views/demo/permission/back/Btn.vue
@@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
58 | import { Alert, Divider } from 'ant-design-vue'; | 58 | import { Alert, Divider } from 'ant-design-vue'; |
59 | import CurrentPermissionMode from '../CurrentPermissionMode.vue'; | 59 | import CurrentPermissionMode from '../CurrentPermissionMode.vue'; |
60 | import { usePermission } from '/@/hooks/web/usePermission'; | 60 | import { usePermission } from '/@/hooks/web/usePermission'; |
61 | - import Authority from '/@/components/Authority'; | 61 | + import { Authority } from '/@/components/Authority'; |
62 | import { getPermCodeByUserId } from '/@/api/sys/user'; | 62 | import { getPermCodeByUserId } from '/@/api/sys/user'; |
63 | import { permissionStore } from '/@/store/modules/permission'; | 63 | import { permissionStore } from '/@/store/modules/permission'; |
64 | import { PermissionModeEnum } from '/@/enums/appEnum'; | 64 | import { PermissionModeEnum } from '/@/enums/appEnum'; |
src/views/demo/permission/front/Btn.vue
@@ -65,7 +65,7 @@ | @@ -65,7 +65,7 @@ | ||
65 | import { userStore } from '/@/store/modules/user'; | 65 | import { userStore } from '/@/store/modules/user'; |
66 | import { RoleEnum } from '/@/enums/roleEnum'; | 66 | import { RoleEnum } from '/@/enums/roleEnum'; |
67 | import { usePermission } from '/@/hooks/web/usePermission'; | 67 | import { usePermission } from '/@/hooks/web/usePermission'; |
68 | - import Authority from '/@/components/Authority'; | 68 | + import { Authority } from '/@/components/Authority'; |
69 | 69 | ||
70 | export default defineComponent({ | 70 | export default defineComponent({ |
71 | components: { Alert, CurrentPermissionMode, Divider, Authority }, | 71 | components: { Alert, CurrentPermissionMode, Divider, Authority }, |
yarn.lock
@@ -1050,10 +1050,10 @@ | @@ -1050,10 +1050,10 @@ | ||
1050 | resolved "https://registry.npmjs.org/@iconify/iconify/-/iconify-2.0.0-rc.2.tgz#c4a95ddc06ca9b9496df03604e66fdefb39f4c4b" | 1050 | resolved "https://registry.npmjs.org/@iconify/iconify/-/iconify-2.0.0-rc.2.tgz#c4a95ddc06ca9b9496df03604e66fdefb39f4c4b" |
1051 | integrity sha512-BybEHU5/I9EQ0CcwKAqmreZ2bMnAXrqLCTptAc6vPetHMbrXdZfejP5mt57e/8PNSt/qE7BHniU5PCYA+PGIHw== | 1051 | integrity sha512-BybEHU5/I9EQ0CcwKAqmreZ2bMnAXrqLCTptAc6vPetHMbrXdZfejP5mt57e/8PNSt/qE7BHniU5PCYA+PGIHw== |
1052 | 1052 | ||
1053 | -"@iconify/json@^1.1.258": | ||
1054 | - version "1.1.259" | ||
1055 | - resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.259.tgz#433ccff8572e42c3abab1cdbac872af0e8340419" | ||
1056 | - integrity sha512-tDL4IgKtj3LA2lI+IoZfylBtKWNpV5I9BLj7WGMI/SvGkkYo+9DUap3Ho6iUbQLtu9GmHwpE/cA8mwEBkj/otw== | 1053 | +"@iconify/json@^1.1.260": |
1054 | + version "1.1.260" | ||
1055 | + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.260.tgz#75bfcdcaf01f1a0092bb26f4ce7aebf357da431a" | ||
1056 | + integrity sha512-gpRn0o55mvBTCcZRb8jBtqxV/5Av01BnnVn7/FyboBNdGkEQ8EMTqJL10SDUf9TLM8s63KKSg/ZeCJj870THtA== | ||
1057 | 1057 | ||
1058 | "@koa/cors@^3.1.0": | 1058 | "@koa/cors@^3.1.0": |
1059 | version "3.1.0" | 1059 | version "3.1.0" |
@@ -1227,13 +1227,13 @@ | @@ -1227,13 +1227,13 @@ | ||
1227 | dependencies: | 1227 | dependencies: |
1228 | "@babel/core" ">=7.9.0" | 1228 | "@babel/core" ">=7.9.0" |
1229 | 1229 | ||
1230 | -"@stylelint/postcss-markdown@^0.36.1": | ||
1231 | - version "0.36.1" | ||
1232 | - resolved "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz#829b87e6c0f108014533d9d7b987dc9efb6632e8" | ||
1233 | - integrity sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw== | 1230 | +"@stylelint/postcss-markdown@^0.36.2": |
1231 | + version "0.36.2" | ||
1232 | + resolved "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" | ||
1233 | + integrity sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ== | ||
1234 | dependencies: | 1234 | dependencies: |
1235 | - remark "^12.0.0" | ||
1236 | - unist-util-find-all-after "^3.0.1" | 1235 | + remark "^13.0.0" |
1236 | + unist-util-find-all-after "^3.0.2" | ||
1237 | 1237 | ||
1238 | "@surma/rollup-plugin-off-main-thread@^1.1.1": | 1238 | "@surma/rollup-plugin-off-main-thread@^1.1.1": |
1239 | version "1.4.2" | 1239 | version "1.4.2" |
@@ -1280,10 +1280,10 @@ | @@ -1280,10 +1280,10 @@ | ||
1280 | "@types/keygrip" "*" | 1280 | "@types/keygrip" "*" |
1281 | "@types/node" "*" | 1281 | "@types/node" "*" |
1282 | 1282 | ||
1283 | -"@types/echarts@^4.9.0": | ||
1284 | - version "4.9.0" | ||
1285 | - resolved "https://registry.npmjs.org/@types/echarts/-/echarts-4.9.0.tgz#e133ea5429ada1d814f9cc1deae855421dcdd2ef" | ||
1286 | - integrity sha512-9QIAUe6cxM5GyGNCIhlEwf7l5oclZDVM0HNRfehPx3dDUt1Jfhbvp/U2wfgwtL/IDqyASBVs1zu4qyaCsuJINA== | 1283 | +"@types/echarts@^4.9.1": |
1284 | + version "4.9.1" | ||
1285 | + resolved "https://registry.npmjs.org/@types/echarts/-/echarts-4.9.1.tgz#e21ea327af62b1148a7ab69a039f8fa002506de2" | ||
1286 | + integrity sha512-tpx/gqJD6oz1ZJnIqDaUppsoRuZdnbhAFPslWlTGk0q8//9l34DLwzOrviHCOE+Oy1R5A1VZ994/CPg1Cl3naw== | ||
1287 | dependencies: | 1287 | dependencies: |
1288 | "@types/zrender" "*" | 1288 | "@types/zrender" "*" |
1289 | 1289 | ||
@@ -1396,6 +1396,13 @@ | @@ -1396,6 +1396,13 @@ | ||
1396 | resolved "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03" | 1396 | resolved "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03" |
1397 | integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== | 1397 | integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== |
1398 | 1398 | ||
1399 | +"@types/mdast@^3.0.0": | ||
1400 | + version "3.0.3" | ||
1401 | + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" | ||
1402 | + integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== | ||
1403 | + dependencies: | ||
1404 | + "@types/unist" "*" | ||
1405 | + | ||
1399 | "@types/mime@*": | 1406 | "@types/mime@*": |
1400 | version "2.0.3" | 1407 | version "2.0.3" |
1401 | resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" | 1408 | resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" |
@@ -1412,9 +1419,9 @@ | @@ -1412,9 +1419,9 @@ | ||
1412 | integrity sha512-OlwyyyoY81P8f7FU0zILUPxqQQ3/W+CwbqI6dWvOxaH8w948fAl1+hOG9C9ZgJcwzG+aloJcsastY4c4p91R1Q== | 1419 | integrity sha512-OlwyyyoY81P8f7FU0zILUPxqQQ3/W+CwbqI6dWvOxaH8w948fAl1+hOG9C9ZgJcwzG+aloJcsastY4c4p91R1Q== |
1413 | 1420 | ||
1414 | "@types/node@*": | 1421 | "@types/node@*": |
1415 | - version "14.14.7" | ||
1416 | - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" | ||
1417 | - integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== | 1422 | + version "14.14.8" |
1423 | + resolved "https://registry.npmjs.org/@types/node/-/node-14.14.8.tgz#2127bd81949a95c8b7d3240f3254352d72563aec" | ||
1424 | + integrity sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA== | ||
1418 | 1425 | ||
1419 | "@types/normalize-package-data@^2.4.0": | 1426 | "@types/normalize-package-data@^2.4.0": |
1420 | version "2.4.0" | 1427 | version "2.4.0" |
@@ -1471,14 +1478,14 @@ | @@ -1471,14 +1478,14 @@ | ||
1471 | rollup "^0.63.4" | 1478 | rollup "^0.63.4" |
1472 | 1479 | ||
1473 | "@types/serve-static@*": | 1480 | "@types/serve-static@*": |
1474 | - version "1.13.7" | ||
1475 | - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.7.tgz#e51b51a0becda910f9fd04c718044da69d6c492e" | ||
1476 | - integrity sha512-3diZWucbR+xTmbDlU+FRRxBf+31OhFew7cJXML/zh9NmvSPTNoFecAwHB66BUqFgENJtqMiyl7JAwUE/siqdLw== | 1481 | + version "1.13.8" |
1482 | + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz#851129d434433c7082148574ffec263d58309c46" | ||
1483 | + integrity sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA== | ||
1477 | dependencies: | 1484 | dependencies: |
1478 | "@types/mime" "*" | 1485 | "@types/mime" "*" |
1479 | "@types/node" "*" | 1486 | "@types/node" "*" |
1480 | 1487 | ||
1481 | -"@types/unist@^2.0.0", "@types/unist@^2.0.2": | 1488 | +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": |
1482 | version "2.0.3" | 1489 | version "2.0.3" |
1483 | resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" | 1490 | resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" |
1484 | integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== | 1491 | integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== |
@@ -1488,10 +1495,10 @@ | @@ -1488,10 +1495,10 @@ | ||
1488 | resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" | 1495 | resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" |
1489 | integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== | 1496 | integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== |
1490 | 1497 | ||
1491 | -"@types/yargs@^15.0.9": | ||
1492 | - version "15.0.9" | ||
1493 | - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz#524cd7998fe810cdb02f26101b699cccd156ff19" | ||
1494 | - integrity sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g== | 1498 | +"@types/yargs@^15.0.10": |
1499 | + version "15.0.10" | ||
1500 | + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.10.tgz#0fe3c8173a0d5c3e780b389050140c3f5ea6ea74" | ||
1501 | + integrity sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ== | ||
1495 | dependencies: | 1502 | dependencies: |
1496 | "@types/yargs-parser" "*" | 1503 | "@types/yargs-parser" "*" |
1497 | 1504 | ||
@@ -1505,61 +1512,61 @@ | @@ -1505,61 +1512,61 @@ | ||
1505 | resolved "https://registry.npmjs.org/@types/zxcvbn/-/zxcvbn-4.4.0.tgz#fbc1d941cc6d9d37d18405c513ba6b294f89b609" | 1512 | resolved "https://registry.npmjs.org/@types/zxcvbn/-/zxcvbn-4.4.0.tgz#fbc1d941cc6d9d37d18405c513ba6b294f89b609" |
1506 | integrity sha512-GQLOT+SN20a+AI51y3fAimhyTF4Y0RG+YP3gf91OibIZ7CJmPFgoZi+ZR5a+vRbS01LbQosITWum4ATmJ1Z6Pg== | 1513 | integrity sha512-GQLOT+SN20a+AI51y3fAimhyTF4Y0RG+YP3gf91OibIZ7CJmPFgoZi+ZR5a+vRbS01LbQosITWum4ATmJ1Z6Pg== |
1507 | 1514 | ||
1508 | -"@typescript-eslint/eslint-plugin@^4.6.1": | ||
1509 | - version "4.7.0" | ||
1510 | - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.7.0.tgz#85c9bbda00c0cb604d3c241f7bc7fb171a2d3479" | ||
1511 | - integrity sha512-li9aiSVBBd7kU5VlQlT1AqP0uWGDK6JYKUQ9cVDnOg34VNnd9t4jr0Yqc/bKxJr/tDCPDaB4KzoSFN9fgVxe/Q== | 1515 | +"@typescript-eslint/eslint-plugin@^4.8.1": |
1516 | + version "4.8.1" | ||
1517 | + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.8.1.tgz#b362abe0ee478a6c6d06c14552a6497f0b480769" | ||
1518 | + integrity sha512-d7LeQ7dbUrIv5YVFNzGgaW3IQKMmnmKFneRWagRlGYOSfLJVaRbj/FrBNOBC1a3tVO+TgNq1GbHvRtg1kwL0FQ== | ||
1512 | dependencies: | 1519 | dependencies: |
1513 | - "@typescript-eslint/experimental-utils" "4.7.0" | ||
1514 | - "@typescript-eslint/scope-manager" "4.7.0" | 1520 | + "@typescript-eslint/experimental-utils" "4.8.1" |
1521 | + "@typescript-eslint/scope-manager" "4.8.1" | ||
1515 | debug "^4.1.1" | 1522 | debug "^4.1.1" |
1516 | functional-red-black-tree "^1.0.1" | 1523 | functional-red-black-tree "^1.0.1" |
1517 | regexpp "^3.0.0" | 1524 | regexpp "^3.0.0" |
1518 | semver "^7.3.2" | 1525 | semver "^7.3.2" |
1519 | tsutils "^3.17.1" | 1526 | tsutils "^3.17.1" |
1520 | 1527 | ||
1521 | -"@typescript-eslint/experimental-utils@4.7.0": | ||
1522 | - version "4.7.0" | ||
1523 | - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.7.0.tgz#8d1058c38bec3d3bbd9c898a1c32318d80faf3c5" | ||
1524 | - integrity sha512-cymzovXAiD4EF+YoHAB5Oh02MpnXjvyaOb+v+BdpY7lsJXZQN34oIETeUwVT2XfV9rSNpXaIcknDLfupO/tUoA== | 1528 | +"@typescript-eslint/experimental-utils@4.8.1": |
1529 | + version "4.8.1" | ||
1530 | + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.1.tgz#27275c20fa4336df99ebcf6195f7d7aa7aa9f22d" | ||
1531 | + integrity sha512-WigyLn144R3+lGATXW4nNcDJ9JlTkG8YdBWHkDlN0lC3gUGtDi7Pe3h5GPvFKMcRz8KbZpm9FJV9NTW8CpRHpg== | ||
1525 | dependencies: | 1532 | dependencies: |
1526 | "@types/json-schema" "^7.0.3" | 1533 | "@types/json-schema" "^7.0.3" |
1527 | - "@typescript-eslint/scope-manager" "4.7.0" | ||
1528 | - "@typescript-eslint/types" "4.7.0" | ||
1529 | - "@typescript-eslint/typescript-estree" "4.7.0" | 1534 | + "@typescript-eslint/scope-manager" "4.8.1" |
1535 | + "@typescript-eslint/types" "4.8.1" | ||
1536 | + "@typescript-eslint/typescript-estree" "4.8.1" | ||
1530 | eslint-scope "^5.0.0" | 1537 | eslint-scope "^5.0.0" |
1531 | eslint-utils "^2.0.0" | 1538 | eslint-utils "^2.0.0" |
1532 | 1539 | ||
1533 | -"@typescript-eslint/parser@^4.6.1": | ||
1534 | - version "4.7.0" | ||
1535 | - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.7.0.tgz#44bdab0f788b478178368baa65d3365fdc63da1c" | ||
1536 | - integrity sha512-+meGV8bMP1sJHBI2AFq1GeTwofcGiur8LoIr6v+rEmD9knyCqDlrQcFHR0KDDfldHIFDU/enZ53fla6ReF4wRw== | 1540 | +"@typescript-eslint/parser@^4.8.1": |
1541 | + version "4.8.1" | ||
1542 | + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.8.1.tgz#4fe2fbdbb67485bafc4320b3ae91e34efe1219d1" | ||
1543 | + integrity sha512-QND8XSVetATHK9y2Ltc/XBl5Ro7Y62YuZKnPEwnNPB8E379fDsvzJ1dMJ46fg/VOmk0hXhatc+GXs5MaXuL5Uw== | ||
1537 | dependencies: | 1544 | dependencies: |
1538 | - "@typescript-eslint/scope-manager" "4.7.0" | ||
1539 | - "@typescript-eslint/types" "4.7.0" | ||
1540 | - "@typescript-eslint/typescript-estree" "4.7.0" | 1545 | + "@typescript-eslint/scope-manager" "4.8.1" |
1546 | + "@typescript-eslint/types" "4.8.1" | ||
1547 | + "@typescript-eslint/typescript-estree" "4.8.1" | ||
1541 | debug "^4.1.1" | 1548 | debug "^4.1.1" |
1542 | 1549 | ||
1543 | -"@typescript-eslint/scope-manager@4.7.0": | ||
1544 | - version "4.7.0" | ||
1545 | - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.7.0.tgz#2115526085fb72723ccdc1eeae75dec7126220ed" | ||
1546 | - integrity sha512-ILITvqwDJYbcDCROj6+Ob0oCKNg3SH46iWcNcTIT9B5aiVssoTYkhKjxOMNzR1F7WSJkik4zmuqve5MdnA0DyA== | 1550 | +"@typescript-eslint/scope-manager@4.8.1": |
1551 | + version "4.8.1" | ||
1552 | + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.8.1.tgz#e343c475f8f1d15801b546cb17d7f309b768fdce" | ||
1553 | + integrity sha512-r0iUOc41KFFbZdPAdCS4K1mXivnSZqXS5D9oW+iykQsRlTbQRfuFRSW20xKDdYiaCoH+SkSLeIF484g3kWzwOQ== | ||
1547 | dependencies: | 1554 | dependencies: |
1548 | - "@typescript-eslint/types" "4.7.0" | ||
1549 | - "@typescript-eslint/visitor-keys" "4.7.0" | 1555 | + "@typescript-eslint/types" "4.8.1" |
1556 | + "@typescript-eslint/visitor-keys" "4.8.1" | ||
1550 | 1557 | ||
1551 | -"@typescript-eslint/types@4.7.0": | ||
1552 | - version "4.7.0" | ||
1553 | - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.7.0.tgz#5e95ef5c740f43d942542b35811f87b62fccca69" | ||
1554 | - integrity sha512-uLszFe0wExJc+I7q0Z/+BnP7wao/kzX0hB5vJn4LIgrfrMLgnB2UXoReV19lkJQS1a1mHWGGODSxnBx6JQC3Sg== | 1558 | +"@typescript-eslint/types@4.8.1": |
1559 | + version "4.8.1" | ||
1560 | + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.8.1.tgz#23829c73c5fc6f4fcd5346a7780b274f72fee222" | ||
1561 | + integrity sha512-ave2a18x2Y25q5K05K/U3JQIe2Av4+TNi/2YuzyaXLAsDx6UZkz1boZ7nR/N6Wwae2PpudTZmHFXqu7faXfHmA== | ||
1555 | 1562 | ||
1556 | -"@typescript-eslint/typescript-estree@4.7.0": | ||
1557 | - version "4.7.0" | ||
1558 | - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.7.0.tgz#539531167f05ba20eb0b6785567076679e29d393" | ||
1559 | - integrity sha512-5XZRQznD1MfUmxu1t8/j2Af4OxbA7EFU2rbo0No7meb46eHgGkSieFdfV6omiC/DGIBhH9H9gXn7okBbVOm8jw== | 1563 | +"@typescript-eslint/typescript-estree@4.8.1": |
1564 | + version "4.8.1" | ||
1565 | + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.1.tgz#7307e3f2c9e95df7daa8dc0a34b8c43b7ec0dd32" | ||
1566 | + integrity sha512-bJ6Fn/6tW2g7WIkCWh3QRlaSU7CdUUK52shx36/J7T5oTQzANvi6raoTsbwGM11+7eBbeem8hCCKbyvAc0X3sQ== | ||
1560 | dependencies: | 1567 | dependencies: |
1561 | - "@typescript-eslint/types" "4.7.0" | ||
1562 | - "@typescript-eslint/visitor-keys" "4.7.0" | 1568 | + "@typescript-eslint/types" "4.8.1" |
1569 | + "@typescript-eslint/visitor-keys" "4.8.1" | ||
1563 | debug "^4.1.1" | 1570 | debug "^4.1.1" |
1564 | globby "^11.0.1" | 1571 | globby "^11.0.1" |
1565 | is-glob "^4.0.1" | 1572 | is-glob "^4.0.1" |
@@ -1567,12 +1574,12 @@ | @@ -1567,12 +1574,12 @@ | ||
1567 | semver "^7.3.2" | 1574 | semver "^7.3.2" |
1568 | tsutils "^3.17.1" | 1575 | tsutils "^3.17.1" |
1569 | 1576 | ||
1570 | -"@typescript-eslint/visitor-keys@4.7.0": | ||
1571 | - version "4.7.0" | ||
1572 | - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.7.0.tgz#6783824f22acfc49e754970ed21b88ac03b80e6f" | ||
1573 | - integrity sha512-aDJDWuCRsf1lXOtignlfiPODkzSxxop7D0rZ91L6ZuMlcMCSh0YyK+gAfo5zN/ih6WxMwhoXgJWC3cWQdaKC+A== | 1577 | +"@typescript-eslint/visitor-keys@4.8.1": |
1578 | + version "4.8.1" | ||
1579 | + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.1.tgz#794f68ee292d1b2e3aa9690ebedfcb3a8c90e3c3" | ||
1580 | + integrity sha512-3nrwXFdEYALQh/zW8rFwP4QltqsanCDz4CwWMPiIZmwlk9GlvBeueEIbq05SEq4ganqM0g9nh02xXgv5XI3PeQ== | ||
1574 | dependencies: | 1581 | dependencies: |
1575 | - "@typescript-eslint/types" "4.7.0" | 1582 | + "@typescript-eslint/types" "4.8.1" |
1576 | eslint-visitor-keys "^2.0.0" | 1583 | eslint-visitor-keys "^2.0.0" |
1577 | 1584 | ||
1578 | "@vue/compiler-core@*", "@vue/compiler-core@3.0.2", "@vue/compiler-core@^3.0.0-rc.5": | 1585 | "@vue/compiler-core@*", "@vue/compiler-core@3.0.2", "@vue/compiler-core@^3.0.0-rc.5": |
@@ -1725,7 +1732,7 @@ | @@ -1725,7 +1732,7 @@ | ||
1725 | vscode-languageserver-textdocument "^1.0.1" | 1732 | vscode-languageserver-textdocument "^1.0.1" |
1726 | vscode-uri "^2.1.2" | 1733 | vscode-uri "^2.1.2" |
1727 | 1734 | ||
1728 | -"@vueuse/core@^4.0.0-beta.41": | 1735 | +"@vueuse/core@4.0.0-beta.41": |
1729 | version "4.0.0-beta.41" | 1736 | version "4.0.0-beta.41" |
1730 | resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.0.0-beta.41.tgz#0058aed5ade75ae2866283498009ad5172cbae84" | 1737 | resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.0.0-beta.41.tgz#0058aed5ade75ae2866283498009ad5172cbae84" |
1731 | integrity sha512-CgUih65PzYScorm1S4F93e6XXm+qxA8GrRLOSB1kXaqtP6vXedwkBxKkNEYNACx4reL4VEHqM/BrM6FajXkQUg== | 1738 | integrity sha512-CgUih65PzYScorm1S4F93e6XXm+qxA8GrRLOSB1kXaqtP6vXedwkBxKkNEYNACx4reL4VEHqM/BrM6FajXkQUg== |
@@ -1850,10 +1857,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: | @@ -1850,10 +1857,10 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: | ||
1850 | dependencies: | 1857 | dependencies: |
1851 | color-convert "^2.0.1" | 1858 | color-convert "^2.0.1" |
1852 | 1859 | ||
1853 | -ant-design-vue@^2.0.0-rc.1: | ||
1854 | - version "2.0.0-rc.1" | ||
1855 | - resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-2.0.0-rc.1.tgz#2ef02475f3aa4c1474f2fe3cf44a52c34787be02" | ||
1856 | - integrity sha512-iKXkFtTHarvLHV7LWmYh6g/Cmkv+xK+vS621A1Qvg37Z6lCGg3K9BGAizmklAYzOTiPz0Ltt63eSiNqYMGh52g== | 1860 | +ant-design-vue@2.0.0-beta.15: |
1861 | + version "2.0.0-beta.15" | ||
1862 | + resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-2.0.0-beta.15.tgz#3c787dabb70a33885d0e751e58f9a5610ed06134" | ||
1863 | + integrity sha512-OxZy+ZYU3LauIL4Rhqwy441K/iD++Cit6upnQy5+LVUrX0PSObPqPqMWVpncbAmJJYTEz88gkvgGeYqBdzouWA== | ||
1857 | dependencies: | 1864 | dependencies: |
1858 | "@ant-design-vue/use" "^0.0.1-0" | 1865 | "@ant-design-vue/use" "^0.0.1-0" |
1859 | "@ant-design/icons-vue" "^5.1.5" | 1866 | "@ant-design/icons-vue" "^5.1.5" |
@@ -2301,11 +2308,6 @@ caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: | @@ -2301,11 +2308,6 @@ caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: | ||
2301 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001158.tgz#fce86d321369603c2bc855ee0e901a7f49f8310b" | 2308 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001158.tgz#fce86d321369603c2bc855ee0e901a7f49f8310b" |
2302 | integrity sha512-s5loVYY+yKpuVA3HyW8BarzrtJvwHReuzugQXlv1iR3LKSReoFXRm86mT6hT7PEF5RxW+XQZg+6nYjlywYzQ+g== | 2309 | integrity sha512-s5loVYY+yKpuVA3HyW8BarzrtJvwHReuzugQXlv1iR3LKSReoFXRm86mT6hT7PEF5RxW+XQZg+6nYjlywYzQ+g== |
2303 | 2310 | ||
2304 | -ccount@^1.0.0: | ||
2305 | - version "1.1.0" | ||
2306 | - resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" | ||
2307 | - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== | ||
2308 | - | ||
2309 | cfb@^1.1.4: | 2311 | cfb@^1.1.4: |
2310 | version "1.2.0" | 2312 | version "1.2.0" |
2311 | resolved "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz#6a4d0872b525ed60349e1ef51fb4b0bf73eca9a8" | 2313 | resolved "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz#6a4d0872b525ed60349e1ef51fb4b0bf73eca9a8" |
@@ -2349,11 +2351,6 @@ chalk@^3.0.0: | @@ -2349,11 +2351,6 @@ chalk@^3.0.0: | ||
2349 | ansi-styles "^4.1.0" | 2351 | ansi-styles "^4.1.0" |
2350 | supports-color "^7.1.0" | 2352 | supports-color "^7.1.0" |
2351 | 2353 | ||
2352 | -character-entities-html4@^1.0.0: | ||
2353 | - version "1.1.4" | ||
2354 | - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" | ||
2355 | - integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== | ||
2356 | - | ||
2357 | character-entities-legacy@^1.0.0: | 2354 | character-entities-legacy@^1.0.0: |
2358 | version "1.1.4" | 2355 | version "1.1.4" |
2359 | resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" | 2356 | resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" |
@@ -2522,11 +2519,6 @@ codepage@~1.14.0: | @@ -2522,11 +2519,6 @@ codepage@~1.14.0: | ||
2522 | commander "~2.14.1" | 2519 | commander "~2.14.1" |
2523 | exit-on-epipe "~1.0.1" | 2520 | exit-on-epipe "~1.0.1" |
2524 | 2521 | ||
2525 | -collapse-white-space@^1.0.2: | ||
2526 | - version "1.0.6" | ||
2527 | - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" | ||
2528 | - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== | ||
2529 | - | ||
2530 | collection-visit@^1.0.0: | 2522 | collection-visit@^1.0.0: |
2531 | version "1.0.0" | 2523 | version "1.0.0" |
2532 | resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" | 2524 | resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" |
@@ -3001,7 +2993,7 @@ debug@^3.1.0, debug@^3.1.1: | @@ -3001,7 +2993,7 @@ debug@^3.1.0, debug@^3.1.1: | ||
3001 | dependencies: | 2993 | dependencies: |
3002 | ms "^2.1.1" | 2994 | ms "^2.1.1" |
3003 | 2995 | ||
3004 | -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: | 2996 | +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: |
3005 | version "4.2.0" | 2997 | version "4.2.0" |
3006 | resolved "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" | 2998 | resolved "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" |
3007 | integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== | 2999 | integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== |
@@ -3263,9 +3255,9 @@ ejs@^2.6.1: | @@ -3263,9 +3255,9 @@ ejs@^2.6.1: | ||
3263 | integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== | 3255 | integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== |
3264 | 3256 | ||
3265 | electron-to-chromium@^1.3.591: | 3257 | electron-to-chromium@^1.3.591: |
3266 | - version "1.3.596" | ||
3267 | - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.596.tgz#c7ed98512c7ff36ddcbfed9e54e6355335c35257" | ||
3268 | - integrity sha512-nLO2Wd2yU42eSoNJVQKNf89CcEGqeFZd++QsnN2XIgje1s/19AgctfjLIbPORlvcCO8sYjLwX4iUgDdusOY8Sg== | 3258 | + version "1.3.598" |
3259 | + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.598.tgz#8f757018902ab6190323a8c5f6124d854893a35b" | ||
3260 | + integrity sha512-G5Ztk23/ubLYVPxPXnB1uu105uzIPd4xB/D8ld8x1GaSC9+vU9NZL16nYZya8H77/7CCKKN7dArzJL3pBs8N7A== | ||
3269 | 3261 | ||
3270 | emoji-regex@^7.0.1: | 3262 | emoji-regex@^7.0.1: |
3271 | version "7.0.3" | 3263 | version "7.0.3" |
@@ -3698,6 +3690,13 @@ file-entry-cache@^5.0.1: | @@ -3698,6 +3690,13 @@ file-entry-cache@^5.0.1: | ||
3698 | dependencies: | 3690 | dependencies: |
3699 | flat-cache "^2.0.1" | 3691 | flat-cache "^2.0.1" |
3700 | 3692 | ||
3693 | +file-entry-cache@^6.0.0: | ||
3694 | + version "6.0.0" | ||
3695 | + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" | ||
3696 | + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== | ||
3697 | + dependencies: | ||
3698 | + flat-cache "^3.0.4" | ||
3699 | + | ||
3701 | fill-range@^4.0.0: | 3700 | fill-range@^4.0.0: |
3702 | version "4.0.0" | 3701 | version "4.0.0" |
3703 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" | 3702 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" |
@@ -3792,11 +3791,24 @@ flat-cache@^2.0.1: | @@ -3792,11 +3791,24 @@ flat-cache@^2.0.1: | ||
3792 | rimraf "2.6.3" | 3791 | rimraf "2.6.3" |
3793 | write "1.0.3" | 3792 | write "1.0.3" |
3794 | 3793 | ||
3794 | +flat-cache@^3.0.4: | ||
3795 | + version "3.0.4" | ||
3796 | + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" | ||
3797 | + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== | ||
3798 | + dependencies: | ||
3799 | + flatted "^3.1.0" | ||
3800 | + rimraf "^3.0.2" | ||
3801 | + | ||
3795 | flatted@^2.0.0: | 3802 | flatted@^2.0.0: |
3796 | version "2.0.2" | 3803 | version "2.0.2" |
3797 | resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" | 3804 | resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" |
3798 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== | 3805 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== |
3799 | 3806 | ||
3807 | +flatted@^3.1.0: | ||
3808 | + version "3.1.0" | ||
3809 | + resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" | ||
3810 | + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== | ||
3811 | + | ||
3800 | follow-redirects@^1.0.0, follow-redirects@^1.10.0: | 3812 | follow-redirects@^1.0.0, follow-redirects@^1.10.0: |
3801 | version "1.13.0" | 3813 | version "1.13.0" |
3802 | resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" | 3814 | resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" |
@@ -4415,7 +4427,7 @@ inflight@^1.0.4: | @@ -4415,7 +4427,7 @@ inflight@^1.0.4: | ||
4415 | once "^1.3.0" | 4427 | once "^1.3.0" |
4416 | wrappy "1" | 4428 | wrappy "1" |
4417 | 4429 | ||
4418 | -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: | 4430 | +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: |
4419 | version "2.0.4" | 4431 | version "2.0.4" |
4420 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | 4432 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" |
4421 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | 4433 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== |
@@ -4483,11 +4495,6 @@ is-alphabetical@^1.0.0: | @@ -4483,11 +4495,6 @@ is-alphabetical@^1.0.0: | ||
4483 | resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" | 4495 | resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" |
4484 | integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== | 4496 | integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== |
4485 | 4497 | ||
4486 | -is-alphanumeric@^1.0.0: | ||
4487 | - version "1.0.0" | ||
4488 | - resolved "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" | ||
4489 | - integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= | ||
4490 | - | ||
4491 | is-alphanumerical@^1.0.0: | 4498 | is-alphanumerical@^1.0.0: |
4492 | version "1.0.4" | 4499 | version "1.0.4" |
4493 | resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" | 4500 | resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" |
@@ -4719,21 +4726,11 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: | @@ -4719,21 +4726,11 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: | ||
4719 | resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" | 4726 | resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" |
4720 | integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= | 4727 | integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= |
4721 | 4728 | ||
4722 | -is-whitespace-character@^1.0.0: | ||
4723 | - version "1.0.4" | ||
4724 | - resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" | ||
4725 | - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== | ||
4726 | - | ||
4727 | is-windows@^1.0.1, is-windows@^1.0.2: | 4729 | is-windows@^1.0.1, is-windows@^1.0.2: |
4728 | version "1.0.2" | 4730 | version "1.0.2" |
4729 | resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" | 4731 | resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" |
4730 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== | 4732 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== |
4731 | 4733 | ||
4732 | -is-word-character@^1.0.0: | ||
4733 | - version "1.0.4" | ||
4734 | - resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" | ||
4735 | - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== | ||
4736 | - | ||
4737 | is-wsl@^2.1.1: | 4734 | is-wsl@^2.1.1: |
4738 | version "2.2.0" | 4735 | version "2.2.0" |
4739 | resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" | 4736 | resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" |
@@ -4933,10 +4930,10 @@ klona@^2.0.4: | @@ -4933,10 +4930,10 @@ klona@^2.0.4: | ||
4933 | resolved "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" | 4930 | resolved "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" |
4934 | integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== | 4931 | integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== |
4935 | 4932 | ||
4936 | -known-css-properties@^0.19.0: | ||
4937 | - version "0.19.0" | ||
4938 | - resolved "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.19.0.tgz#5d92b7fa16c72d971bda9b7fe295bdf61836ee5b" | ||
4939 | - integrity sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA== | 4933 | +known-css-properties@^0.20.0: |
4934 | + version "0.20.0" | ||
4935 | + resolved "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.20.0.tgz#0570831661b47dd835293218381166090ff60e96" | ||
4936 | + integrity sha512-URvsjaA9ypfreqJ2/ylDr5MUERhJZ+DhguoWRr2xgS5C7aGCalXo+ewL+GixgKBfhT2vuL02nbIgNGqVWgTOYw== | ||
4940 | 4937 | ||
4941 | koa-bodyparser@^4.3.0: | 4938 | koa-bodyparser@^4.3.0: |
4942 | version "4.3.0" | 4939 | version "4.3.0" |
@@ -5227,7 +5224,7 @@ log-update@^4.0.0: | @@ -5227,7 +5224,7 @@ log-update@^4.0.0: | ||
5227 | slice-ansi "^4.0.0" | 5224 | slice-ansi "^4.0.0" |
5228 | wrap-ansi "^6.2.0" | 5225 | wrap-ansi "^6.2.0" |
5229 | 5226 | ||
5230 | -longest-streak@^2.0.1: | 5227 | +longest-streak@^2.0.0: |
5231 | version "2.0.4" | 5228 | version "2.0.4" |
5232 | resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" | 5229 | resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" |
5233 | integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== | 5230 | integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== |
@@ -5320,29 +5317,37 @@ map-visit@^1.0.0: | @@ -5320,29 +5317,37 @@ map-visit@^1.0.0: | ||
5320 | dependencies: | 5317 | dependencies: |
5321 | object-visit "^1.0.0" | 5318 | object-visit "^1.0.0" |
5322 | 5319 | ||
5323 | -markdown-escapes@^1.0.0: | ||
5324 | - version "1.0.4" | ||
5325 | - resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" | ||
5326 | - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== | ||
5327 | - | ||
5328 | -markdown-table@^2.0.0: | ||
5329 | - version "2.0.0" | ||
5330 | - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" | ||
5331 | - integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== | ||
5332 | - dependencies: | ||
5333 | - repeat-string "^1.0.0" | ||
5334 | - | ||
5335 | mathml-tag-names@^2.1.3: | 5320 | mathml-tag-names@^2.1.3: |
5336 | version "2.1.3" | 5321 | version "2.1.3" |
5337 | resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" | 5322 | resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" |
5338 | integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== | 5323 | integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== |
5339 | 5324 | ||
5340 | -mdast-util-compact@^2.0.0: | ||
5341 | - version "2.0.1" | ||
5342 | - resolved "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490" | ||
5343 | - integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA== | 5325 | +mdast-util-from-markdown@^0.8.0: |
5326 | + version "0.8.1" | ||
5327 | + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz#781371d493cac11212947226190270c15dc97116" | ||
5328 | + integrity sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w== | ||
5344 | dependencies: | 5329 | dependencies: |
5345 | - unist-util-visit "^2.0.0" | 5330 | + "@types/mdast" "^3.0.0" |
5331 | + mdast-util-to-string "^1.0.0" | ||
5332 | + micromark "~2.10.0" | ||
5333 | + parse-entities "^2.0.0" | ||
5334 | + | ||
5335 | +mdast-util-to-markdown@^0.5.0: | ||
5336 | + version "0.5.3" | ||
5337 | + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.5.3.tgz#e05c54a3ccd239bab63c48a1e5b5747f0dcd5aca" | ||
5338 | + integrity sha512-sr8q7fQJ1xoCqZSXW6dO/MYu2Md+a4Hfk9uO+XHCfiBhVM0EgWtfAV7BuN+ff6otUeu2xDyt1o7vhZGwOG3+BA== | ||
5339 | + dependencies: | ||
5340 | + "@types/unist" "^2.0.0" | ||
5341 | + longest-streak "^2.0.0" | ||
5342 | + mdast-util-to-string "^1.0.0" | ||
5343 | + parse-entities "^2.0.0" | ||
5344 | + repeat-string "^1.0.0" | ||
5345 | + zwitch "^1.0.0" | ||
5346 | + | ||
5347 | +mdast-util-to-string@^1.0.0: | ||
5348 | + version "1.1.0" | ||
5349 | + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" | ||
5350 | + integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== | ||
5346 | 5351 | ||
5347 | media-typer@0.3.0: | 5352 | media-typer@0.3.0: |
5348 | version "0.3.0" | 5353 | version "0.3.0" |
@@ -5380,23 +5385,6 @@ meow@^4.0.0: | @@ -5380,23 +5385,6 @@ meow@^4.0.0: | ||
5380 | redent "^2.0.0" | 5385 | redent "^2.0.0" |
5381 | trim-newlines "^2.0.0" | 5386 | trim-newlines "^2.0.0" |
5382 | 5387 | ||
5383 | -meow@^7.1.1: | ||
5384 | - version "7.1.1" | ||
5385 | - resolved "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" | ||
5386 | - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== | ||
5387 | - dependencies: | ||
5388 | - "@types/minimist" "^1.2.0" | ||
5389 | - camelcase-keys "^6.2.2" | ||
5390 | - decamelize-keys "^1.1.0" | ||
5391 | - hard-rejection "^2.1.0" | ||
5392 | - minimist-options "4.1.0" | ||
5393 | - normalize-package-data "^2.5.0" | ||
5394 | - read-pkg-up "^7.0.1" | ||
5395 | - redent "^3.0.0" | ||
5396 | - trim-newlines "^3.0.0" | ||
5397 | - type-fest "^0.13.1" | ||
5398 | - yargs-parser "^18.1.3" | ||
5399 | - | ||
5400 | meow@^8.0.0: | 5388 | meow@^8.0.0: |
5401 | version "8.0.0" | 5389 | version "8.0.0" |
5402 | resolved "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" | 5390 | resolved "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" |
@@ -5436,6 +5424,14 @@ merge@^1.2.1: | @@ -5436,6 +5424,14 @@ merge@^1.2.1: | ||
5436 | resolved "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" | 5424 | resolved "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" |
5437 | integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== | 5425 | integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== |
5438 | 5426 | ||
5427 | +micromark@~2.10.0: | ||
5428 | + version "2.10.1" | ||
5429 | + resolved "https://registry.npmjs.org/micromark/-/micromark-2.10.1.tgz#cd73f54e0656f10e633073db26b663a221a442a7" | ||
5430 | + integrity sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ== | ||
5431 | + dependencies: | ||
5432 | + debug "^4.0.0" | ||
5433 | + parse-entities "^2.0.0" | ||
5434 | + | ||
5439 | micromatch@^3.0.4: | 5435 | micromatch@^3.0.4: |
5440 | version "3.1.10" | 5436 | version "3.1.10" |
5441 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" | 5437 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" |
@@ -5658,9 +5654,9 @@ node-modules-regexp@^1.0.0: | @@ -5658,9 +5654,9 @@ node-modules-regexp@^1.0.0: | ||
5658 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= | 5654 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= |
5659 | 5655 | ||
5660 | node-releases@^1.1.66: | 5656 | node-releases@^1.1.66: |
5661 | - version "1.1.66" | ||
5662 | - resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" | ||
5663 | - integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== | 5657 | + version "1.1.67" |
5658 | + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" | ||
5659 | + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== | ||
5664 | 5660 | ||
5665 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: | 5661 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: |
5666 | version "2.5.0" | 5662 | version "2.5.0" |
@@ -6309,7 +6305,7 @@ postcss-value-parser@^4.1.0: | @@ -6309,7 +6305,7 @@ postcss-value-parser@^4.1.0: | ||
6309 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" | 6305 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" |
6310 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== | 6306 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== |
6311 | 6307 | ||
6312 | -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: | 6308 | +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: |
6313 | version "7.0.35" | 6309 | version "7.0.35" |
6314 | resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" | 6310 | resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" |
6315 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== | 6311 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== |
@@ -6626,63 +6622,35 @@ relateurl@^0.2.7: | @@ -6626,63 +6622,35 @@ relateurl@^0.2.7: | ||
6626 | resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" | 6622 | resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" |
6627 | integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= | 6623 | integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= |
6628 | 6624 | ||
6629 | -remark-parse@^8.0.0: | ||
6630 | - version "8.0.3" | ||
6631 | - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" | ||
6632 | - integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== | 6625 | +remark-parse@^9.0.0: |
6626 | + version "9.0.0" | ||
6627 | + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" | ||
6628 | + integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== | ||
6633 | dependencies: | 6629 | dependencies: |
6634 | - ccount "^1.0.0" | ||
6635 | - collapse-white-space "^1.0.2" | ||
6636 | - is-alphabetical "^1.0.0" | ||
6637 | - is-decimal "^1.0.0" | ||
6638 | - is-whitespace-character "^1.0.0" | ||
6639 | - is-word-character "^1.0.0" | ||
6640 | - markdown-escapes "^1.0.0" | ||
6641 | - parse-entities "^2.0.0" | ||
6642 | - repeat-string "^1.5.4" | ||
6643 | - state-toggle "^1.0.0" | ||
6644 | - trim "0.0.1" | ||
6645 | - trim-trailing-lines "^1.0.0" | ||
6646 | - unherit "^1.0.4" | ||
6647 | - unist-util-remove-position "^2.0.0" | ||
6648 | - vfile-location "^3.0.0" | ||
6649 | - xtend "^4.0.1" | ||
6650 | - | ||
6651 | -remark-stringify@^8.0.0: | ||
6652 | - version "8.1.1" | ||
6653 | - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" | ||
6654 | - integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A== | ||
6655 | - dependencies: | ||
6656 | - ccount "^1.0.0" | ||
6657 | - is-alphanumeric "^1.0.0" | ||
6658 | - is-decimal "^1.0.0" | ||
6659 | - is-whitespace-character "^1.0.0" | ||
6660 | - longest-streak "^2.0.1" | ||
6661 | - markdown-escapes "^1.0.0" | ||
6662 | - markdown-table "^2.0.0" | ||
6663 | - mdast-util-compact "^2.0.0" | ||
6664 | - parse-entities "^2.0.0" | ||
6665 | - repeat-string "^1.5.4" | ||
6666 | - state-toggle "^1.0.0" | ||
6667 | - stringify-entities "^3.0.0" | ||
6668 | - unherit "^1.0.4" | ||
6669 | - xtend "^4.0.1" | 6630 | + mdast-util-from-markdown "^0.8.0" |
6670 | 6631 | ||
6671 | -remark@^12.0.0: | ||
6672 | - version "12.0.1" | ||
6673 | - resolved "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz#f1ddf68db7be71ca2bad0a33cd3678b86b9c709f" | ||
6674 | - integrity sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw== | 6632 | +remark-stringify@^9.0.0: |
6633 | + version "9.0.0" | ||
6634 | + resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.0.tgz#8ba0c9e4167c42733832215a81550489759e3793" | ||
6635 | + integrity sha512-8x29DpTbVzEc6Dwb90qhxCtbZ6hmj3BxWWDpMhA+1WM4dOEGH5U5/GFe3Be5Hns5MvPSFAr1e2KSVtKZkK5nUw== | ||
6675 | dependencies: | 6636 | dependencies: |
6676 | - remark-parse "^8.0.0" | ||
6677 | - remark-stringify "^8.0.0" | ||
6678 | - unified "^9.0.0" | 6637 | + mdast-util-to-markdown "^0.5.0" |
6638 | + | ||
6639 | +remark@^13.0.0: | ||
6640 | + version "13.0.0" | ||
6641 | + resolved "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" | ||
6642 | + integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== | ||
6643 | + dependencies: | ||
6644 | + remark-parse "^9.0.0" | ||
6645 | + remark-stringify "^9.0.0" | ||
6646 | + unified "^9.1.0" | ||
6679 | 6647 | ||
6680 | repeat-element@^1.1.2: | 6648 | repeat-element@^1.1.2: |
6681 | version "1.1.3" | 6649 | version "1.1.3" |
6682 | resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" | 6650 | resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" |
6683 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== | 6651 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== |
6684 | 6652 | ||
6685 | -repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1: | 6653 | +repeat-string@^1.0.0, repeat-string@^1.6.1: |
6686 | version "1.6.1" | 6654 | version "1.6.1" |
6687 | resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" | 6655 | resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" |
6688 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= | 6656 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= |
@@ -7186,16 +7154,16 @@ source-map-url@^0.4.0: | @@ -7186,16 +7154,16 @@ source-map-url@^0.4.0: | ||
7186 | resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" | 7154 | resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" |
7187 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= | 7155 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= |
7188 | 7156 | ||
7157 | +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: | ||
7158 | + version "0.6.1" | ||
7159 | + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" | ||
7160 | + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== | ||
7161 | + | ||
7189 | source-map@^0.5.0, source-map@^0.5.6: | 7162 | source-map@^0.5.0, source-map@^0.5.6: |
7190 | version "0.5.7" | 7163 | version "0.5.7" |
7191 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" | 7164 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" |
7192 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= | 7165 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= |
7193 | 7166 | ||
7194 | -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: | ||
7195 | - version "0.6.1" | ||
7196 | - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" | ||
7197 | - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== | ||
7198 | - | ||
7199 | source-map@^0.7.3, source-map@~0.7.2: | 7167 | source-map@^0.7.3, source-map@~0.7.2: |
7200 | version "0.7.3" | 7168 | version "0.7.3" |
7201 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" | 7169 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" |
@@ -7270,11 +7238,6 @@ ssf@~0.11.2: | @@ -7270,11 +7238,6 @@ ssf@~0.11.2: | ||
7270 | dependencies: | 7238 | dependencies: |
7271 | frac "~1.1.2" | 7239 | frac "~1.1.2" |
7272 | 7240 | ||
7273 | -state-toggle@^1.0.0: | ||
7274 | - version "1.0.3" | ||
7275 | - resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" | ||
7276 | - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== | ||
7277 | - | ||
7278 | static-extend@^0.1.1: | 7241 | static-extend@^0.1.1: |
7279 | version "0.1.2" | 7242 | version "0.1.2" |
7280 | resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" | 7243 | resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" |
@@ -7343,15 +7306,6 @@ string_decoder@~1.1.1: | @@ -7343,15 +7306,6 @@ string_decoder@~1.1.1: | ||
7343 | dependencies: | 7306 | dependencies: |
7344 | safe-buffer "~5.1.0" | 7307 | safe-buffer "~5.1.0" |
7345 | 7308 | ||
7346 | -stringify-entities@^3.0.0: | ||
7347 | - version "3.1.0" | ||
7348 | - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" | ||
7349 | - integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== | ||
7350 | - dependencies: | ||
7351 | - character-entities-html4 "^1.0.0" | ||
7352 | - character-entities-legacy "^1.0.0" | ||
7353 | - xtend "^4.0.0" | ||
7354 | - | ||
7355 | stringify-object@^3.3.0: | 7309 | stringify-object@^3.3.0: |
7356 | version "3.3.0" | 7310 | version "3.3.0" |
7357 | resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" | 7311 | resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" |
@@ -7472,22 +7426,22 @@ stylelint-order@^4.1.0: | @@ -7472,22 +7426,22 @@ stylelint-order@^4.1.0: | ||
7472 | postcss "^7.0.31" | 7426 | postcss "^7.0.31" |
7473 | postcss-sorting "^5.0.1" | 7427 | postcss-sorting "^5.0.1" |
7474 | 7428 | ||
7475 | -stylelint@^13.7.2: | ||
7476 | - version "13.7.2" | ||
7477 | - resolved "https://registry.npmjs.org/stylelint/-/stylelint-13.7.2.tgz#6f3c58eea4077680ed0ceb0d064b22b100970486" | ||
7478 | - integrity sha512-mmieorkfmO+ZA6CNDu1ic9qpt4tFvH2QUB7vqXgrMVHe5ENU69q7YDq0YUg/UHLuCsZOWhUAvcMcLzLDIERzSg== | 7429 | +stylelint@^13.8.0: |
7430 | + version "13.8.0" | ||
7431 | + resolved "https://registry.npmjs.org/stylelint/-/stylelint-13.8.0.tgz#446765dbe25e3617f819a0165956faf2563ddc23" | ||
7432 | + integrity sha512-iHH3dv3UI23SLDrH4zMQDjLT9/dDIz/IpoFeuNxZmEx86KtfpjDOscxLTFioQyv+2vQjPlRZnK0UoJtfxLICXQ== | ||
7479 | dependencies: | 7433 | dependencies: |
7480 | "@stylelint/postcss-css-in-js" "^0.37.2" | 7434 | "@stylelint/postcss-css-in-js" "^0.37.2" |
7481 | - "@stylelint/postcss-markdown" "^0.36.1" | 7435 | + "@stylelint/postcss-markdown" "^0.36.2" |
7482 | autoprefixer "^9.8.6" | 7436 | autoprefixer "^9.8.6" |
7483 | balanced-match "^1.0.0" | 7437 | balanced-match "^1.0.0" |
7484 | chalk "^4.1.0" | 7438 | chalk "^4.1.0" |
7485 | cosmiconfig "^7.0.0" | 7439 | cosmiconfig "^7.0.0" |
7486 | - debug "^4.1.1" | 7440 | + debug "^4.2.0" |
7487 | execall "^2.0.0" | 7441 | execall "^2.0.0" |
7488 | fast-glob "^3.2.4" | 7442 | fast-glob "^3.2.4" |
7489 | fastest-levenshtein "^1.0.12" | 7443 | fastest-levenshtein "^1.0.12" |
7490 | - file-entry-cache "^5.0.1" | 7444 | + file-entry-cache "^6.0.0" |
7491 | get-stdin "^8.0.0" | 7445 | get-stdin "^8.0.0" |
7492 | global-modules "^2.0.0" | 7446 | global-modules "^2.0.0" |
7493 | globby "^11.0.1" | 7447 | globby "^11.0.1" |
@@ -7496,14 +7450,14 @@ stylelint@^13.7.2: | @@ -7496,14 +7450,14 @@ stylelint@^13.7.2: | ||
7496 | ignore "^5.1.8" | 7450 | ignore "^5.1.8" |
7497 | import-lazy "^4.0.0" | 7451 | import-lazy "^4.0.0" |
7498 | imurmurhash "^0.1.4" | 7452 | imurmurhash "^0.1.4" |
7499 | - known-css-properties "^0.19.0" | 7453 | + known-css-properties "^0.20.0" |
7500 | lodash "^4.17.20" | 7454 | lodash "^4.17.20" |
7501 | log-symbols "^4.0.0" | 7455 | log-symbols "^4.0.0" |
7502 | mathml-tag-names "^2.1.3" | 7456 | mathml-tag-names "^2.1.3" |
7503 | - meow "^7.1.1" | 7457 | + meow "^8.0.0" |
7504 | micromatch "^4.0.2" | 7458 | micromatch "^4.0.2" |
7505 | normalize-selector "^0.2.0" | 7459 | normalize-selector "^0.2.0" |
7506 | - postcss "^7.0.32" | 7460 | + postcss "^7.0.35" |
7507 | postcss-html "^0.36.0" | 7461 | postcss-html "^0.36.0" |
7508 | postcss-less "^3.1.4" | 7462 | postcss-less "^3.1.4" |
7509 | postcss-media-query-parser "^0.2.3" | 7463 | postcss-media-query-parser "^0.2.3" |
@@ -7511,7 +7465,7 @@ stylelint@^13.7.2: | @@ -7511,7 +7465,7 @@ stylelint@^13.7.2: | ||
7511 | postcss-safe-parser "^4.0.2" | 7465 | postcss-safe-parser "^4.0.2" |
7512 | postcss-sass "^0.4.4" | 7466 | postcss-sass "^0.4.4" |
7513 | postcss-scss "^2.1.1" | 7467 | postcss-scss "^2.1.1" |
7514 | - postcss-selector-parser "^6.0.2" | 7468 | + postcss-selector-parser "^6.0.4" |
7515 | postcss-syntax "^0.36.2" | 7469 | postcss-syntax "^0.36.2" |
7516 | postcss-value-parser "^4.1.0" | 7470 | postcss-value-parser "^4.1.0" |
7517 | resolve-from "^5.0.0" | 7471 | resolve-from "^5.0.0" |
@@ -7522,8 +7476,8 @@ stylelint@^13.7.2: | @@ -7522,8 +7476,8 @@ stylelint@^13.7.2: | ||
7522 | style-search "^0.1.0" | 7476 | style-search "^0.1.0" |
7523 | sugarss "^2.0.0" | 7477 | sugarss "^2.0.0" |
7524 | svg-tags "^1.0.0" | 7478 | svg-tags "^1.0.0" |
7525 | - table "^6.0.1" | ||
7526 | - v8-compile-cache "^2.1.1" | 7479 | + table "^6.0.3" |
7480 | + v8-compile-cache "^2.2.0" | ||
7527 | write-file-atomic "^3.0.3" | 7481 | write-file-atomic "^3.0.3" |
7528 | 7482 | ||
7529 | sugarss@^2.0.0: | 7483 | sugarss@^2.0.0: |
@@ -7631,7 +7585,7 @@ table@^5.2.3: | @@ -7631,7 +7585,7 @@ table@^5.2.3: | ||
7631 | slice-ansi "^2.1.0" | 7585 | slice-ansi "^2.1.0" |
7632 | string-width "^3.0.0" | 7586 | string-width "^3.0.0" |
7633 | 7587 | ||
7634 | -table@^6.0.1: | 7588 | +table@^6.0.3: |
7635 | version "6.0.3" | 7589 | version "6.0.3" |
7636 | resolved "https://registry.npmjs.org/table/-/table-6.0.3.tgz#e5b8a834e37e27ad06de2e0fda42b55cfd8a0123" | 7590 | resolved "https://registry.npmjs.org/table/-/table-6.0.3.tgz#e5b8a834e37e27ad06de2e0fda42b55cfd8a0123" |
7637 | integrity sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw== | 7591 | integrity sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw== |
@@ -7687,9 +7641,9 @@ terser@^4.6.2, terser@^4.6.3, terser@^4.7.0: | @@ -7687,9 +7641,9 @@ terser@^4.6.2, terser@^4.6.3, terser@^4.7.0: | ||
7687 | source-map-support "~0.5.12" | 7641 | source-map-support "~0.5.12" |
7688 | 7642 | ||
7689 | terser@^5.0.0: | 7643 | terser@^5.0.0: |
7690 | - version "5.3.8" | ||
7691 | - resolved "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz#991ae8ba21a3d990579b54aa9af11586197a75dd" | ||
7692 | - integrity sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ== | 7644 | + version "5.4.0" |
7645 | + resolved "https://registry.npmjs.org/terser/-/terser-5.4.0.tgz#9815c0839072d5c894e22c6fc508fbe9f5e7d7e8" | ||
7646 | + integrity sha512-3dZunFLbCJis9TAF2VnX+VrQLctRUmt1p3W2kCsJuZE4ZgWqh//+1MZ62EanewrqKoUf4zIaDGZAvml4UDc0OQ== | ||
7693 | dependencies: | 7647 | dependencies: |
7694 | commander "^2.20.0" | 7648 | commander "^2.20.0" |
7695 | source-map "~0.7.2" | 7649 | source-map "~0.7.2" |
@@ -7813,16 +7767,6 @@ trim-off-newlines@^1.0.0: | @@ -7813,16 +7767,6 @@ trim-off-newlines@^1.0.0: | ||
7813 | resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" | 7767 | resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" |
7814 | integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= | 7768 | integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= |
7815 | 7769 | ||
7816 | -trim-trailing-lines@^1.0.0: | ||
7817 | - version "1.1.4" | ||
7818 | - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" | ||
7819 | - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== | ||
7820 | - | ||
7821 | -trim@0.0.1: | ||
7822 | - version "0.0.1" | ||
7823 | - resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" | ||
7824 | - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= | ||
7825 | - | ||
7826 | trough@^1.0.0: | 7770 | trough@^1.0.0: |
7827 | version "1.0.5" | 7771 | version "1.0.5" |
7828 | resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" | 7772 | resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" |
@@ -7868,11 +7812,6 @@ type-fest@^0.11.0: | @@ -7868,11 +7812,6 @@ type-fest@^0.11.0: | ||
7868 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" | 7812 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" |
7869 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== | 7813 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== |
7870 | 7814 | ||
7871 | -type-fest@^0.13.1: | ||
7872 | - version "0.13.1" | ||
7873 | - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" | ||
7874 | - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== | ||
7875 | - | ||
7876 | type-fest@^0.18.0: | 7815 | type-fest@^0.18.0: |
7877 | version "0.18.1" | 7816 | version "0.18.1" |
7878 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" | 7817 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" |
@@ -7923,14 +7862,6 @@ uglify-js@^3.1.4: | @@ -7923,14 +7862,6 @@ uglify-js@^3.1.4: | ||
7923 | resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" | 7862 | resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" |
7924 | integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== | 7863 | integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== |
7925 | 7864 | ||
7926 | -unherit@^1.0.4: | ||
7927 | - version "1.1.3" | ||
7928 | - resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" | ||
7929 | - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== | ||
7930 | - dependencies: | ||
7931 | - inherits "^2.0.0" | ||
7932 | - xtend "^4.0.0" | ||
7933 | - | ||
7934 | unicode-canonical-property-names-ecmascript@^1.0.4: | 7865 | unicode-canonical-property-names-ecmascript@^1.0.4: |
7935 | version "1.0.4" | 7866 | version "1.0.4" |
7936 | resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" | 7867 | resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" |
@@ -7954,7 +7885,7 @@ unicode-property-aliases-ecmascript@^1.0.4: | @@ -7954,7 +7885,7 @@ unicode-property-aliases-ecmascript@^1.0.4: | ||
7954 | resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" | 7885 | resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" |
7955 | integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== | 7886 | integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== |
7956 | 7887 | ||
7957 | -unified@^9.0.0: | 7888 | +unified@^9.1.0: |
7958 | version "9.2.0" | 7889 | version "9.2.0" |
7959 | resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" | 7890 | resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" |
7960 | integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== | 7891 | integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== |
@@ -7988,7 +7919,7 @@ unique-string@^1.0.0: | @@ -7988,7 +7919,7 @@ unique-string@^1.0.0: | ||
7988 | dependencies: | 7919 | dependencies: |
7989 | crypto-random-string "^1.0.0" | 7920 | crypto-random-string "^1.0.0" |
7990 | 7921 | ||
7991 | -unist-util-find-all-after@^3.0.1: | 7922 | +unist-util-find-all-after@^3.0.2: |
7992 | version "3.0.2" | 7923 | version "3.0.2" |
7993 | resolved "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" | 7924 | resolved "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" |
7994 | integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== | 7925 | integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== |
@@ -8000,13 +7931,6 @@ unist-util-is@^4.0.0: | @@ -8000,13 +7931,6 @@ unist-util-is@^4.0.0: | ||
8000 | resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz#e8b44db55fc20c43752b3346c116344d45d7c91d" | 7931 | resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz#e8b44db55fc20c43752b3346c116344d45d7c91d" |
8001 | integrity sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw== | 7932 | integrity sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw== |
8002 | 7933 | ||
8003 | -unist-util-remove-position@^2.0.0: | ||
8004 | - version "2.0.1" | ||
8005 | - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" | ||
8006 | - integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== | ||
8007 | - dependencies: | ||
8008 | - unist-util-visit "^2.0.0" | ||
8009 | - | ||
8010 | unist-util-stringify-position@^2.0.0: | 7934 | unist-util-stringify-position@^2.0.0: |
8011 | version "2.0.3" | 7935 | version "2.0.3" |
8012 | resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" | 7936 | resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" |
@@ -8014,23 +7938,6 @@ unist-util-stringify-position@^2.0.0: | @@ -8014,23 +7938,6 @@ unist-util-stringify-position@^2.0.0: | ||
8014 | dependencies: | 7938 | dependencies: |
8015 | "@types/unist" "^2.0.2" | 7939 | "@types/unist" "^2.0.2" |
8016 | 7940 | ||
8017 | -unist-util-visit-parents@^3.0.0: | ||
8018 | - version "3.1.1" | ||
8019 | - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" | ||
8020 | - integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== | ||
8021 | - dependencies: | ||
8022 | - "@types/unist" "^2.0.0" | ||
8023 | - unist-util-is "^4.0.0" | ||
8024 | - | ||
8025 | -unist-util-visit@^2.0.0: | ||
8026 | - version "2.0.3" | ||
8027 | - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" | ||
8028 | - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== | ||
8029 | - dependencies: | ||
8030 | - "@types/unist" "^2.0.0" | ||
8031 | - unist-util-is "^4.0.0" | ||
8032 | - unist-util-visit-parents "^3.0.0" | ||
8033 | - | ||
8034 | universalify@^0.1.0: | 7941 | universalify@^0.1.0: |
8035 | version "0.1.2" | 7942 | version "0.1.2" |
8036 | resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" | 7943 | resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" |
@@ -8091,7 +7998,7 @@ uuid@^3.3.2: | @@ -8091,7 +7998,7 @@ uuid@^3.3.2: | ||
8091 | resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" | 7998 | resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" |
8092 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== | 7999 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== |
8093 | 8000 | ||
8094 | -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: | 8001 | +v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: |
8095 | version "2.2.0" | 8002 | version "2.2.0" |
8096 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" | 8003 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" |
8097 | integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== | 8004 | integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== |
@@ -8116,11 +8023,6 @@ vditor@^3.6.2: | @@ -8116,11 +8023,6 @@ vditor@^3.6.2: | ||
8116 | dependencies: | 8023 | dependencies: |
8117 | diff-match-patch "^1.0.5" | 8024 | diff-match-patch "^1.0.5" |
8118 | 8025 | ||
8119 | -vfile-location@^3.0.0: | ||
8120 | - version "3.2.0" | ||
8121 | - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" | ||
8122 | - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== | ||
8123 | - | ||
8124 | vfile-message@^2.0.0: | 8026 | vfile-message@^2.0.0: |
8125 | version "2.0.4" | 8027 | version "2.0.4" |
8126 | resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" | 8028 | resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" |
@@ -8265,12 +8167,12 @@ vue-eslint-parser@^7.1.1: | @@ -8265,12 +8167,12 @@ vue-eslint-parser@^7.1.1: | ||
8265 | esquery "^1.0.1" | 8167 | esquery "^1.0.1" |
8266 | lodash "^4.17.15" | 8168 | lodash "^4.17.15" |
8267 | 8169 | ||
8268 | -vue-i18n@^9.0.0-beta.6: | ||
8269 | - version "9.0.0-beta.6" | ||
8270 | - resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.0.0-beta.6.tgz#ea89cee5ade18f2a2d0f2ead0ac4a6bedccade6e" | ||
8271 | - integrity sha512-6WWNumUYOnoFi50szUxhxNjTntWlL3SSb6DCoDQW3aKIGK6xTKj9bLI1gnSPfFn54dTYlJtzxEHuY8C/kvm7kg== | 8170 | +vue-i18n@^9.0.0-beta.7: |
8171 | + version "9.0.0-beta.7" | ||
8172 | + resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.0.0-beta.7.tgz#f6fad5b4be218018aab4797f80dd2a95ee5236f9" | ||
8173 | + integrity sha512-hFl0XnV91P/4UyWvHYvdYxuk3GRnKIW9zXAm6hrUU4mOIwpqchi7jVQva2TJLr52Mpsu4zYXmzL1h5pgrKmCfQ== | ||
8272 | dependencies: | 8174 | dependencies: |
8273 | - source-map "^0.6.1" | 8175 | + source-map "0.6.1" |
8274 | 8176 | ||
8275 | vue-router@^4.0.0-rc.3: | 8177 | vue-router@^4.0.0-rc.3: |
8276 | version "4.0.0-rc.3" | 8178 | version "4.0.0-rc.3" |
@@ -8571,7 +8473,7 @@ xlsx@^0.16.8: | @@ -8571,7 +8473,7 @@ xlsx@^0.16.8: | ||
8571 | wmf "~1.0.1" | 8473 | wmf "~1.0.1" |
8572 | word "~0.3.0" | 8474 | word "~0.3.0" |
8573 | 8475 | ||
8574 | -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: | 8476 | +xtend@~4.0.1: |
8575 | version "4.0.2" | 8477 | version "4.0.2" |
8576 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" | 8478 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" |
8577 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== | 8479 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== |
@@ -8609,7 +8511,7 @@ yargs-parser@^13.1.2: | @@ -8609,7 +8511,7 @@ yargs-parser@^13.1.2: | ||
8609 | camelcase "^5.0.0" | 8511 | camelcase "^5.0.0" |
8610 | decamelize "^1.2.0" | 8512 | decamelize "^1.2.0" |
8611 | 8513 | ||
8612 | -yargs-parser@^18.1.2, yargs-parser@^18.1.3: | 8514 | +yargs-parser@^18.1.2: |
8613 | version "18.1.3" | 8515 | version "18.1.3" |
8614 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" | 8516 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" |
8615 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== | 8517 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== |
@@ -8683,6 +8585,11 @@ zrender@4.3.2: | @@ -8683,6 +8585,11 @@ zrender@4.3.2: | ||
8683 | resolved "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz#ec7432f9415c82c73584b6b7b8c47e1b016209c6" | 8585 | resolved "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz#ec7432f9415c82c73584b6b7b8c47e1b016209c6" |
8684 | integrity sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g== | 8586 | integrity sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g== |
8685 | 8587 | ||
8588 | +zwitch@^1.0.0: | ||
8589 | + version "1.0.5" | ||
8590 | + resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" | ||
8591 | + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== | ||
8592 | + | ||
8686 | zxcvbn@^4.4.2: | 8593 | zxcvbn@^4.4.2: |
8687 | version "4.4.2" | 8594 | version "4.4.2" |
8688 | resolved "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz#28ec17cf09743edcab056ddd8b1b06262cc73c30" | 8595 | resolved "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.2.tgz#28ec17cf09743edcab056ddd8b1b06262cc73c30" |